diff options
-rw-r--r-- | drivers/staging/cw1200/bh.c | 8 | ||||
-rw-r--r-- | drivers/staging/cw1200/main.c | 3 | ||||
-rw-r--r-- | drivers/staging/cw1200/sta.c | 13 |
3 files changed, 13 insertions, 11 deletions
diff --git a/drivers/staging/cw1200/bh.c b/drivers/staging/cw1200/bh.c index 5f92caa2708..cc27e8b4aa5 100644 --- a/drivers/staging/cw1200/bh.c +++ b/drivers/staging/cw1200/bh.c @@ -359,14 +359,6 @@ rx: } read_len = 0; - - { - /* HACK!!! */ - /* Read CONFIG Register Value - HW BUG */ - u32 val32; - WARN_ON(cw1200_reg_read_32(priv, - ST90TDS_CONFIG_REG_ID, &val32)); - } } tx: diff --git a/drivers/staging/cw1200/main.c b/drivers/staging/cw1200/main.c index 047a7422767..da61ba165cf 100644 --- a/drivers/staging/cw1200/main.c +++ b/drivers/staging/cw1200/main.c @@ -246,6 +246,9 @@ struct ieee80211_hw *cw1200_init_common(size_t priv_data_len) /* IEEE80211_HW_SUPPORTS_UAPSD | */ IEEE80211_HW_CONNECTION_MONITOR | IEEE80211_HW_SUPPORTS_CQM_RSSI | +#if defined(CONFIG_CW1200_HT_SUPPORT) + IEEE80211_HW_AMPDU_AGGREGATION | +#endif #if defined(CONFIG_CW1200_USE_STE_EXTENSIONS) IEEE80211_HW_SUPPORTS_CQM_BEACON_MISS | IEEE80211_HW_SUPPORTS_CQM_TX_FAIL | diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c index 5f42e25c2fa..5f30cb4c338 100644 --- a/drivers/staging/cw1200/sta.c +++ b/drivers/staging/cw1200/sta.c @@ -696,13 +696,20 @@ void cw1200_rx_cb(struct cw1200_common *priv, hdr->signal = (s8)arg->rcpiRssi; hdr->antenna = 0; - if (arg->flags & 0x07) + if (WSM_RX_STATUS_ENCRYPTION(arg->flags)) { hdr->flag |= RX_FLAG_DECRYPTED; - if (arg->flags & BIT(14)) + if (!arg->status && + (WSM_RX_STATUS_ENCRYPTION(arg->flags) == + WSM_RX_STATUS_TKIP)) { + hdr->flag |= RX_FLAG_MMIC_STRIPPED; + skb_trim(skb, skb->len - 8 /*MICHAEL_MIC_LEN*/); + } + } + if (arg->flags & WSM_RX_STATUS_HT) hdr->flag |= RX_FLAG_HT; #if 0 /* Wrong: ACK could be disable for this ACL */ - if (arg->flags & BIT(16)) + if (arg->flags & WSM_RX_STATUS_ADDRESS1) priv->last_activity_time = jiffies; #endif |