diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-rx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index e5339c9ad13e..61b3b0e6ed73 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c | |||
@@ -140,6 +140,8 @@ int iwl_rx_queue_update_write_ptr(struct iwl_priv *priv, struct iwl_rx_queue *q) | |||
140 | reg = iwl_read32(priv, CSR_UCODE_DRV_GP1); | 140 | reg = iwl_read32(priv, CSR_UCODE_DRV_GP1); |
141 | 141 | ||
142 | if (reg & CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP) { | 142 | if (reg & CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP) { |
143 | IWL_DEBUG_INFO(priv, "Rx queue requesting wakeup, GP1 = 0x%x\n", | ||
144 | reg); | ||
143 | iwl_set_bit(priv, CSR_GP_CNTRL, | 145 | iwl_set_bit(priv, CSR_GP_CNTRL, |
144 | CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ); | 146 | CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ); |
145 | goto exit_unlock; | 147 | goto exit_unlock; |
@@ -937,12 +939,13 @@ static void iwl_pass_packet_to_mac80211(struct iwl_priv *priv, | |||
937 | iwl_set_decrypted_flag(priv, hdr, ampdu_status, stats)) | 939 | iwl_set_decrypted_flag(priv, hdr, ampdu_status, stats)) |
938 | return; | 940 | return; |
939 | 941 | ||
940 | skb = alloc_skb(IWL_LINK_HDR_MAX, GFP_ATOMIC); | 942 | skb = alloc_skb(IWL_LINK_HDR_MAX * 2, GFP_ATOMIC); |
941 | if (!skb) { | 943 | if (!skb) { |
942 | IWL_ERR(priv, "alloc_skb failed\n"); | 944 | IWL_ERR(priv, "alloc_skb failed\n"); |
943 | return; | 945 | return; |
944 | } | 946 | } |
945 | 947 | ||
948 | skb_reserve(skb, IWL_LINK_HDR_MAX); | ||
946 | skb_add_rx_frag(skb, 0, rxb->page, (void *)hdr - rxb_addr(rxb), len); | 949 | skb_add_rx_frag(skb, 0, rxb->page, (void *)hdr - rxb_addr(rxb), len); |
947 | 950 | ||
948 | /* mac80211 currently doesn't support paged SKB. Convert it to | 951 | /* mac80211 currently doesn't support paged SKB. Convert it to |