From owner-freebsd-current Mon May 21 13:43:16 2001 Delivered-To: freebsd-current@freebsd.org Received: from henny.webweaving.org (gate.qubesoft.com [212.113.16.243]) by hub.freebsd.org (Postfix) with ESMTP id 6B88C37B424; Mon, 21 May 2001 13:43:11 -0700 (PDT) (envelope-from n_hibma@FreeBSD.ORG) Received: from localhost (localhost [127.0.0.1]) by henny.webweaving.org (8.11.3/8.11.3) with ESMTP id f4LKh5u00811; Mon, 21 May 2001 21:43:06 +0100 (BST) (envelope-from n_hibma@FreeBSD.ORG) Date: Mon, 21 May 2001 21:43:05 +0100 (BST) From: X-X-Sender: To: Mike Smith Cc: Subject: Re: GENERIC kernel hangs at boot (uhci-related) In-Reply-To: <200105212024.f4LKOn901633@mass.dis.org> Message-ID: <20010521213701.H665-100000@henny.webweaving.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The reason it is failing is that the assigned IRQ is 0 or 255. If I can't assume that that setup is done, I might as well start implementing PCI resource allocation, because that is what is missing here. The problem is not that the PCI device is not initialised, but that the device is assigned a bogus irq (0/255) by the BIOS. It is allocated and setup correctly as far as I can see from other PCI drivers. But then it never fires, which is correct, because there is no such thing as irq 0 or 255. And that's were the driver freezes, waiting for an interrupt that never comes and never times out or at least times out very slowly. What John Polstra is suggesting is to check for these bogus values and reject the device such that the boot will complete. Or am I misunderstanding you completely, Mike? Nick > > The bottom line is this; in your driver, ask for the resources that you > > need. If you don't get them, you fail. The PCI bus infrastructure is > > being worked on to improve your chances of getting these resources; it's > > not something that a driver writer should be worrying about per se. > > And I should probably have added; the assumptions you can make about the > state of your device are very few. There is a *very* good chance that > your device will *just* have been powered up, and had the BARs set to > something sane. That's it. You should not make any assumptions about > setup done by the BIOS, firmware, etc. > > -- > ... every activity meets with opposition, everyone who acts has his > rivals and unfortunately opponents also. But not because people want > to be opponents, rather because the tasks and relationships force > people to take different points of view. [Dr. Fritz Todt] > V I C T O R Y N O T V E N G E A N C E > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > -- The USB for FreeBSD project. n_hibma@FreeBSD.ORG http://www.etla.net/~n_hibma/usb/usb.pl To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message