aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-3945.c
diff options
context:
space:
mode:
authorZhu Yi <yi.zhu@intel.com>2009-11-06 17:52:45 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-11 15:23:41 -0500
commita3b6bd5bf23c5cd95389e24121da02d2330eaf21 (patch)
tree0f5664317960b5a44621aa7b10acd1d8e92b7c09 /drivers/net/wireless/iwlwifi/iwl-3945.c
parentcf7ff8dfe64c8ca8a71b4fcbac357a3476ed1888 (diff)
iwlwifi: allocate 128 bytes linear buffer for rx skb
Allocate 128 bytes linear buffer for rx skb. The first 64 bytes is reserved for mac80211 usage (for radiotap header expansion, etc). The frame header starts from the second 64 bytes. Cc: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-3945.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c
index 09a7bd2c0be4..26a1134f84a2 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -564,7 +564,7 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl_priv *priv,
564 return; 564 return;
565 } 565 }
566 566
567 skb = alloc_skb(IWL_LINK_HDR_MAX, GFP_ATOMIC); 567 skb = alloc_skb(IWL_LINK_HDR_MAX * 2, GFP_ATOMIC);
568 if (!skb) { 568 if (!skb) {
569 IWL_ERR(priv, "alloc_skb failed\n"); 569 IWL_ERR(priv, "alloc_skb failed\n");
570 return; 570 return;
@@ -575,6 +575,7 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl_priv *priv,
575 (struct ieee80211_hdr *)rxb_addr(rxb), 575 (struct ieee80211_hdr *)rxb_addr(rxb),
576 le32_to_cpu(rx_end->status), stats); 576 le32_to_cpu(rx_end->status), stats);
577 577
578 skb_reserve(skb, IWL_LINK_HDR_MAX);
578 skb_add_rx_frag(skb, 0, rxb->page, 579 skb_add_rx_frag(skb, 0, rxb->page,
579 (void *)rx_hdr->payload - (void *)pkt, len); 580 (void *)rx_hdr->payload - (void *)pkt, len);
580 581