Commit ce7fcf9
Desnes Nunes
usb: hub: Fix flushing of delayed work used for post resume purposes
JIRA: https://issues.redhat.com/browse/RHEL-100939
commit 9bd9c80
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date: Fri, 27 Jun 2025 19:43:48 +0300
Delayed work that prevents USB3 hubs from runtime-suspending too early
needed to be flushed in hub_quiesce() to resolve issues detected on
QC SC8280XP CRD board during suspend resume testing.
This flushing did however trigger new issues on Raspberry Pi 3B+, which
doesn't have USB3 ports, and doesn't queue any post resume delayed work.
The flushed 'hub->init_work' item is used for several purposes, and
is originally initialized with a 'NULL' work function. The work function
is also changed on the fly, which may contribute to the issue.
Solve this by creating a dedicated delayed work item for post resume work,
and flush that delayed work in hub_quiesce()
Cc: stable <stable@kernel.org>
Fixes: a49e1e2 ("usb: hub: Fix flushing and scheduling of delayed work that tunes runtime pm")
Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://lore.kernel.org/linux-usb/aF5rNp1l0LWITnEB@finisterre.sirena.org.uk
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Tested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> # SC8280XP CRD
Tested-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20250627164348.3982628-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Desnes Nunes <desnesn@redhat.com>1 parent 915a7dc commit ce7fcf9
2 files changed
+9
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1074 | 1074 | | |
1075 | 1075 | | |
1076 | 1076 | | |
1077 | | - | |
| 1077 | + | |
1078 | 1078 | | |
1079 | 1079 | | |
1080 | 1080 | | |
1081 | 1081 | | |
1082 | | - | |
1083 | 1082 | | |
1084 | 1083 | | |
1085 | 1084 | | |
| |||
1103 | 1102 | | |
1104 | 1103 | | |
1105 | 1104 | | |
1106 | | - | |
1107 | | - | |
1108 | | - | |
1109 | | - | |
1110 | | - | |
1111 | | - | |
1112 | 1105 | | |
1113 | 1106 | | |
1114 | 1107 | | |
| |||
1362 | 1355 | | |
1363 | 1356 | | |
1364 | 1357 | | |
1365 | | - | |
1366 | | - | |
| 1358 | + | |
| 1359 | + | |
1367 | 1360 | | |
1368 | 1361 | | |
1369 | 1362 | | |
| |||
1388 | 1381 | | |
1389 | 1382 | | |
1390 | 1383 | | |
1391 | | - | |
| 1384 | + | |
1392 | 1385 | | |
1393 | | - | |
| 1386 | + | |
| 1387 | + | |
1394 | 1388 | | |
1395 | 1389 | | |
1396 | 1390 | | |
| |||
1418 | 1412 | | |
1419 | 1413 | | |
1420 | 1414 | | |
1421 | | - | |
| 1415 | + | |
1422 | 1416 | | |
1423 | 1417 | | |
1424 | 1418 | | |
| |||
1977 | 1971 | | |
1978 | 1972 | | |
1979 | 1973 | | |
| 1974 | + | |
1980 | 1975 | | |
1981 | 1976 | | |
1982 | 1977 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
73 | 74 | | |
74 | 75 | | |
75 | 76 | | |
| |||
0 commit comments