well, same issue:
ssb: Sonics Silicon Backplane found on PCI device 0000:00:02.0
ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x02, vendor 0x4243)
ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243)
ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x01, vendor 0x4243)
ssb: Core 3 found: V90 (cc 0x807, rev 0x01, vendor 0x4243)
ssb: Core 4 found: PCI (cc 0x804, rev 0x07, vendor 0x4243)
ssb: Core 5 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243)
ssb: Ignoring additional 802.11 core
ssb: Using different timing for ioread 16. udelay(10)
ssb: Using different timing for ioread 16. udelay(10)
ssb: WARNING: Invalid SPROM CRC (corrupt SPROM)
ssb: SPROM revision 91 detected.
ssb: Unsupported SPROM revision 91 detected. Will extract v1
ssb: Sonics Silicon Backplane found on PCI device 0000:00:04.0

I tried udelay(5) and udelay(10).

Something strange happens there that ssb isn't able to access SPROM ...

Larry Finger wrote:
> Daniel Schmitt wrote:
>> Larry, I don't think that sprom_do_read is able to read _ANY_ valid data
>> because if I do it today it results it
> 
> Is there any reason to suspect a timing issue? I'm not familiar with
> your platform. If that is the issue, perhaps might try (my mailer will
> mangle this, but you get the idea):
> 
> Index: wireless-testing/drivers/ssb/pci.c
> ===================================================================
> --- wireless-testing.orig/drivers/ssb/pci.c
> +++ wireless-testing/drivers/ssb/pci.c
> @@ -246,8 +246,10 @@ static int sprom_do_read(struct ssb_bus
>  {
>         int i;
> 
> -       for (i = 0; i < bus->sprom_size; i++)
> +       for (i = 0; i < bus->sprom_size; i++) {
>                 sprom[i] = ioread16(bus->mmio + SSB_SPROM_BASE + (i * 2));
> +               udelay(5);
> +       }
> 
>         return 0;
>  }
> 
> 
> 

_______________________________________________
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to