summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
diff options
context:
space:
mode:
authorKarsten Wiese <fzuuzf@googlemail.com>2014-10-22 17:47:34 +0400
committerJohn W. Linville <linville@tuxdriver.com>2014-10-23 22:02:07 +0400
commit4f2b244c7d5b81ce4f0c6c0382f3a3b7c2dbec1c (patch)
tree7768d14df870c75a6da35da18141c7b8c1425419 /drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
parentcefe3dfdb9f5f498cae9871f7e52800f5e22c614 (diff)
downloadlinux-4f2b244c7d5b81ce4f0c6c0382f3a3b7c2dbec1c.tar.xz
rtl8192cu: Prevent Ooops under rtl92c_set_fw_rsvdpagepkt
rtl92c_set_fw_rsvdpagepkt is used by rtl8192cu and its pci sibling rtl8192ce. rtl_cmd_send_packet crashes when called inside rtl8192cu because it works on memory allocated only by rtl8192ce. Fix the crash by calling a dummy function when used in rtl8192cu. Comparision with the realtek vendor driver makes me think, something is missing in the dummy function. Short test as WPA2 station show good results connected to an 802.11g basestation. Traffic stops after few MBytes as WPA2 station connected to an 802.11n basestation. Signed-off-by: Karsten Wiese <fzuuzf@googlemail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h')
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
index a815bd6273da..b64ae45dc674 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
@@ -109,7 +109,9 @@ void rtl92c_fill_h2c_cmd(struct ieee80211_hw *hw, u8 element_id,
u32 cmd_len, u8 *p_cmdbuffer);
void rtl92c_firmware_selfreset(struct ieee80211_hw *hw);
void rtl92c_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode);
-void rtl92c_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool b_dl_finished);
+void rtl92c_set_fw_rsvdpagepkt
+ (struct ieee80211_hw *hw,
+ bool (*cmd_send_packet)(struct ieee80211_hw *, struct sk_buff *));
void rtl92c_set_fw_joinbss_report_cmd(struct ieee80211_hw *hw, u8 mstatus);
void usb_writeN_async(struct rtl_priv *rtlpriv, u32 addr, void *data, u16 len);
void rtl92c_set_p2p_ps_offload_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state);