[PATCH] Re: ohci-hcd and that NCR implementation ...
authorDavid Brownell <david-b@pacbell.net>
Tue, 30 Apr 2002 14:42:48 +0000 (07:42 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Tue, 30 Apr 2002 14:42:48 +0000 (07:42 -0700)
commit5a346fe4176565a9708be37b13d8752c1d7ca2a2
treeccbe7639223248ee0c991df5a94335ace956cf47
parenta333596b43742415814e4ccde0afbcf47c5719a3
[PATCH] Re: ohci-hcd and that NCR implementation ...

The attached patch makes the one SiS controller behave
like the other... the key fix being wmb() to make sure that
no writes are still in CPU caches before telling the HC it's
OK to fetch the data.  (And a minor tweak to access PCI
less often through the hub driver.)

But the OPTi problem seems to be different.  Could you
try this patch to see if it affects the problem your seeing
with that NCR implementation?  And in any case, please
integrate it to Linus' latest.  (Against 2.5.10, might be
some fuzz on the pci tweak due to that warning fix.)

Those missing wmb() statements have likely been the root
cause of various usb-ohci flakes reported over time, too.
The drivers are still almost identical in those areas.  (Though
something made ohci-hcd consistently lose that cache flush
race; maybe it's a bit faster.)
drivers/usb/host/ohci-hub.c
drivers/usb/host/ohci-q.c