aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_init.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_txrx.c3
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index d8779b907131..90cfd9066abf 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -513,7 +513,8 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
513 hw->flags = IEEE80211_HW_SIGNAL_DBM | 513 hw->flags = IEEE80211_HW_SIGNAL_DBM |
514 IEEE80211_HW_AMPDU_AGGREGATION | 514 IEEE80211_HW_AMPDU_AGGREGATION |
515 IEEE80211_HW_SPECTRUM_MGMT | 515 IEEE80211_HW_SPECTRUM_MGMT |
516 IEEE80211_HW_HAS_RATE_CONTROL; 516 IEEE80211_HW_HAS_RATE_CONTROL |
517 IEEE80211_HW_RX_INCLUDES_FCS;
517 518
518 hw->wiphy->interface_modes = 519 hw->wiphy->interface_modes =
519 BIT(NL80211_IFTYPE_STATION) | 520 BIT(NL80211_IFTYPE_STATION) |
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index befe5740e2b8..f1e3d830d7de 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -450,7 +450,7 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
450 padpos = ath9k_cmn_padpos(fc); 450 padpos = ath9k_cmn_padpos(fc);
451 451
452 padsize = padpos & 3; 452 padsize = padpos & 3;
453 if (padsize && skb->len >= padpos+padsize) { 453 if (padsize && skb->len >= padpos+padsize+FCS_LEN) {
454 memmove(skb->data + padsize, skb->data, padpos); 454 memmove(skb->data + padsize, skb->data, padpos);
455 skb_pull(skb, padsize); 455 skb_pull(skb, padsize);
456 } 456 }
@@ -646,7 +646,6 @@ void ath9k_htc_rxep(void *drv_priv, struct sk_buff *skb,
646 spin_lock(&priv->rx.rxbuflock); 646 spin_lock(&priv->rx.rxbuflock);
647 memcpy(&rxbuf->rxstatus, rxstatus, HTC_RX_FRAME_HEADER_SIZE); 647 memcpy(&rxbuf->rxstatus, rxstatus, HTC_RX_FRAME_HEADER_SIZE);
648 skb_pull(skb, HTC_RX_FRAME_HEADER_SIZE); 648 skb_pull(skb, HTC_RX_FRAME_HEADER_SIZE);
649 skb->len = rxstatus->rs_datalen;
650 rxbuf->skb = skb; 649 rxbuf->skb = skb;
651 rxbuf->in_process = true; 650 rxbuf->in_process = true;
652 spin_unlock(&priv->rx.rxbuflock); 651 spin_unlock(&priv->rx.rxbuflock);