Everyone:

Here is a preliminary patch for the UHCI driver that may solve the problem
with VIA controllers.  I don't have any way to test it since I don't have
any VIA boards (yet).

The worst that might happen is that the controller won't work at all.  I 
expect things won't be that bad.

Please try the patch and let me know what happens.

Alan Stern


--- 2.6/drivers/usb/host/uhci-hcd.c.orig        Sun Feb  8 11:35:24 2004
+++ 2.6/drivers/usb/host/uhci-hcd.c     Sat Feb 14 15:57:59 2004
@@ -2199,6 +2199,25 @@
         */
        reset_hc(uhci);
        pci_write_config_word(hcd->pdev, USBLEGSUP, USBLEGSUP_DEFAULT);
+
+       /* This workaround prevents VIA controllers from shutting themselves
+        * off when they receive a babble packet (I hope).
+        */
+       if (hcd->pdev->vendor == PCI_VENDOR_ID_VIA) {
+               u8      val;
+               int     rc;
+
+               rc = pci_read_config_byte(hcd->pdev, 0x40, &val);
+               if (rc == 0 && !(val & 0x40)) {
+                       rc = pci_write_config_byte(hcd->pdev, 0x40,
+                                       val | 0x40);
+                       if (rc == 0)
+                               info("VIA UHCI babble workaround applied\n");
+               }
+               if (rc)
+                       warn("Unable to apply VIA UHCI babble "
+                                       "workaround: %d\n", rc);
+       }
        return 0;
 }
 



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to