]> git.baikalelectronics.ru Git - kernel.git/commitdiff
staging: mt7621-pci: be sure gpio descriptor is null on fails
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Fri, 20 Mar 2020 11:01:23 +0000 (12:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 14:10:51 +0000 (15:10 +0100)
Function 'devm_gpiod_get_index_optional' returns NULL if the
descriptor is invalid and the error associated for the error
pointer is ENOENT. Sometimes if the pin is just assigned the
error associated for the pointer might not be ENOENT but other.
In order to avoid weirds behaviours if this happen set descriptor
to NULL in the driver port structure.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Link: https://lore.kernel.org/r/20200320110123.9907-6-sergio.paracuellos@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-pci/pci-mt7621.c

index bc410c3d9afc9b6d1d7510f5dc6cd9b9076719c1..739504f7e4fc20115efddf121e3564faaaf46572 100644 (file)
@@ -363,8 +363,10 @@ static int mt7621_pcie_parse_port(struct mt7621_pcie *pcie,
 
        port->gpio_rst = devm_gpiod_get_index_optional(dev, "reset", slot,
                                                       GPIOD_OUT_LOW);
-       if (IS_ERR(port->gpio_rst))
+       if (IS_ERR(port->gpio_rst)) {
                dev_notice(dev, "Failed to get GPIO for PCIe%d\n", slot);
+               port->gpio_rst = NULL;
+       }
 
        port->slot = slot;
        port->pcie = pcie;