|
@@ -564,7 +564,7 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl_priv *priv,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- skb = alloc_skb(IWL_LINK_HDR_MAX, GFP_ATOMIC);
|
|
|
+ skb = alloc_skb(IWL_LINK_HDR_MAX * 2, GFP_ATOMIC);
|
|
|
if (!skb) {
|
|
|
IWL_ERR(priv, "alloc_skb failed\n");
|
|
|
return;
|
|
@@ -575,6 +575,7 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl_priv *priv,
|
|
|
(struct ieee80211_hdr *)rxb_addr(rxb),
|
|
|
le32_to_cpu(rx_end->status), stats);
|
|
|
|
|
|
+ skb_reserve(skb, IWL_LINK_HDR_MAX);
|
|
|
skb_add_rx_frag(skb, 0, rxb->page,
|
|
|
(void *)rx_hdr->payload - (void *)pkt, len);
|
|
|
|