You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
From 87068309300c707d659ce79232eae827604804a4 Mon Sep 17 00:00:00 2001
|
|
From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
|
Date: Fri, 20 Mar 2020 12:01:23 +0100
|
|
Subject: [PATCH] staging: mt7621-pci: be sure gpio descriptor is null on fails
|
|
|
|
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 | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
--- 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
|
|
|
|
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;
|