On Thu, Apr 20, 2023 at 07:14:45PM +0800, Weitao Wang wrote: > Over Current condition is not standardized in the UHCI spec. > Zhaoxin UHCI controllers report OverCurrent bit active off. > Intel controllers report it active on, so we'll adjust the bit value. The last sentence is irrelevant. You should say instead that the uhci-hcd driver needs to be told to expect the active-off behavior. > > Signed-off-by: Weitao Wang <WeitaoWang-oc@xxxxxxxxxxx> > --- > drivers/usb/host/uhci-pci.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/usb/host/uhci-pci.c b/drivers/usb/host/uhci-pci.c > index 3592f757fe05..177e3c2aa287 100644 > --- a/drivers/usb/host/uhci-pci.c > +++ b/drivers/usb/host/uhci-pci.c > @@ -126,6 +126,10 @@ static int uhci_pci_init(struct usb_hcd *hcd) > if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_VIA) > uhci->oc_low = 1; > > + /* ZHAOXIN controllers report OverCurrent bit active off. */ > + if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_ZHAOXIN) > + uhci->oc_low = 1; This is really just a matter of taste, but IMO it would be better to combine this comment and test with the preceding one. Something like: /* * Intel controllers report the OverCurrent bit active on. VIA * and ZHAOXIN controllers report it active off, so we'll adjust * the bit value. (It's not standardized in the UHCI spec.) */ if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_VIA || to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_ZHAOXIN) uhci->oc_low = 1; Alan Stern