Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Sep 2011 16:18:25 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-current@freebsd.org, Warner Losh <imp@freebsd.org>
Subject:   Re: ath0 no longer attaches, cardbus problems?
Message-ID:  <Pine.GSO.4.64.1109071610590.5474@sea.ntplx.net>
In-Reply-To: <201109061608.42887.jhb@freebsd.org>
References:  <Pine.GSO.4.64.1108242007100.23746@sea.ntplx.net> <201109061145.20459.jhb@freebsd.org> <Pine.GSO.4.64.1109061521120.29760@sea.ntplx.net> <201109061608.42887.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 6 Sep 2011, John Baldwin wrote:

> On Tuesday, September 06, 2011 3:34:58 pm Daniel Eischen wrote:
>> On Tue, 6 Sep 2011, John Baldwin wrote:
>>>
>>> Looks like I had a typo in my original e-mail, try
>>>   "debug.acpi.disabled=hostres"
>>> rather than "debug.acpi.disable=hostres".
>>
>> Ok, I'll try that.

Setting debug.acpi.disabled=hostres in /boot/loader.conf
did not help.  I tried this with a recent kernel from HEAD.

More info.  I've found that kernels:

   March 31 - work, ath attaches and works

   April 1 - June 6: panic on cardbus attach

   June 7 - HEAD: work, but ath doesn't attach


I found the commit that fixed the panic:

   Index: sys/dev/pci/pci.c
   ===================================================================
   RCS file: /opt/FreeBSD/cvs/src/sys/dev/pci/pci.c,v
   retrieving revision 1.420
   retrieving revision 1.421
   diff -u -r1.420 -r1.421
   --- sys/dev/pci/pci.c   3 May 2011 17:37:24 -0000       1.420
   +++ sys/dev/pci/pci.c   6 Jun 2011 13:21:11 -0000       1.421
   @@ -2576,6 +2576,17 @@
           uint16_t cmd;
           struct resource *res;

   +       /*
   +        * The BAR may already exist if the device is a CardBus card
   +        * whose CIS is stored in this BAR.
   +        */
   +       pm = pci_find_bar(dev, reg);
   +       if (pm != NULL) {
   +               maprange = pci_maprange(pm->pm_value);
   +               barlen = maprange == 64 ? 2 : 1;
   +               return (barlen);
   +       }
   +
           pci_read_bar(dev, reg, &map, &testval);
           if (PCI_BAR_MEM(map)) {
                   type = SYS_RES_MEMORY;


I applied this patch to the April 1st kernel (which previously
paniced) and was able to boot the kernel.  ath still does not
attach.

So the commit that broke my cardbus ath occurred on April 1.

-- 
DE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.1109071610590.5474>