Date: Sun, 13 Jun 2004 19:43:51 +0900 (JST) From: Yoshiaki Uchikawa <yoshiaki@kt.rim.or.jp> To: FreeBSD-gnats-submit@FreeBSD.org Subject: i386/67901: PS/2 mouse probrem Message-ID: <200406131043.i5DAhpEx000697@singer.tertio.atoll> Resent-Message-ID: <200406131050.i5DAoCCE011076@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 67901 >Category: i386 >Synopsis: PS/2 mouse probrem >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jun 13 10:50:12 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Yoshiaki Uchikawa >Release: FreeBSD 5.2-CURRENT i386 >Organization: >Environment: System: FreeBSD singer.tertio.atoll 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Sun Jun 13 17:16:58 JST 2004 root@singer.tertio.atoll:/usr/src/sys/i386/compile/CRUSE i386 >Description: After MAY 29 current, I can't use PS/2 mouse (with X). This probrem looks seem to be IRQ confrict. I have two machines, Aopen KT-600(VIA 5235 chepset + AMD AthelonXP) and GIGABYTE 6VTX(82C686B chipset + Intel Celeron 1.4GHz) Both machines have same probrem. Before May,28 curent --dmesg-- uhci2: <VIA 83C572 USB controller> port 0xdc00-0xdc1f irq 5 at device 16.2 on p ci0 uhci2: [GIANT-LOCKED] usb2: <VIA 83C572 USB controller> on uhci2 : pcm0: <VIA VT8235> port 0xe400-0xe4ff irq 5 at device 17.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: <Avance Logic ALC650 AC97 Codec> -------- % vmstat -i interrupt total rate irq0: clk 717191 99 irq1: atkbd0 3842 0 irq6: fdc0 5 0 irq8: rtc 918043 127 irq11: fxp0 2900 0 irq12: psm0 15316 2 irq13: npx0 2 0 irq14: ata0 42 0 irq15: ata1 57241 7 Total 1714582 239 After May, 29 curent --dmesg-- uhci2: <VIA 83C572 USB controller> port 0xdc00-0xdc1f irq 12 at device 16.2 on pci0 uhci2: [GIANT-LOCKED] usb2: <VIA 83C572 USB controller> on uhci2 : pcm0: <VIA VT8235> port 0xe400-0xe4ff irq 12 at device 17.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: <Avance Logic ALC650 AC97 Codec> -------- % vmstat -i interrupt total rate irq0: clk 4422 96 irq1: atkbd0 205 4 irq6: fdc0 5 0 irq7: fxp0 15 0 irq8: rtc 5660 123 irq12: pcm0 uhci2+ 1 0 irq13: npx0 1 0 irq14: ata0 42 0 irq15: ata1 1805 39 Total 12156 264 description of the problem (multiple lines)> >How-To-Repeat: >Fix: --- ../acpi_pci_link.c Sun Jun 13 19:29:37 2004 +++ acpi_pci_link.c Sun Jun 13 16:41:19 2004 @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.15 2004/05/28 17:31:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.14 2004/04/14 03:34:11 njl Exp $"); #include "opt_acpi.h" #include <sys/param.h> @@ -48,6 +48,7 @@ TAILQ_ENTRY(acpi_pci_link_entry) links; ACPI_HANDLE handle; UINT8 current_irq; + UINT8 initial_irq; ACPI_RESOURCE possible_resources; UINT8 number_of_interrupts; UINT8 interrupts[MAX_POSSIBLE_INTERRUPTS]; @@ -72,9 +73,6 @@ static int irq_penalty[MAX_ACPI_INTERRUPTS]; -static int acpi_pci_link_is_valid_irq(struct acpi_pci_link_entry *link, - UINT8 irq); - #define ACPI_STA_PRESENT 0x00000001 #define ACPI_STA_ENABLE 0x00000002 #define ACPI_STA_SHOWINUI 0x00000004 @@ -384,12 +382,7 @@ acpi_name(handle), AcpiFormatException(error))); } - if (!acpi_pci_link_is_valid_irq(link, link->current_irq)) { - ACPI_DEBUG_PRINT((ACPI_DB_WARN, - "initial IRQ %u is invalid for link %s\n", - link->current_irq, acpi_name(handle))); - link->current_irq = 0; - } + link->initial_irq = link->current_irq; error = AcpiGetPossibleResources(handle, &buf); if (ACPI_FAILURE(error)) { @@ -532,6 +525,11 @@ if (link->interrupts[i] == irq) return (1); } + + /* allow initial IRQ as valid one. */ + if (link->initial_irq == irq) + return (1); + return (0); } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406131043.i5DAhpEx000697>