From: Greg Kroah-Hartman Date: Fri, 13 Aug 2021 09:02:43 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v4.4.281~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d4b85927ed4723dca2a34e7a5a4d72ab34dec04f;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: usb-ehci-fix-kunpeng920-ehci-hardware-problem.patch --- diff --git a/queue-4.4/series b/queue-4.4/series index a014007392a..4a429f2c960 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -20,3 +20,4 @@ reiserfs-check-directory-items-on-read-from-disk.patch alpha-send-stop-ipi-to-send-to-online-cpus.patch net-qla3xxx-fix-schedule-while-atomic-in-ql_wait_for.patch pipe-increase-minimum-default-pipe-size-to-2-pages.patch +usb-ehci-fix-kunpeng920-ehci-hardware-problem.patch diff --git a/queue-4.4/usb-ehci-fix-kunpeng920-ehci-hardware-problem.patch b/queue-4.4/usb-ehci-fix-kunpeng920-ehci-hardware-problem.patch new file mode 100644 index 00000000000..520c928af28 --- /dev/null +++ b/queue-4.4/usb-ehci-fix-kunpeng920-ehci-hardware-problem.patch @@ -0,0 +1,42 @@ +From 26b75952ca0b8b4b3050adb9582c8e2f44d49687 Mon Sep 17 00:00:00 2001 +From: Longfang Liu +Date: Fri, 9 Apr 2021 16:48:01 +0800 +Subject: USB:ehci:fix Kunpeng920 ehci hardware problem + +From: Longfang Liu + +commit 26b75952ca0b8b4b3050adb9582c8e2f44d49687 upstream. + +Kunpeng920's EHCI controller does not have SBRN register. +Reading the SBRN register when the controller driver is +initialized will get 0. + +When rebooting the EHCI driver, ehci_shutdown() will be called. +if the sbrn flag is 0, ehci_shutdown() will return directly. +The sbrn flag being 0 will cause the EHCI interrupt signal to +not be turned off after reboot. this interrupt that is not closed +will cause an exception to the device sharing the interrupt. + +Therefore, the EHCI controller of Kunpeng920 needs to skip +the read operation of the SBRN register. + +Acked-by: Alan Stern +Signed-off-by: Longfang Liu +Link: https://lore.kernel.org/r/1617958081-17999-1-git-send-email-liulongfang@huawei.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/ehci-pci.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/host/ehci-pci.c ++++ b/drivers/usb/host/ehci-pci.c +@@ -312,6 +312,9 @@ static int ehci_pci_setup(struct usb_hcd + if (pdev->vendor == PCI_VENDOR_ID_STMICRO + && pdev->device == PCI_DEVICE_ID_STMICRO_USB_HOST) + ; /* ConneXT has no sbrn register */ ++ else if (pdev->vendor == PCI_VENDOR_ID_HUAWEI ++ && pdev->device == 0xa239) ++ ; /* HUAWEI Kunpeng920 USB EHCI has no sbrn register */ + else + pci_read_config_byte(pdev, 0x60, &ehci->sbrn); +