diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2024-02-19 17:04:57 +0200 |
|---|---|---|
| committer | Sasha Levin <sashal@kernel.org> | 2024-03-26 18:22:02 -0400 |
| commit | a4d503856a9138b68569ae9ae05b5e9babd30509 (patch) | |
| tree | 794ddf0227ec53f3c43ed3a83fe8448b1b2ed122 | |
| parent | 864f17c1347aead7d5f2142cca8661972bb2433e (diff) | |
| download | linux-a4d503856a9138b68569ae9ae05b5e9babd30509.tar.gz linux-a4d503856a9138b68569ae9ae05b5e9babd30509.tar.bz2 linux-a4d503856a9138b68569ae9ae05b5e9babd30509.zip | |
serial: 8250_exar: Don't remove GPIO device on suspend
[ Upstream commit 73b5a5c00be39e23b194bad10e1ea8bb73eee176 ]
It seems a copy&paste mistake that suspend callback removes the GPIO
device. There is no counterpart of this action, means once suspended
there is no more GPIO device available untile full unbind-bind cycle
is performed. Remove suspicious GPIO device removal in suspend.
Fixes: d0aeaa83f0b0 ("serial: exar: split out the exar code from 8250_pci")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240219150627.2101198-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | drivers/tty/serial/8250/8250_exar.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c index 6e33c74e569f..7c28d2752a4c 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -688,6 +688,7 @@ static void exar_pci_remove(struct pci_dev *pcidev) for (i = 0; i < priv->nr; i++) serial8250_unregister_port(priv->line[i]); + /* Ensure that every init quirk is properly torn down */ if (priv->board->exit) priv->board->exit(pcidev); } @@ -702,10 +703,6 @@ static int __maybe_unused exar_suspend(struct device *dev) if (priv->line[i] >= 0) serial8250_suspend_port(priv->line[i]); - /* Ensure that every init quirk is properly torn down */ - if (priv->board->exit) - priv->board->exit(pcidev); - return 0; } |
