[PATCH 2/2] USB:ehci:fix Kunpeng920 ehci hardware problem

From: Longfang Liu
Date: Thu Apr 08 2021 - 05:14:00 EST


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 be added
to the whitelist without SBRN register.

Signed-off-by: Longfang Liu <liulongfang@xxxxxxxxxx>
---
drivers/usb/host/ehci-pci.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index 6a30afa..c392a26 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -53,6 +53,8 @@ static const struct usb_nosbrn_whitelist_entry {
} usb_nosbrn_whitelist[] = {
/* STMICRO ConneXT has no sbrn register */
{PCI_VENDOR_ID_STMICRO, PCI_DEVICE_ID_STMICRO_USB_HOST},
+ /* HUAWEI Kunpeng920 HiSilicon USB EHCI has no sbrn register */
+ {PCI_VENDOR_ID_HUAWEI, 0xa239},
{}
};

--
2.8.1