diff options
Diffstat (limited to 'net/mac80211/rx.c')
| -rw-r--r-- | net/mac80211/rx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 9a08f2c446c6..6e2a7bcd8cb8 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
| @@ -1253,6 +1253,12 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) | |||
| 1253 | if (skb_linearize(rx->skb)) | 1253 | if (skb_linearize(rx->skb)) |
| 1254 | return RX_DROP_UNUSABLE; | 1254 | return RX_DROP_UNUSABLE; |
| 1255 | 1255 | ||
| 1256 | /* | ||
| 1257 | * skb_linearize() might change the skb->data and | ||
| 1258 | * previously cached variables (in this case, hdr) need to | ||
| 1259 | * be refreshed with the new data. | ||
| 1260 | */ | ||
| 1261 | hdr = (struct ieee80211_hdr *)rx->skb->data; | ||
| 1256 | seq = (sc & IEEE80211_SCTL_SEQ) >> 4; | 1262 | seq = (sc & IEEE80211_SCTL_SEQ) >> 4; |
| 1257 | 1263 | ||
| 1258 | if (frag == 0) { | 1264 | if (frag == 0) { |
