Prev: nvram: Convert nvram_ioctl to unlocked_ioctl, remove smp_lock.h
Next: NFS: Fix RCU warnings in nfs_inode_return_delegation_noreclaim() [ver #2]
From: René Bolldorf on 29 Mar 2010 15:00 On 03/29/10 17:59, Ren� Bolldorf wrote: > Hi John, > > since commit fcb54b0bf7d3fe730c2b72e224bc616e358f24cb, my b43 (4312) > device doesn't work. > > But the device have a sprom. Maybe the chip-status register check is wrong? > > +/** Macros to determine SPROM presence based on Chip-Status register. */ > +#define SSB_CHIPCO_CHST_4312_SPROM_PRESENT(status) \ > + ((status & SSB_CHIPCO_CHST_4325_SPROM_OTP_SEL) != \ > + SSB_CHIPCO_CHST_4325_OTP_SEL) I have talked with my colleague and he have the same problem. I have made a patch , for me it works and should work for others too. My colleague testing this in the late evening. diff --git a/include/linux/ssb/ssb_driver_chipcommon.h b/include/linux/ssb/ssb_driver_chipcommon.h index 2cdf249..1e0b9cd 100644 --- a/include/linux/ssb/ssb_driver_chipcommon.h +++ b/include/linux/ssb/ssb_driver_chipcommon.h @@ -386,6 +386,7 @@ /** Chip specific Chip-Status register contents. */ +#define SSB_CHIPCO_CHST_4312_SPROM_EXISTS 0x00000025 #define SSB_CHIPCO_CHST_4322_SPROM_EXISTS 0x00000040 /* SPROM present */ #define SSB_CHIPCO_CHST_4325_SPROM_OTP_SEL 0x00000003 #define SSB_CHIPCO_CHST_4325_DEFCIS_SEL 0 /* OTP is powered up, use def. CIS, no SPROM */ @@ -403,7 +404,7 @@ /** Macros to determine SPROM presence based on Chip-Status register. */ #define SSB_CHIPCO_CHST_4312_SPROM_PRESENT(status) \ ((status & SSB_CHIPCO_CHST_4325_SPROM_OTP_SEL) != \ - SSB_CHIPCO_CHST_4325_OTP_SEL) + SSB_CHIPCO_CHST_4312_SPROM_EXISTS) #define SSB_CHIPCO_CHST_4322_SPROM_PRESENT(status) \ (status & SSB_CHIPCO_CHST_4322_SPROM_EXISTS) #define SSB_CHIPCO_CHST_4325_SPROM_PRESENT(status) \ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Larry Finger on 29 Mar 2010 15:30
Ren�, When you have a wireless problem, please post it to linux-wireless(a)vger.kernel.org. The Linux Kernel Mailing List may or may not be appropriate. To help in diagnosing your problem, please apply this patch and post the output line that it produces. On my system, it shows ssb: chip_id 0x4312, status 0x10 Please also post the output of 'lspci -nnv | grep 14e4'. Index: wireless-testing/drivers/ssb/sprom.c =================================================================== --- wireless-testing.orig/drivers/ssb/sprom.c +++ wireless-testing/drivers/ssb/sprom.c @@ -182,6 +182,8 @@ bool ssb_is_sprom_available(struct ssb_b if (bus->chipco.dev->id.revision < 11) return true; + printk(KERN_INFO "ssb: chip_id 0x%x, status 0x%x\n", bus->chip_id, + bus->chipco.status); switch (bus->chip_id) { case 0x4312: return SSB_CHIPCO_CHST_4312_SPROM_PRESENT(bus->chipco.status); Larry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |