Date: Fri, 15 May 2009 08:50:19 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-stable@freebsd.org Cc: Bruce Simpson <bms@incunabulum.net> Subject: Re: Boot panic w/7.2-STABLE on amd64: resource_list_alloc Message-ID: <200905150850.19843.jhb@freebsd.org> In-Reply-To: <4A0CF934.4000706@incunabulum.net> References: <4A0CF934.4000706@incunabulum.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 15 May 2009 1:10:12 am Bruce Simpson wrote: > Hi, > > Since upgrading sources on RELENG_7 yesterday, my amd64 system panics > right after this line in dmesg: > > ata4: <ATA channel 2> on atapci1 > panic: resource_list_alloc: resource entry is busy > > This machine uses an ALi SATA controller. I haven't had any problems > with this controller's support for most of the 7.x branch, but it was > last broken during the 6.x branch. > > I see there have recently been commits in this area which may have > broken ATA driver support in some subtle way. > > Backtrace is (w/o symbols):- > ... > resource_list_alloc() > pci_alloc_resource() > bus_alloc_resource() > ata_ali_sata_allocate() > ata_pcichannel_attach() > device_attach() > ... > > There are no debugging symbols at the moment as this is a production kernel. > If any further information is required to resolve the bug, please let me > know. Sounds like the ATA driver is allocating the same BAR twice. Hmm, yes, it allocates the resources once for each channel it seems in the ata_ali_sata attachment. Looking in ata-chipset.c, all the other chipsets are good about allocating these resources in their chipinit routines rather than the per-channel allocate routine. Well, except ata_pci_allocate() is also busted. *sigh* I can work on a patch for HEAD if you are willing to test. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905150850.19843.jhb>