[MAC80211]: split ieee80211_rx_h_check handler
The ieee80211_rx_h_check handler really does two things, it's a lot easier to understand if it's split into ieee80211_rx_h_check and ieee80211_rx_h_load_key, and it may be possible in the future to optimise the key loading to not do it for each interface. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Jiri Benc <jbenc@suse.cz> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8e6f003274
commit
570bd537a9
1 changed files with 11 additions and 1 deletions
|
@ -234,7 +234,6 @@ static ieee80211_txrx_result
|
|||
ieee80211_rx_h_check(struct ieee80211_txrx_data *rx)
|
||||
{
|
||||
struct ieee80211_hdr *hdr;
|
||||
int always_sta_key;
|
||||
hdr = (struct ieee80211_hdr *) rx->skb->data;
|
||||
|
||||
/* Drop duplicate 802.11 retransmissions (IEEE 802.11 Chap. 9.2.9) */
|
||||
|
@ -302,6 +301,16 @@ ieee80211_rx_h_check(struct ieee80211_txrx_data *rx)
|
|||
return TXRX_QUEUED;
|
||||
}
|
||||
|
||||
return TXRX_CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
static ieee80211_txrx_result
|
||||
ieee80211_rx_h_load_key(struct ieee80211_txrx_data *rx)
|
||||
{
|
||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) rx->skb->data;
|
||||
int always_sta_key;
|
||||
|
||||
if (rx->sdata->type == IEEE80211_IF_TYPE_STA)
|
||||
always_sta_key = 0;
|
||||
else
|
||||
|
@ -1208,6 +1217,7 @@ ieee80211_rx_handler ieee80211_rx_handlers[] =
|
|||
ieee80211_rx_h_monitor,
|
||||
ieee80211_rx_h_passive_scan,
|
||||
ieee80211_rx_h_check,
|
||||
ieee80211_rx_h_load_key,
|
||||
ieee80211_rx_h_sta_process,
|
||||
ieee80211_rx_h_ccmp_decrypt,
|
||||
ieee80211_rx_h_tkip_decrypt,
|
||||
|
|
Loading…
Reference in a new issue