linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] b43: ensure ext PA lines are enabled for BCM4331
@ 2012-05-31 13:49 Seth Forshee
  2012-05-31 14:16 ` Hauke Mehrtens
  0 siblings, 1 reply; 7+ messages in thread
From: Seth Forshee @ 2012-05-31 13:49 UTC (permalink / raw)
  To: Stefano Brivio, Rafał Miłecki
  Cc: linux-wireless, b43-dev, John W. Linville, Arend van Spriel

Some MacBook Pro models with BCM4331 wireless will stop transmitting
after resuming from S3 without external power attached. This is fixed by
ensuring that the ext PA lines are enabled in BCMA_CC_CHIPCTL. Export
the function in bcma which does this for use by b43 and enable the ext
PA lines during wireless core initialization.

BugLink: http://bugs.launchpad.net/bugs/925577
Cc: Arend van Spriel <arend@broadcom.com>
Cc: stable@vger.kernel.org
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
---
 drivers/bcma/driver_chipcommon_pmu.c |    1 +
 drivers/net/wireless/b43/main.c      |    7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/bcma/driver_chipcommon_pmu.c b/drivers/bcma/driver_chipcommon_pmu.c
index a058842..332d7fb 100644
--- a/drivers/bcma/driver_chipcommon_pmu.c
+++ b/drivers/bcma/driver_chipcommon_pmu.c
@@ -129,6 +129,7 @@ void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable)
 	}
 	bcma_cc_write32(cc, BCMA_CC_CHIPCTL, val);
 }
+EXPORT_SYMBOL_GPL(bcma_chipco_bcm4331_ext_pa_lines_ctl);
 
 void bcma_pmu_workarounds(struct bcma_drv_cc *cc)
 {
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 5a39b22..6bac5cf 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4713,6 +4713,13 @@ static int b43_wireless_core_init(struct b43_wldev *dev)
 	b43_upload_card_macaddress(dev);
 	b43_security_init(dev);
 
+#ifdef CONFIG_B43_BCMA
+	/* Required for tx to work on BCM4331 */
+	if (dev->dev->bus_type == B43_BUS_BCMA && dev->dev->chip_id == 0x4331)
+		bcma_chipco_bcm4331_ext_pa_lines_ctl(&dev->dev->bdev->bus->drv_cc,
+						     true);
+#endif
+
 	ieee80211_wake_queues(dev->wl->hw);
 
 	b43_set_status(dev, B43_STAT_INITIALIZED);
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-05-31 22:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-31 13:49 [PATCH] b43: ensure ext PA lines are enabled for BCM4331 Seth Forshee
2012-05-31 14:16 ` Hauke Mehrtens
2012-05-31 14:26   ` Seth Forshee
2012-05-31 16:23     ` Hauke Mehrtens
2012-05-31 22:06       ` Seth Forshee
2012-05-31 22:58         ` Hauke Mehrtens
2012-05-31 17:43     ` Arend van Spriel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).