summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJes Sorensen <Jes.Sorensen@redhat.com>2016-09-30 19:35:17 -0400
committerKalle Valo <kvalo@codeaurora.org>2016-10-07 14:23:50 +0300
commitab05e5ec81c76f3a852919c22984c885edd2414a (patch)
treea69d7cb140b40d0cc5a1f8c529b7b7cf4897e1e7
parent8a55698f2f29d227825173420d7b99b9277ca88c (diff)
downloadop-kernel-dev-ab05e5ec81c76f3a852919c22984c885edd2414a.zip
op-kernel-dev-ab05e5ec81c76f3a852919c22984c885edd2414a.tar.gz
rtl8xxxu: Fix rtl8723bu driver reload issue
The generic disable_rf() function clears bits 22 and 23 in REG_RX_WAIT_CCA, however we did not re-enable them again in rtl8723b_enable_rf() This resolves the problem for me with 8723bu devices not working again after reloading the driver. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Cc: stable@vger.kernel.org # 4.7+ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r--drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
index 6c086b5..02b8ddd 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
@@ -1498,6 +1498,10 @@ static void rtl8723b_enable_rf(struct rtl8xxxu_priv *priv)
u32 val32;
u8 val8;
+ val32 = rtl8xxxu_read32(priv, REG_RX_WAIT_CCA);
+ val32 |= (BIT(22) | BIT(23));
+ rtl8xxxu_write32(priv, REG_RX_WAIT_CCA, val32);
+
/*
* No indication anywhere as to what 0x0790 does. The 2 antenna
* vendor code preserves bits 6-7 here.
OpenPOWER on IntegriCloud