main/linux-postmarketos-allwinner: add patch for suspend hang (MR 1651)

See thread at: https://lore.kernel.org/linux-usb/20201027045519.GA947883@aquila.localdomain/

Fixes: #839
This commit is contained in:
Bhushan Shah 2020-10-27 13:51:02 +05:30
parent 378904d076
commit fe766c43d7
No known key found for this signature in database
GPG key ID: C4280ACB000B060F
2 changed files with 39 additions and 2 deletions

View file

@ -0,0 +1,35 @@
From 3ed430f6b94479c7b4d26323b5fe6381ca11c0e4 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Tue, 27 Oct 2020 13:18:57 +0530
Subject: [PATCH] usb: musb: avoid the hang in musb_pm_runtime_check_session
See thread at: https://lore.kernel.org/linux-usb/20201027045519.GA947883@aquila.localdomain/
---
drivers/usb/musb/musb_core.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 384a8039a7fd5..fe87046d8b28a 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2005,10 +2005,13 @@ static void musb_pm_runtime_check_session(struct musb *musb)
MUSB_DEVCTL_HR;
switch (devctl & ~s) {
case MUSB_QUIRK_B_DISCONNECT_99:
- musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
- schedule_delayed_work(&musb->irq_work,
- msecs_to_jiffies(1000));
- break;
+ if (musb->quirk_retries && !musb->flush_irq_work) {
+ musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
+ schedule_delayed_work(&musb->irq_work,
+ msecs_to_jiffies(1000));
+ musb->quirk_retries--;
+ break;
+ }
case MUSB_QUIRK_B_INVALID_VBUS_91:
if (musb->quirk_retries && !musb->flush_irq_work) {
musb_dbg(musb,
--
2.29.1

View file

@ -6,7 +6,7 @@ _flavor=postmarketos-allwinner
_config="config-$_flavor.$CARCH"
pkgname=linux-$_flavor
pkgver=5.9.1_git20201019
pkgrel=0
pkgrel=1
_tag="orange-pi-5.9-20201019-1553"
pkgdesc="Kernel fork with Pine64 patches (megi's tree, slightly patched)"
arch="aarch64"
@ -35,6 +35,7 @@ source="$pkgname-$_tag.tar.gz::https://github.com/megous/linux/archive/$_tag.tar
0007-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
0008-pinetab-bluetooth.patch
0009-dts-pinephone-remove-bt-firmware-suffix.patch
0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch
"
subpackages="$pkgname-dev"
builddir="$srcdir/linux-$_tag"
@ -85,4 +86,5 @@ ab72dffc08e56c7ee96f87b30454f38eed6c4deb041f4cc562bdbf358a66821a698517ba9b095e32
60322820a6048c95f7a62180f3aa872f929c8c0aa6bc5cecff882cf671c132666ef803c6754e6d6f4b3d4342362ba9901c21cb23e5186601327ea17ac3d97573 0006-dts-pinetab-add-missing-bma223-ohci1.patch
36c310b00520650aec1e4ece3e995ab649d79315e5057f85587f3a6b1b5546549599c7db14bbf9b6cba76d87512116e132d0064f14aed0a6b7bbe66856e322d9 0007-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
5bb1352b0bf35ff72eb9729248162faa37b0f1fe28c5cf9bd39b54148ff7750ca53d5934d6a128002a7a190180ef8e626733f260db722831ac35e3a5c1b25661 0008-pinetab-bluetooth.patch
a392e7b04dc411986b90adf8774ce8f4b77617993e7ca068ea202aa3c925d0ec3bdbd4c395505696816dce6284955bf96901d75833a9b6ca9df544386b07ff65 0009-dts-pinephone-remove-bt-firmware-suffix.patch"
a392e7b04dc411986b90adf8774ce8f4b77617993e7ca068ea202aa3c925d0ec3bdbd4c395505696816dce6284955bf96901d75833a9b6ca9df544386b07ff65 0009-dts-pinephone-remove-bt-firmware-suffix.patch
f222b41c7900609210795c062b6d9f2fd79c9989f9a604d1d67f10e915b3fc18fcfc712f364b343b506461ff717ac9de2b5ec0edd5d69b2c73f9a5461ab4a919 0010-usb-musb-avoid-the-hang-in-musb_pm_runtime_check_ses.patch"