On 2021/4/8 15:03, Longfang Liu wrote: > When rebooting the EHCI driver, ehci_shutdown() will be called. > if the sbrn flag is 0, ehci_shutdown() will return directly. > > Our EHCI hardware does not define the SBRN register, which cause > its value to default to 0. The sbrn flag being 0 will cause the > EHCI interrupt signal to not be turned off after reboot. An interrupt > that is not closed will cause an exception to the device sharing > the interrupt. > > Currently, our hardware has this problem. We hope to solve this > problem by skipping reading the sbrn register value. On the next > generation of hardware, we will define this SBRN register in accordance > with the controller standard. > > 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 3c3820a..5dc6821 100644 > --- a/drivers/usb/host/ehci-pci.c > +++ b/drivers/usb/host/ehci-pci.c > @@ -291,6 +291,8 @@ static int ehci_pci_setup(struct usb_hcd *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) > + ; /* sbrn register is undefined */ > else > pci_read_config_byte(pdev, 0x60, &ehci->sbrn); > > Sorry, please ignore this patch, I will resend it. Thanks. Longfang.