thinkpad 770 -current ccb IRQ (hence ep0) broken between 20040204-20040310?

John Baldwin jhb at FreeBSD.org
Wed Mar 17 09:02:30 PST 2004


On Tuesday 16 March 2004 06:24 pm, bsdforums_account at melliferous.com wrote:
> Hi,
>
> here is the dmesg -v

Can you try this patch and include the dmseg (non -v for now) output in the 
reply?  Thanks.

Index: pci_pir.c
===================================================================
RCS file: /usr/cvs/src/sys/i386/pci/pci_pir.c,v
retrieving revision 1.109
diff -u -r1.109 pci_pir.c
--- pci_pir.c	18 Feb 2004 22:40:23 -0000	1.109
+++ pci_pir.c	17 Mar 2004 16:01:57 -0000
@@ -435,11 +435,17 @@
 pci_pir_biosroute(int bus, int device, int func, int pin, int irq)
 {
 	struct bios_regs args;
+	int error;
 
 	args.eax = PCIBIOS_ROUTE_INTERRUPT;
 	args.ebx = (bus << 8) | (device << 3) | func;
 	args.ecx = (irq << 8) | (0xa + pin);
-	return (bios32(&args, PCIbios.ventry, GSEL(GCODE_SEL, SEL_KPL)));
+	error = bios32(&args, PCIbios.ventry, GSEL(GCODE_SEL, SEL_KPL));
+	if (error) {
+		printf("$PIR: ROUTE_INTERRUPT returned 0x%2x\n",
+		    args.eax >> 8 & 0xff);
+	}
+	return (0);
 }
 

 
-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-mobile mailing list