From owner-freebsd-stable@FreeBSD.ORG Sat May 21 03:33:18 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D476516A4CE; Sat, 21 May 2005 03:33:18 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1A6F543DAA; Sat, 21 May 2005 03:33:18 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.13.3/8.13.1) with ESMTP id j4L3Vc3K096802; Fri, 20 May 2005 21:31:38 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 20 May 2005 21:31:54 -0600 (MDT) Message-Id: <20050520.213154.56246322.imp@bsdimp.com> To: jhb@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <20941475b4d98a8a9743a4a7ce85a577@FreeBSD.org> References: <200505131901.03493.kirk@strauser.com> <20050513.235443.29330924.imp@bsdimp.com> <20941475b4d98a8a9743a4a7ce85a577@FreeBSD.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-stable@FreeBSD.org Subject: Re: wi0 is always status: no carrier X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 May 2005 03:33:19 -0000 In message: <20941475b4d98a8a9743a4a7ce85a577@FreeBSD.org> John Baldwin writes: : : On May 14, 2005, at 1:54 AM, M. Warner Losh wrote: : : > In message: <200505131901.03493.kirk@strauser.com> : > Kirk Strauser writes: : > : On Friday 13 May 2005 04:06 pm, M. Warner Losh wrote: : > : : > : > Kirk's dmesg showed some interesting IRQ routing issues that might : > be : > : > the problem: : > : > : > : > pir0: on motherboard : > : > $PIR: BIOS IRQ 11 for 0.7.INTA is not valid for link 0x22 : > : > $PIR: BIOS IRQ 11 for 0.7.INTB is not valid for link 0x22 : > : > : > : > Can you send me the output of : > http://people.freebsd.org/~msmith/pir.c : > : > to make sure that's not the problem. : > : : > : Here it is: : > : : > : $PIR table at 0x2816d890 version 1.0 : > : PCI interrupt router at 0:0.0 vendor 0x0 device 0x0 : > : PCI-only interrupts [ 11 ] : > : entry bus slot device : > : 00: 00 00 08 INTA 00 [ : > ] : > : INTB 00 [ : > ] : > : INTC 00 [ : > ] : > : INTD 00 [ : > ] : > : 01: 00 00 04 INTA 02 [ 9 : > ] : > : INTB 00 [ : > ] : > : INTC 00 [ : > ] : > : INTD 00 [ : > ] : > : 02: 00 00 06 INTA 00 [ : > ] : > : INTB 00 [ : > ] : > : INTC 00 [ : > ] : > : INTD 00 [ : > ] : > : 03: 00 00 07 INTA 22 [ 10 : > ] : > : INTB 22 [ 10 : > ] : > : INTC 22 [ 10 : > ] : > : INTD 22 [ 10 : > ] : > : : > : : > : > What does vmstat show for irq 10? How about other IRQs? : > : : > : It doesn't show irq 10 at all: : > : : > : interrupt total rate : > : irq0: clk 74997 99 : > : irq1: atkbd0 975 1 : > : irq6: fdc0 209 0 : > : irq7: ppc0 1 0 : > : irq8: rtc 96004 127 : > : irq13: npx0 1 0 : > : irq14: ata0 2777 3 : > : irq15: ata1 50 0 : > : > OK. It looks like the PCI routing code in this case is in error. It : > assumes that PCI only interrupts are the only ones that can be in the : > PIR table (not sure why it doesn't complain about irq9 in INTA for : > your device at pci0.4, but that's likely because there's no device in : > dmesg there). : : That's not what it means. The 'BIOS IRQ' bit means that it read IRQ 11 : out of the intlin register because the BIOS put it there, but the BIOS : value seems invalid. I have a patch to make the PIR code trust the : BIOS in this case over the $PIR table that you can test if you want. : Actually, I committed the patch finally a while ago. It is rev 1.117 : in HEAD. It should backport to 5.x directly. Try that and see if it : fixes your problem. That makes some sense. The device probes at 10, but if it really should be 11, then that would explain it all. Warner