aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/realtek
diff options
context:
space:
mode:
authorPing-Ke Shih <pkshih@realtek.com>2016-12-28 16:40:04 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-03-12 00:41:50 -0500
commitd56dd01bc291962f5fb4b53f6ed6de852af0a0e3 (patch)
treeaa430dcc20a19c36767040a21b41bd7db0d613cb /drivers/net/wireless/realtek
parent24d77f99a7b74b4b68682d54ee79992b8aed7421 (diff)
rtlwifi: Fix alignment issues
commit 40b368af4b750863b2cb66a3a9513241db2f0793 upstream. The addresses of Wlan NIC registers are natural alignment, but some drivers have bugs. These are evident on platforms that need natural alignment to access registers. This change contains the following: 1. Function _rtl8821ae_dbi_read() is used to read one byte from DBI, thus it should use rtl_read_byte(). 2. Register 0x4C7 of 8192ee is single byte. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/wireless/realtek')
-rw-r--r--drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c2
-rw-r--r--drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
index ebf663e1a81a..cab4601eba8e 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
@@ -1006,7 +1006,7 @@ static void _rtl92ee_hw_configure(struct ieee80211_hw *hw)
1006 rtl_write_word(rtlpriv, REG_SIFS_TRX, 0x100a); 1006 rtl_write_word(rtlpriv, REG_SIFS_TRX, 0x100a);
1007 1007
1008 /* Note Data sheet don't define */ 1008 /* Note Data sheet don't define */
1009 rtl_write_word(rtlpriv, 0x4C7, 0x80); 1009 rtl_write_byte(rtlpriv, 0x4C7, 0x80);
1010 1010
1011 rtl_write_byte(rtlpriv, REG_RX_PKT_LIMIT, 0x20); 1011 rtl_write_byte(rtlpriv, REG_RX_PKT_LIMIT, 0x20);
1012 1012
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
index 1281ebe0c30a..2cbef9647acc 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
@@ -1128,7 +1128,7 @@ static u8 _rtl8821ae_dbi_read(struct rtl_priv *rtlpriv, u16 addr)
1128 } 1128 }
1129 if (0 == tmp) { 1129 if (0 == tmp) {
1130 read_addr = REG_DBI_RDATA + addr % 4; 1130 read_addr = REG_DBI_RDATA + addr % 4;
1131 ret = rtl_read_word(rtlpriv, read_addr); 1131 ret = rtl_read_byte(rtlpriv, read_addr);
1132 } 1132 }
1133 return ret; 1133 return ret;
1134} 1134}