On Sunday 29 June 2008 21:04:28 Steve Brown wrote: > 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
I'm sorry, I cannot tell you what causes this. But I guess, however, it is some change in the ssb setup code that broke this. -- Greetings Michael. _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel