2009-06-18 01:33:40

by Fabio A. Correa

[permalink] [raw]
Subject: Re: 4311 not detected at all

OK, I found new data on my problem, this might shed light on some
fix/enhancement for the driver.

When the system starts, the iomem of the 4311 card is specified to be
pci 0000:06:00.0: reg 10 32bit mmio: [0xd0000000-0xd0003fff]

The iomem of 4311 cannot be allocated:
arch/x86/pci/i386.c:173: pci 0000:06:00.0: BAR 0: can't allocate resource

the next two instructions of file i386.c mean that the iomem range
converts from 0xd0000000-0xd0003fff to 0x000000-0x003fff. Then
b43-pci-bridge tries to allocate this iomem resource, which is
invalid:
drivers/pci/setup-res.c:290: b43-pci-bridge 0000:06:00.0: device not
available because of BAR 0 [0x000000-0x003fff] collisions
drivers/base/dd.c:143: b43-pci-bridge: probe of 0000:06:00.0 failed
with error -22

The 4311 card (06:00.0) is in the PCI Express port 00:1c.2, with
resources that are reported later:
pci 0000:00:1c.2: PCI bridge, secondary bus 0000:06
pci 0000:00:1c.2: MEM window: 0x88000000-0x880fffff

After booting, lspci -vvv shows:

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 3 (rev 01) (prog-if 00 [Normal decode])
Memory behind bridge: 88000000-880fffff
06:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)
Region 0: Memory at 88000000 (32-bit, non-prefetchable)
[size=16K]

16K = 3fff.

Well then; the b43 controller stops probing my 4311 card because the
wrong resource is probed for.

I am not sure who should I direct this message to.

--
Fabio Andr?s Correa Dur?n