aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch')
-rw-r--r--package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch b/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch
new file mode 100644
index 0000000000..61e509a7b4
--- /dev/null
+++ b/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch
@@ -0,0 +1,80 @@
+From c0a99bbb1b7a11605a53f84f5c444be3ef25a8ab Mon Sep 17 00:00:00 2001
+From: Jes Sorensen <Jes.Sorensen@redhat.com>
+Date: Tue, 20 Sep 2016 21:19:27 -0400
+Subject: [PATCH] rtl8xxxu: Clean up llt_init() API
+
+Remove last_tx_page argument from the llt_init() function. The
+rtl8xxxu_fileops structure contains the correct TX_TOTAL_PAGE_NUM
+value for the device, and rtl8xxxu_auto_llt_table() doesn't need to
+know the value in the first place.
+
+Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 +++---
+ drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 ++++++---
+ 2 files changed, 9 insertions(+), 6 deletions(-)
+
+--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+@@ -1318,7 +1318,7 @@ struct rtl8xxxu_fileops {
+ int (*power_on) (struct rtl8xxxu_priv *priv);
+ void (*power_off) (struct rtl8xxxu_priv *priv);
+ void (*reset_8051) (struct rtl8xxxu_priv *priv);
+- int (*llt_init) (struct rtl8xxxu_priv *priv, u8 last_tx_page);
++ int (*llt_init) (struct rtl8xxxu_priv *priv);
+ void (*init_phy_bb) (struct rtl8xxxu_priv *priv);
+ int (*init_phy_rf) (struct rtl8xxxu_priv *priv);
+ void (*phy_init_antenna_selection) (struct rtl8xxxu_priv *priv);
+@@ -1400,14 +1400,14 @@ int rtl8xxxu_load_firmware(struct rtl8xx
+ void rtl8xxxu_firmware_self_reset(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_power_off(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_reset_8051(struct rtl8xxxu_priv *priv);
+-int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page);
++int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_gen2_prepare_calibrate(struct rtl8xxxu_priv *priv, u8 start);
+ int rtl8xxxu_flush_fifo(struct rtl8xxxu_priv *priv);
+ int rtl8xxxu_gen2_h2c_cmd(struct rtl8xxxu_priv *priv,
+ struct h2c_cmd *h2c, int len);
+ int rtl8xxxu_active_to_lps(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_disabled_to_emu(struct rtl8xxxu_priv *priv);
+-int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page);
++int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_gen1_phy_iq_calibrate(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_gen1_init_phy_bb(struct rtl8xxxu_priv *priv);
+ void rtl8xxxu_gen1_set_tx_power(struct rtl8xxxu_priv *priv,
+--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+@@ -2472,10 +2472,13 @@ static int rtl8xxxu_llt_write(struct rtl
+ return ret;
+ }
+
+-int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page)
++int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv)
+ {
+ int ret;
+ int i;
++ u8 last_tx_page;
++
++ last_tx_page = priv->fops->total_page_num;
+
+ for (i = 0; i < last_tx_page; i++) {
+ ret = rtl8xxxu_llt_write(priv, i, i + 1);
+@@ -2503,7 +2506,7 @@ exit:
+ return ret;
+ }
+
+-int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page)
++int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv)
+ {
+ u32 val32;
+ int ret = 0;
+@@ -3988,7 +3991,7 @@ static int rtl8xxxu_init_device(struct i
+
+ dev_dbg(dev, "%s: macpower %i\n", __func__, macpower);
+ if (!macpower) {
+- ret = priv->fops->llt_init(priv, TX_TOTAL_PAGE_NUM);
++ ret = priv->fops->llt_init(priv);
+ if (ret) {
+ dev_warn(dev, "%s: LLT table init failed\n", __func__);
+ goto exit;