From ff9d2b1097aa0cc1342aa784995ee70e143ac0fb Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 12 Aug 2023 20:56:25 +0200 Subject: [PATCH] 6.4-stable patches added patches: gpio-sim-mark-the-gpio-chip-as-a-one-that-can-sleep.patch gpio-ws16c48-fix-off-by-one-error-in-ws16c48-resource-region-extent.patch --- ...he-gpio-chip-as-a-one-that-can-sleep.patch | 32 ++++++++++++++++ ...or-in-ws16c48-resource-region-extent.patch | 38 +++++++++++++++++++ queue-6.4/series | 2 + 3 files changed, 72 insertions(+) create mode 100644 queue-6.4/gpio-sim-mark-the-gpio-chip-as-a-one-that-can-sleep.patch create mode 100644 queue-6.4/gpio-ws16c48-fix-off-by-one-error-in-ws16c48-resource-region-extent.patch diff --git a/queue-6.4/gpio-sim-mark-the-gpio-chip-as-a-one-that-can-sleep.patch b/queue-6.4/gpio-sim-mark-the-gpio-chip-as-a-one-that-can-sleep.patch new file mode 100644 index 00000000000..9dd2cf4d941 --- /dev/null +++ b/queue-6.4/gpio-sim-mark-the-gpio-chip-as-a-one-that-can-sleep.patch @@ -0,0 +1,32 @@ +From 5a78d5db9c90c9dc84212f40a5f2687b7cafc8ec Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Tue, 1 Aug 2023 21:09:51 +0200 +Subject: gpio: sim: mark the GPIO chip as a one that can sleep + +From: Bartosz Golaszewski + +commit 5a78d5db9c90c9dc84212f40a5f2687b7cafc8ec upstream. + +Simulated chips use a mutex for synchronization in driver callbacks so +they must not be called from interrupt context. Set the can_sleep field +of the GPIO chip to true to force users to only use threaded irqs. + +Fixes: cb8c474e79be ("gpio: sim: new testing module") +Signed-off-by: Bartosz Golaszewski +Reviewed-by: Andy Shevchenko +Reviewed-by: Linus Walleij +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpio/gpio-sim.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/gpio/gpio-sim.c ++++ b/drivers/gpio/gpio-sim.c +@@ -429,6 +429,7 @@ static int gpio_sim_add_bank(struct fwno + gc->set_config = gpio_sim_set_config; + gc->to_irq = gpio_sim_to_irq; + gc->free = gpio_sim_free; ++ gc->can_sleep = true; + + ret = devm_gpiochip_add_data(dev, gc, chip); + if (ret) diff --git a/queue-6.4/gpio-ws16c48-fix-off-by-one-error-in-ws16c48-resource-region-extent.patch b/queue-6.4/gpio-ws16c48-fix-off-by-one-error-in-ws16c48-resource-region-extent.patch new file mode 100644 index 00000000000..36f001f626a --- /dev/null +++ b/queue-6.4/gpio-ws16c48-fix-off-by-one-error-in-ws16c48-resource-region-extent.patch @@ -0,0 +1,38 @@ +From 33f83d13ded164cd49ce2a3bd2770115abc64e6f Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray +Date: Thu, 10 Aug 2023 18:00:44 -0400 +Subject: gpio: ws16c48: Fix off-by-one error in WS16C48 resource region extent + +From: William Breathitt Gray + +commit 33f83d13ded164cd49ce2a3bd2770115abc64e6f upstream. + +The WinSystems WS16C48 I/O address region spans offsets 0x0 through 0xA, +which is a total of 11 bytes. Fix the WS16C48_EXTENT define to the +correct value of 11 so that access to necessary device registers is +properly requested in the ws16c48_probe() callback by the +devm_request_region() function call. + +Fixes: 2c05a0f29f41 ("gpio: ws16c48: Implement and utilize register structures") +Cc: stable@vger.kernel.org +Cc: Paul Demetrotion +Signed-off-by: William Breathitt Gray +Reviewed-by: Andy Shevchenko +Reviewed-by: Linus Walleij +Signed-off-by: Bartosz Golaszewski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpio/gpio-ws16c48.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/gpio/gpio-ws16c48.c ++++ b/drivers/gpio/gpio-ws16c48.c +@@ -18,7 +18,7 @@ + #include + #include + +-#define WS16C48_EXTENT 10 ++#define WS16C48_EXTENT 11 + #define MAX_NUM_WS16C48 max_num_isa_dev(WS16C48_EXTENT) + + static unsigned int base[MAX_NUM_WS16C48]; diff --git a/queue-6.4/series b/queue-6.4/series index 5ec0fa95997..d024be7bab4 100644 --- a/queue-6.4/series +++ b/queue-6.4/series @@ -178,3 +178,5 @@ ibmvnic-unmap-dma-login-rsp-buffer-on-send-login-fail.patch ibmvnic-handle-dma-unmapping-of-login-buffs-in-release-functions.patch ibmvnic-do-partial-reset-on-login-failure.patch ibmvnic-ensure-login-failure-recovery-is-safe-from-other-resets.patch +gpio-ws16c48-fix-off-by-one-error-in-ws16c48-resource-region-extent.patch +gpio-sim-mark-the-gpio-chip-as-a-one-that-can-sleep.patch -- 2.47.2