All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] USB:ehci:fix ehci hardware problem
@ 2021-04-08  7:03 Longfang Liu
  2021-04-08  7:19 ` liulongfang
  0 siblings, 1 reply; 3+ messages in thread
From: Longfang Liu @ 2021-04-08  7:03 UTC (permalink / raw)
  To: gregkh, mathias.nyman, stern, liudongdong3
  Cc: linux-usb, linux-kernel, liulongfang, kong.kongxinwei, yisen.zhuang

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@huawei.com>
---
 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);
 
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [PATCH 0/2] USB:ehci:fix the no SRBN register problem
@ 2021-04-08  9:09 Longfang Liu
  2021-04-08  9:09 ` [PATCH] USB:ehci:fix ehci hardware problem Longfang Liu
  0 siblings, 1 reply; 3+ messages in thread
From: Longfang Liu @ 2021-04-08  9:09 UTC (permalink / raw)
  To: gregkh, mathias.nyman, stern, liudongdong3
  Cc: linux-usb, linux-kernel, liulongfang, kong.kongxinwei, yisen.zhuang

(1) Add a whitelist for EHCI devices without SBRN registers.
(2) Add Kunpeng920's EHCI device to the whitelist.

Longfang Liu (2):
  USB:ehci:Add a whitelist for EHCI controllers
  USB:ehci:fix Kunpeng920 ehci hardware problem

 drivers/usb/host/ehci-pci.c | 29 +++++++++++++++++++++++++----
 1 file changed, 25 insertions(+), 4 deletions(-)

-- 
2.8.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-08  9:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-08  7:03 [PATCH] USB:ehci:fix ehci hardware problem Longfang Liu
2021-04-08  7:19 ` liulongfang
2021-04-08  9:09 [PATCH 0/2] USB:ehci:fix the no SRBN register problem Longfang Liu
2021-04-08  9:09 ` [PATCH] USB:ehci:fix ehci hardware problem Longfang Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.