Date: Sat, 24 Aug 2002 00:09:59 -0400 (EDT) From: Colin Perkins <csp@csperkins.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/41963: [PATCH] USB UHCI device ID update (Intel ICH3) Message-ID: <200208240409.g7O49xGn000720@purple.nge.isi.edu>
next in thread | raw e-mail | index | archive | help
>Number: 41963
>Category: kern
>Synopsis: [PATCH] USB UHCI device ID update (Intel ICH3)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Fri Aug 23 21:20:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Colin Perkins
>Release: FreeBSD 4.6-STABLE i386
>Organization:
USC/ISI
>Environment:
System: FreeBSD purple.nge.isi.edu 4.6-STABLE FreeBSD 4.6-STABLE #2: Fri Aug 23 23:45:28 EDT 2002 root@purple.nge.isi.edu:/usr/obj/usr/src/sys/PURPLE i386
>Description:
ThinkPad X22 has 3 USB controllers, but only first two are recognised.
Patch enclosed to add device description.
>How-To-Repeat:
Boot system. Log shows:
uhci2: <UHCI (generic) USB controller> port 0x1840-0x185f irq 11 at device 29.2 on pci0
uhci2: (New UHCI DeviceId=0x24878086)
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: (0x24878086) UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
With enclosed patch, it shows instead:
uhci2: <Intel 82801CA/CAM (ICH3) USB controller USB-C> port 0x1840-0x185f irq 11 at device 29.2 on pci0
usb2: <Intel 82801CA/CAM (ICH3) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
which matches the description from Win2k on same machine.
>Fix:
(patch against -STABLE from 22 August)
*** uhci_pci.c.orig Fri Aug 23 23:27:43 2002
--- uhci_pci.c Fri Aug 23 23:41:20 2002
***************
*** 102,107 ****
--- 102,110 ----
#define PCI_UHCI_DEVICEID_ICH3_B 0x24848086
static const char *uhci_device_ich3_b = "Intel 82801CA/CAM (ICH3) USB controller USB-B";
+ #define PCI_UHCI_DEVICEID_ICH3_C 0x24878086
+ static const char *uhci_device_ich3_c = "Intel 82801CA/CAM (ICH3) USB controller USB-C";
+
#define PCI_UHCI_DEVICEID_ICH4_A 0x24c28086
static const char *uhci_device_ich4_a = "Intel 82801DB (ICH4) USB controller USB-A";
***************
*** 177,182 ****
--- 180,187 ----
return (uhci_device_ich3_a);
} else if (device_id == PCI_UHCI_DEVICEID_ICH3_B) {
return (uhci_device_ich3_b);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH3_C) {
+ return (uhci_device_ich3_c);
} else if (device_id == PCI_UHCI_DEVICEID_ICH4_A) {
return (uhci_device_ich4_a);
} else if (device_id == PCI_UHCI_DEVICEID_ICH4_B) {
***************
*** 281,286 ****
--- 286,295 ----
break;
case PCI_UHCI_DEVICEID_ICH3_B:
device_set_desc(sc->sc_bus.bdev, uhci_device_ich3_b);
+ sprintf(sc->sc_vendor, "Intel");
+ break;
+ case PCI_UHCI_DEVICEID_ICH3_C:
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich3_c);
sprintf(sc->sc_vendor, "Intel");
break;
case PCI_UHCI_DEVICEID_ICH4_A:
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208240409.g7O49xGn000720>
