653-0056-rtl8xxxu-Make-sure-to-enable-OFDM-paths-for-8188eu-i.patch 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. From ba518f046cc1ce63b6984948b19b4d3903c5c30b Mon Sep 17 00:00:00 2001
  2. From: Jes Sorensen <Jes.Sorensen@redhat.com>
  3. Date: Mon, 3 Oct 2016 11:46:37 -0400
  4. Subject: [PATCH] rtl8xxxu: Make sure to enable OFDM paths for 8188eu in
  5. rtl8188e_enable_rf()
  6. Failure to re-enable OFDM paths results in the dongle only receiving
  7. CCK packets which isn't overly exciting.
  8. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
  9. ---
  10. drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 14 ++++++++++++++
  11. 1 file changed, 14 insertions(+)
  12. --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
  13. +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
  14. @@ -1353,8 +1353,22 @@ void rtl8188eu_power_off(struct rtl8xxxu
  15. static void rtl8188e_enable_rf(struct rtl8xxxu_priv *priv)
  16. {
  17. + u32 val32;
  18. +
  19. rtl8xxxu_write8(priv, REG_RF_CTRL, RF_ENABLE | RF_RSTB | RF_SDMRSTB);
  20. + val32 = rtl8xxxu_read32(priv, REG_OFDM0_TRX_PATH_ENABLE);
  21. + val32 &= ~(OFDM_RF_PATH_RX_MASK | OFDM_RF_PATH_TX_MASK);
  22. + if (priv->rx_paths == 2)
  23. + val32 |= OFDM_RF_PATH_RX_A | OFDM_RF_PATH_RX_B;
  24. + else
  25. + val32 |= OFDM_RF_PATH_RX_A;
  26. + if (priv->tx_paths == 2)
  27. + val32 |= OFDM_RF_PATH_TX_A | OFDM_RF_PATH_TX_B;
  28. + else
  29. + val32 |= OFDM_RF_PATH_TX_A;
  30. + rtl8xxxu_write32(priv, REG_OFDM0_TRX_PATH_ENABLE, val32);
  31. +
  32. rtl8xxxu_write8(priv, REG_TXPAUSE, 0x00);
  33. }