Skip site navigation (1)Skip section navigation (2)
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>