aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0482-gpio-fsm-Fix-shutdown-timeout-handling.patch
blob: e774c100c4eaf9d2c2c9bcb0dd3c6f79f4c9e2bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From a8862588c1ebbcb49b0650707020910270a81f07 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Wed, 17 Feb 2021 09:21:30 +0000
Subject: [PATCH] gpio-fsm: Fix shutdown timeout handling

The driver is intended to jump directly to a shutdown state in the
event of a timeout during shutdown, but the sense of the test was
inverted.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
 drivers/gpio/gpio-fsm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/gpio/gpio-fsm.c
+++ b/drivers/gpio/gpio-fsm.c
@@ -1142,7 +1142,8 @@ static int gpio_fsm_remove(struct platfo
 				   gf->current_state->shutdown_target ==
 				   gf->current_state,
 				   msecs_to_jiffies(gf->shutdown_timeout_ms));
-		if (gf->current_state->shutdown_target == gf->current_state)
+		/* On failure to reach a shutdown state, jump to one */
+		if (gf->current_state->shutdown_target != gf->current_state)
 			gpio_fsm_enter_state(gf, gf->shutdown_state);
 	}
 	cancel_work_sync(&gf->work);