* [bug report] media: atomisp: place all gpio parsing together
@ 2020-07-21 10:49 dan.carpenter
0 siblings, 0 replies; only message in thread
From: dan.carpenter @ 2020-07-21 10:49 UTC (permalink / raw)
To: mchehab+huawei; +Cc: Sakari Ailus
Hello Mauro Carvalho Chehab,
This is a semi-automatic email about new static checker warnings.
The patch 79317baaaea2: "media: atomisp: place all gpio parsing
together" from Jun 21, 2020, leads to the following Smatch complaint:
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c:830 gmin_v1p8_ctrl()
warn: variable dereferenced before check 'gs' (see line 820)
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
814 static int gmin_v1p8_ctrl(struct v4l2_subdev *subdev, int on)
815 {
816 struct gmin_subdev *gs = find_gmin_subdev(subdev);
817 int ret;
818 int value;
819
820 if (gs->v1p8_gpio >= 0) {
^^
New dereference.
821 pr_info("atomisp_gmin_platform: 1.8v power on GPIO %d\n",
822 gs->v1p8_gpio);
823 ret = gpio_request(gs->v1p8_gpio, "camera_v1p8_en");
824 if (!ret)
825 ret = gpio_direction_output(gs->v1p8_gpio, 0);
826 if (ret)
827 pr_err("V1P8 GPIO initialization failed\n");
828 }
829
830 if (!gs || gs->v1p8_on == on)
^^
Too late.
831 return 0;
832 gs->v1p8_on = on;
833
834 if (gs->v1p8_gpio >= 0)
835 gpio_set_value(gs->v1p8_gpio, on);
Could we combine this with the first "if (gs->v1p8_gpio >= 0) {"
condition? This code is looking pretty subtle so maybe not.
836
837 if (gs->v1p8_reg) {
838 regulator_set_voltage(gs->v1p8_reg, 1800000, 1800000);
839 if (on)
840 return regulator_enable(gs->v1p8_reg);
841 else
842 return regulator_disable(gs->v1p8_reg);
843 }
844
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-07-21 10:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-21 10:49 [bug report] media: atomisp: place all gpio parsing together dan.carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).