svn commit: r186808 - head/sys/dev/usb

Edward Tomasz Napierala trasz at FreeBSD.org
Tue Jan 6 01:03:03 PST 2009


Author: trasz
Date: Tue Jan  6 09:03:02 2009
New Revision: 186808
URL: http://svn.freebsd.org/changeset/base/186808

Log:
  Add workaround for Parallels 4.0.  Without it, ehci and uhci drivers
  would fail to attach due to unsupported USB revision.  It should have
  no effect when running on a real hardware.
  
  Reviewed by:	imp
  Approved by:	rwatson (mentor)

Modified:
  head/sys/dev/usb/ehci_pci.c
  head/sys/dev/usb/uhci_pci.c

Modified: head/sys/dev/usb/ehci_pci.c
==============================================================================
--- head/sys/dev/usb/ehci_pci.c	Tue Jan  6 06:47:53 2009	(r186807)
+++ head/sys/dev/usb/ehci_pci.c	Tue Jan  6 09:03:02 2009	(r186808)
@@ -315,6 +315,14 @@ ehci_pci_attach(device_t self)
 			device_printf(self, "Quirk for CS5536 USB 2.0 enabled\n");
 			break;
 		}
+
+		/*
+		 * Quirk for Parallels Desktop 4.0.
+		 */
+		if (pci_get_devid(self) == PCI_EHCI_DEVICEID_ICH6) {
+			sc->sc_bus.usbrev = USBREV_2_0;
+			break;
+		}
 		sc->sc_bus.usbrev = USBREV_UNKNOWN;
 		return ENXIO;
 	case PCI_USBREV_2_0:

Modified: head/sys/dev/usb/uhci_pci.c
==============================================================================
--- head/sys/dev/usb/uhci_pci.c	Tue Jan  6 06:47:53 2009	(r186807)
+++ head/sys/dev/usb/uhci_pci.c	Tue Jan  6 09:03:02 2009	(r186808)
@@ -389,6 +389,12 @@ uhci_pci_attach(device_t self)
 		break;
 	}
 
+	/*
+	 * Quirk for Parallels Desktop 4.0.
+	 */
+	if (pci_get_devid(self) == PCI_UHCI_DEVICEID_ICH6_A)
+		sc->sc_bus.usbrev = USBREV_2_0;
+
 	err = bus_setup_intr(self, sc->irq_res, INTR_TYPE_BIO,
 	    NULL, (driver_intr_t *) uhci_intr, sc, &sc->ih);
 	if (err) {


More information about the svn-src-head mailing list