mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 00:30:52 +07:00
mac80211: fix paged defragmentation
Paged RX skb patch broke the defragmentation. We need to read hdr again after linearization. It fixes following bug http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2194 Signed-off-by: Zhu, Yi <yi.zhu@intel.com> Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
ffdc4cbe5b
commit
058897a4e9
@ -1252,6 +1252,12 @@ ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx)
|
||||
if (skb_linearize(rx->skb))
|
||||
return RX_DROP_UNUSABLE;
|
||||
|
||||
/*
|
||||
* skb_linearize() might change the skb->data and
|
||||
* previously cached variables (in this case, hdr) need to
|
||||
* be refreshed with the new data.
|
||||
*/
|
||||
hdr = (struct ieee80211_hdr *)rx->skb->data;
|
||||
seq = (sc & IEEE80211_SCTL_SEQ) >> 4;
|
||||
|
||||
if (frag == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user