From ce3a012dcab0c5c89a83434bd5c3a31641ee3e16 Mon Sep 17 00:00:00 2001 From: David P Date: Mon, 10 Dec 2018 13:57:07 -0300 Subject: upgpkg: libre-testing/linux-libre 4.19.6_gnu-1 Signed-off-by: David P --- ...c2-disable-power_down-on-rockchip-devices.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 libre-testing/linux-libre/0009-usb-dwc2-disable-power_down-on-rockchip-devices.patch (limited to 'libre-testing/linux-libre/0009-usb-dwc2-disable-power_down-on-rockchip-devices.patch') diff --git a/libre-testing/linux-libre/0009-usb-dwc2-disable-power_down-on-rockchip-devices.patch b/libre-testing/linux-libre/0009-usb-dwc2-disable-power_down-on-rockchip-devices.patch new file mode 100644 index 000000000..a91facd17 --- /dev/null +++ b/libre-testing/linux-libre/0009-usb-dwc2-disable-power_down-on-rockchip-devices.patch @@ -0,0 +1,44 @@ +From 3379ffad8f5b3db47578cc4eadc3c0f22f7547f1 Mon Sep 17 00:00:00 2001 +From: Hal Emmerich +Date: Thu, 19 Jul 2018 21:48:08 -0500 +Subject: [PATCH 9/9] usb: dwc2: disable power_down on rockchip devices + + The bug would let the usb controller enter partial power down, + which was formally known as hibernate, upon boot if nothing was plugged + in to the port. Partial power down couldn't be exited properly, so any + usb devices plugged in after boot would not be usable. + + Before the name change, params.hibernation was false by default, so + _dwc2_hcd_suspend() would skip entering hibernation. With the + rename, _dwc2_hcd_suspend() was changed to use params.power_down + to decide whether or not to enter partial power down. + + Since params.power_down is non-zero by default, it needs to be set + to 0 for rockchip devices to restore functionality. + + This bug was reported in the linux-usb thread: + REGRESSION: usb: dwc2: USB device not seen after boot + + The commit that caused this regression is: + 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6 + +Signed-off-by: Hal Emmerich +--- + drivers/usb/dwc2/params.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c +index bf7052e037d6..09292dc977e4 100644 +--- a/drivers/usb/dwc2/params.c ++++ b/drivers/usb/dwc2/params.c +@@ -81,6 +81,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg) + p->host_perio_tx_fifo_size = 256; + p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << + GAHBCFG_HBSTLEN_SHIFT; ++ p->power_down = 0; + } + + static void dwc2_set_ltq_params(struct dwc2_hsotg *hsotg) +-- +2.19.0 + -- cgit v1.2.2