[bug report] gpio: nomadik: support mobileye,eyeq5-gpio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Théo Lebrun,

Commit 3c30cc26df0a ("gpio: nomadik: support mobileye,eyeq5-gpio")
from Feb 28, 2024 (linux-next), leads to the following Smatch static
checker warning:

	drivers/pinctrl/nomadik/pinctrl-nomadik.c:1233 nmk_pinctrl_probe()
	error: 'nmk_chip' dereferencing possible ERR_PTR()

drivers/pinctrl/nomadik/pinctrl-nomadik.c
    1211         /*
    1212          * Since we depend on the GPIO chips to provide clock and register base
    1213          * for the pin control operations, make sure that we have these
    1214          * populated before we continue. Follow the phandles to instantiate
    1215          * them. The GPIO portion of the actual hardware may be probed before
    1216          * or after this point: it shouldn't matter as the APIs are orthogonal.
    1217          */
    1218         for (i = 0; i < NMK_MAX_BANKS; i++) {
    1219                 struct fwnode_handle *gpio_fwnode;
    1220                 struct nmk_gpio_chip *nmk_chip;
    1221 
    1222                 gpio_fwnode = fwnode_find_reference(fwnode, "nomadik-gpio-chips", i);
    1223                 if (IS_ERR(gpio_fwnode))
    1224                         continue;
    1225 
    1226                 dev_info(&pdev->dev, "populate NMK GPIO %d \"%pfwP\"\n", i, gpio_fwnode);
    1227                 nmk_chip = nmk_gpio_populate_chip(gpio_fwnode, pdev);
    1228                 if (IS_ERR(nmk_chip))
                                    ^^^^^^^^
Error pointer.

    1229                         dev_err(&pdev->dev,
    1230                                 "could not populate nmk chip struct - continue anyway\n");
    1231                 fwnode_handle_put(gpio_fwnode);
    1232                 /* We are NOT compatible with mobileye,eyeq5-gpio. */
--> 1233                 BUG_ON(nmk_chip->is_mobileye_soc);
                                ^^^^^^^^^^^^^^^^^^^^^^^^^
Unchecked dereference

    1234         }
    1235 
    1236         prcm_fwnode = fwnode_find_reference(fwnode, "prcm", 0);

regards,
dan carpenter




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux