diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rx.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 46288e724889..777c09534cec 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -577,7 +577,8 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl_priv *priv, | |||
577 | if (ieee80211_is_data(hdr->frame_control)) | 577 | if (ieee80211_is_data(hdr->frame_control)) |
578 | priv->rxtxpackets += len; | 578 | priv->rxtxpackets += len; |
579 | #endif | 579 | #endif |
580 | ieee80211_rx_irqsafe(priv->hw, rxb->skb, stats); | 580 | memcpy(IEEE80211_SKB_RXCB(rxb->skb), stats, sizeof(*stats)); |
581 | ieee80211_rx_irqsafe(priv->hw, rxb->skb); | ||
581 | rxb->skb = NULL; | 582 | rxb->skb = NULL; |
582 | } | 583 | } |
583 | 584 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index 2b8d40b37a1c..2160795ed015 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c | |||
@@ -932,7 +932,8 @@ static void iwl_pass_packet_to_mac80211(struct iwl_priv *priv, | |||
932 | return; | 932 | return; |
933 | 933 | ||
934 | iwl_update_rx_stats(priv, le16_to_cpu(hdr->frame_control), len); | 934 | iwl_update_rx_stats(priv, le16_to_cpu(hdr->frame_control), len); |
935 | ieee80211_rx_irqsafe(priv->hw, rxb->skb, stats); | 935 | memcpy(IEEE80211_SKB_RXCB(rxb->skb), stats, sizeof(*stats)); |
936 | ieee80211_rx_irqsafe(priv->hw, rxb->skb); | ||
936 | priv->alloc_rxb_skb--; | 937 | priv->alloc_rxb_skb--; |
937 | rxb->skb = NULL; | 938 | rxb->skb = NULL; |
938 | } | 939 | } |