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@xxxxxxxxx> --- drivers/staging/mt7621-pci/pci-mt7621.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/mt7621-pci/pci-mt7621.c b/drivers/staging/mt7621-pci/pci-mt7621.c index bc410c3d9afc..739504f7e4fc 100644 --- a/drivers/staging/mt7621-pci/pci-mt7621.c +++ b/drivers/staging/mt7621-pci/pci-mt7621.c @@ -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; -- 2.25.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel