Skip to content

Commit cc1a4df

Browse files
Longfang Liugregkh
authored andcommitted
USB:ehci:fix Kunpeng920 ehci hardware problem
commit 26b7595 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 <[email protected]> Signed-off-by: Longfang Liu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent bd909fd commit cc1a4df

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/usb/host/ehci-pci.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,9 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
297297
if (pdev->vendor == PCI_VENDOR_ID_STMICRO
298298
&& pdev->device == PCI_DEVICE_ID_STMICRO_USB_HOST)
299299
; /* ConneXT has no sbrn register */
300+
else if (pdev->vendor == PCI_VENDOR_ID_HUAWEI
301+
&& pdev->device == 0xa239)
302+
; /* HUAWEI Kunpeng920 USB EHCI has no sbrn register */
300303
else
301304
pci_read_config_byte(pdev, 0x60, &ehci->sbrn);
302305

0 commit comments

Comments
 (0)