On 12/10/2011 10:18 AM, Rafał Miłecki wrote: > 2011/12/9 Larry Finger <Larry.Finger@xxxxxxxxxxxx>: >> On 12/09/2011 02:04 PM, Arend van Spriel wrote: >>> >>> >>> Indeed. What is more strange is that this looks like value from >>> enumeration rom. 0x4bf is BCMA_MANUF_BCM, 0x800 is BCMA_CORE_CHIPCOMMON. >>> It seems the BAR window is wrong. Can you read PCI_BAR window in the >>> ai_doattach() before reading the chip id. >> >> >> I would like a hint on how to do this. I tried some things that failed. > > Have you tried > u32 value; > pci_write_config_dword(core->bus->host_pci, BCMA_PCI_BAR0_WIN, &value); > pr_info(); > pci_write_config_dword(core->bus->host_pci, BCMA_PCI_BAR0_WIN2, &value); > pr_info(); > > You should also hack bcma_bus_scan to display addr and wrap. > pr_info("Core %d addr: 0x%X, wrap 0x%X\n", core->core_index, > core->addr, core->wrap); > (put is inside the while, after existing pr_info) > Obviously it should be a pci_read_config_dword(). I found out that I can reproduce the problem over here so I added the print statements: [61359.893254] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq 17 [61359.897801] core[2] id=0x820 addr=18002000 wrap=18102000 [61359.897808] core[1] id=0x812 addr=18001000 wrap=18101000 [61359.897814] core[0] id=0x800 addr=18000000 wrap=18100000 [61359.897822] PCI_BAR0_WIN=18107000 Not sure how it got programmed to this value, but it definitely is wrong. Gr. AvS -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html