Michael Buesch wrote:
> On Sunday 29 June 2008 15:12:47 Steve Brown wrote:
>   
>> What should I do next?
>>     
>
> Can you try this patch?
>
> Index: wireless-testing/drivers/net/wireless/b43/main.c
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/b43/main.c     2008-06-26 
> 18:05:10.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/b43/main.c  2008-06-29 
> 18:56:07.000000000 +0200
> @@ -3730,9 +3730,10 @@ static int b43_phy_versioning(struct b43
>                       tmp = 0x5205017F;
>       } else {
>               b43_write16(dev, B43_MMIO_RADIO_CONTROL, B43_RADIOCTL_ID);
> -             tmp = b43_read16(dev, B43_MMIO_RADIO_DATA_LOW);
> +             tmp = b43_read16(dev, B43_MMIO_RADIO_DATA_HIGH);
> +             tmp <<= 16;
>               b43_write16(dev, B43_MMIO_RADIO_CONTROL, B43_RADIOCTL_ID);
> -             tmp |= (u32)b43_read16(dev, B43_MMIO_RADIO_DATA_HIGH) << 16;
> +             tmp |= b43_read16(dev, B43_MMIO_RADIO_DATA_LOW);
>       }
>       radio_manuf = (tmp & 0x00000FFF);
>       radio_ver = (tmp & 0x0FFFF000) >> 12;
>
>
>   
I had tried the same thing earlier this morning thinking that as the 
working code had the order reversed, that might be the problem. But, to 
be thorough, I applied your patch as well. Same result.

The only difference I can see is:
Bus error version:
b43-phy0: Broadcom 4318 WLAN found
drivers/ssb/pci.c:604 mmio:0xc0000000 offset:0x3e0
drivers/ssb/pci.c:604 mmio:0xc0000000 offset:0x3f8
Data bus error, epc == 8011950c, ra == 80161164

Working version:
b43-phy0: Broadcom 4318 WLAN found
drivers/ssb/pci.c:535 mmio:0xc0074000 offset:0x3e0
drivers/ssb/pci.c:535 mmio:0xc0074000 offset:0x3f8
drivers/ssb/pci.c:535 mmio:0xc0074000 offset:0x3fa
drivers/ssb/pci.c:535 mmio:0xc0074000 offset:0x3fe
drivers/ssb/pci.c:535 mmio:0xc0074000 offset:0x3fe

The thing that confounds me is that 0x3e0 returns good data, 0x3fa 
returns good data, but 0x3f8 bus errors. If my understanding is correct 
that a bus error is essentially an access timeout, I sure can't explain 
a hole in the middle of the register space?

To be sure it was really a hole and the entire register space didn't 
just disappear after the 0x3fa read, I repeated the 0x3fa read.
Same problem:
b43-phy0: Broadcom 4318 WLAN found
drivers/ssb/pci.c:604 mmio:0xc0000000 offset:0x3e0
drivers/ssb/pci.c:604 mmio:0xc0000000 offset:0x3fa
drivers/ssb/pci.c:604 mmio:0xc0000000 offset:0x3fa -- DUPLICATE --
drivers/ssb/pci.c:604 mmio:0xc0000000 offset:0x3f8
Data bus error, epc == 8011950c, ra == 80161164

Steve

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to