lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 11 Jan 2012 11:00:32 -0600
From:	Larry Finger <Larry.Finger@...inger.net>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
CC:	Arend van Spriel <arend@...adcom.com>,
	"John W. Linville" <linville@...driver.com>,
	Network Development <netdev@...r.kernel.org>,
	"Franky (Zhenhui) Lin" <frankyl@...adcom.com>,
	Rafał Miłecki <zajec5@...il.com>
Subject: Re: brcm80211 breakage..

On 01/11/2012 10:04 AM, Linus Torvalds wrote:
> On Wed, Jan 11, 2012 at 7:05 AM, Linus Torvalds
>
> Ok, could do it now. But that really doesn't give much more
> information. Here it is anyway:
>
> [    0.746530] bcma-pci-bridge 0000:02:00.0: PCI INT A ->  GSI 17
> (level, low) ->  IRQ 17
> [    0.746544] bcma-pci-bridge 0000:02:00.0: setting latency timer to 64
> [    0.746617] bcma: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800,
> rev 0x22, class 0x0)
> [    0.746646] bcma: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812,
> rev 0x17, class 0x0)
> [    0.746709] bcma: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev
> 0x0F, class 0x0)
> [    0.746845] bcma: Switched to core: 0x800
> [    0.746859] bcma: Found rev 6 PMU (capabilities 0x108C2606)
> [    0.746880] bcma: Switched to core: 0x820
> [    0.775510] bcma: Switched to core: 0x800
> [    0.815750] bcma: Unsupported SPROM revision: 255
> [    0.815804] bcma: No SPROM available

I'm not a bcma or brcmsmac expert, but the above result of SPROM version 0xFF 
looks as if the read was from a non-existent register. If you get a chance, 
please try this patch, which will dump the offset that is being used.

Index: wireless-testing-new/drivers/bcma/sprom.c
===================================================================
--- wireless-testing-new.orig/drivers/bcma/sprom.c
+++ wireless-testing-new/drivers/bcma/sprom.c
@@ -230,6 +230,7 @@ int bcma_sprom_get(struct bcma_bus *bus)
  	 * TODO: understand this condition and use it */
  	offset = (bus->chipinfo.id == 0x4331) ? BCMA_CC_SPROM :
  		BCMA_CC_SPROM_PCIE6;
+	pr_debug("SPROM offset 0x%x\n", offset);
  	bcma_sprom_read(bus, offset, sprom);

  	if (bus->chipinfo.id == 0x4331)

As the TODO indicates, this part is not understood.

One other thing to try. If the new output says that the offset is 0x830, try 
forcing it to 0x800, or vice versa. I don't think you have a 4331, and I expect 
that the current code is trying 0x830, but should be using 0x800.

Larry
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists