kern/53242: [patch] snd_ich fails to detect Intel 82801ER (ICH5)
chip
Shin-ichi Yoshimoto
yosimoto at waishi.jp
Wed Jun 11 21:10:20 PDT 2003
>Number: 53242
>Category: kern
>Synopsis: [patch] snd_ich fails to detect Intel 82801ER (ICH5) chip
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Jun 11 21:10:16 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Shin-ichi Yoshimoto
>Release: FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD current.waishi.jp 5.1-CURRENT FreeBSD 5.1-CURRENT #9: Sun Jun 8 07:43:17 JST 2003 yosimoto at current.waishi.jp:/usr/obj/usr/src/sys/CURRENT i386
>Description:
The snd_ich sound driver fails to detect the Intel 82801ER (ICH5) sound on my motherboard (MSI 865PE Neo2).
>How-To-Repeat:
>Fix:
--- ich.c.orig Wed Apr 16 12:16:55 2003
+++ ich.c Sun Jun 8 16:34:37 2003
@@ -43,6 +43,7 @@
#define SIS7012ID 0x70121039 /* SiS 7012 needs special handling */
#define ICH4ID 0x24c58086 /* ICH4 needs special handling too */
+#define ICH5ID 0x24d58086 /* ICH5 needs special handling too */
/* buffer descriptor */
struct ich_desc {
@@ -578,7 +579,7 @@
if ((stat & ICH_GLOB_STA_PCR) == 0) {
/* ICH4 may fail when busmastering is enabled. Continue */
- if (pci_get_devid(sc->dev) != ICH4ID) {
+ if (pci_get_devid(sc->dev) != ICH4ID && pci_get_devid(sc->dev) != ICH5ID) {
return ENXIO;
}
}
@@ -630,6 +631,10 @@
device_set_desc(dev, "Intel 82801DB (ICH4)");
return 0;
+ case ICH5ID:
+ device_set_desc(dev, "Intel 82801ER (ICH5)");
+ return 0;
+
case SIS7012ID:
device_set_desc(dev, "SiS 7012");
return 0;
@@ -681,7 +686,7 @@
* but doing so will mess things up here. ich4 has enough new
* features it warrants it's own driver.
*/
- if (pci_get_devid(dev) == ICH4ID) {
+ if (pci_get_devid(dev) == ICH4ID || pci_get_devid(dev) == ICH5ID) {
pci_write_config(dev, PCIR_ICH_LEGACY, ICH_LEGACY_ENABLE, 1);
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list