Date: Wed, 30 Dec 2009 13:04:53 -0500 From: John Baldwin <jhb@freebsd.org> To: "Wojciech A. Koszek" <wkoszek@freebsd.org> Cc: Thierry Herbelot <thierry.herbelot@free.fr>, Warner Losh <imp@freebsd.org>, current@freebsd.org Subject: Re: Panic in a recent kernel (cardbus/pci related ?) Message-ID: <200912301304.53191.jhb@freebsd.org> In-Reply-To: <20091230173351.GV77520@FreeBSD.org> References: <200912110615.28030.thierry.herbelot@free.fr> <200912301025.56737.jhb@freebsd.org> <20091230173351.GV77520@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 30 December 2009 12:33:51 pm Wojciech A. Koszek wrote: > On Wed, Dec 30, 2009 at 10:25:56AM -0500, John Baldwin wrote: > > On Wednesday 30 December 2009 9:28:33 am John Baldwin wrote: > > > On Friday 11 December 2009 12:15:27 am Thierry Herbelot wrote: > > > > Hello, > > > > > > [..] > > > > > This is one possible hack. It instructs the PCI bus to completely remove the > > resource for the CIS. While looking at this I found some other bugs (the code to > > disable decoding in the ROM BAR didn't actually work for example) and have come up > > with a larger patch. It does a few things: > > > > 1) Fixes bus_generic_rl_(alloc|release)_resource() to not try to fetch a resource > > list for a grandchildren. > > > > 2) Add full support for device ROM BARs to the PCI bus and remove the device ROM > > hacks from the cardbus driver now that PCI manages them. > > > > 3) Use a resource_list_unreserve() when purging resources from a cardbus card when > > it is removed as this is a bit cleaner. Arguably the PCI bus driver should have a > > 'delete all resources' method that does this instead (hotplug PCI would need to > > use it). > > > > 4) Remove unused pci_release_resource(). > > > > The patch is available at http://www.FreeBSD.org/~jhb/patches/cardbus.patch > > Hi John, > > And I have applied your patch against src/sys/.... This is what I got when my > Atheros-based CardBus WiFi card got inserted: > > http://people.freebsd.org/~wkoszek/traces/cb.jpg I had a typo. Change the 'bus_generic_activate_resource()' in pci_deactivate_resource() in pci.c to bus_generic_deactivate_resource(). -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912301304.53191.jhb>