diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-06-29 17:04:05 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-09-15 20:23:46 +0200 |
commit | 092e77d94847c7d8530e160106442d97404c4513 (patch) | |
tree | a2e9d3d03eb58e274bad95620c68c677f7fa57fc /package/kernel/mac80211/patches/652-0043-rtl8xxxu-Disable-packet-DMA-aggregation-on-8188eu.patch | |
parent | c1678f1fa0bfa3c53c706fad0897f9a0aec8dab2 (diff) | |
download | upstream-092e77d94847c7d8530e160106442d97404c4513.tar.gz upstream-092e77d94847c7d8530e160106442d97404c4513.tar.bz2 upstream-092e77d94847c7d8530e160106442d97404c4513.zip |
rtl8xxxu: add support for rtl8188eu
Patches by Jes Sorensen:
https://git.kernel.org/cgit/linux/kernel/git/jes/linux.git/
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'package/kernel/mac80211/patches/652-0043-rtl8xxxu-Disable-packet-DMA-aggregation-on-8188eu.patch')
-rw-r--r-- | package/kernel/mac80211/patches/652-0043-rtl8xxxu-Disable-packet-DMA-aggregation-on-8188eu.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/652-0043-rtl8xxxu-Disable-packet-DMA-aggregation-on-8188eu.patch b/package/kernel/mac80211/patches/652-0043-rtl8xxxu-Disable-packet-DMA-aggregation-on-8188eu.patch new file mode 100644 index 0000000000..268b30dcfc --- /dev/null +++ b/package/kernel/mac80211/patches/652-0043-rtl8xxxu-Disable-packet-DMA-aggregation-on-8188eu.patch @@ -0,0 +1,43 @@ +From 17cb73ae89e15b60276f0b6583d4ed30b6bdeb4f Mon Sep 17 00:00:00 2001 +From: Jes Sorensen <Jes.Sorensen@redhat.com> +Date: Wed, 10 Aug 2016 15:41:13 -0400 +Subject: [PATCH] rtl8xxxu: Disable packet DMA aggregation on 8188eu + +For now disable packet DMA aggregation on the 8188eu, rather then +risking the feature being left on by the init tables. + +Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> +--- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c +@@ -345,6 +345,19 @@ rtl8188e_set_tx_power(struct rtl8xxxu_pr + rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS15_MCS12, mcs); + } + ++void rtl8188eu_init_aggregation(struct rtl8xxxu_priv *priv) ++{ ++ u8 agg_ctrl, usb_spec; ++ ++ usb_spec = rtl8xxxu_read8(priv, REG_USB_SPECIAL_OPTION); ++ usb_spec &= ~USB_SPEC_USB_AGG_ENABLE; ++ rtl8xxxu_write8(priv, REG_USB_SPECIAL_OPTION, usb_spec); ++ ++ agg_ctrl = rtl8xxxu_read8(priv, REG_TRXDMA_CTRL); ++ agg_ctrl &= ~TRXDMA_CTRL_RXDMA_AGG_EN; ++ rtl8xxxu_write8(priv, REG_TRXDMA_CTRL, agg_ctrl); ++} ++ + static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv) + { + struct rtl8188eu_efuse *efuse = &priv->efuse_wifi.efuse8188eu; +@@ -1107,6 +1120,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops = + .phy_iq_calibrate = rtl8188eu_phy_iq_calibrate, + .config_channel = rtl8xxxu_gen1_config_channel, + .parse_rx_desc = rtl8xxxu_parse_rxdesc16, ++ .init_aggregation = rtl8188eu_init_aggregation, + .enable_rf = rtl8188e_enable_rf, + .disable_rf = rtl8188e_disable_rf, + .usb_quirks = rtl8188e_usb_quirks, |