Merge tag 'mt76-for-kvalo-2021-01-29' of https://github.com/nbd168/wireless
[linux-2.6-microblaze.git] / drivers / net / wireless / intel / iwlwifi / mvm / rx.c
index f0364ad..8ef5399 100644 (file)
 void iwl_mvm_rx_rx_phy_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
+       unsigned int pkt_len = iwl_rx_packet_payload_len(pkt);
+
+       if (unlikely(pkt_len < sizeof(mvm->last_phy_info)))
+               return;
 
        memcpy(&mvm->last_phy_info, pkt->data, sizeof(mvm->last_phy_info));
        mvm->ampdu_ref++;
@@ -874,12 +878,11 @@ void iwl_mvm_window_status_notif(struct iwl_mvm *mvm,
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
        struct iwl_ba_window_status_notif *notif = (void *)pkt->data;
        int i;
-       u32 pkt_len = iwl_rx_packet_payload_len(pkt);
 
-       if (WARN_ONCE(pkt_len != sizeof(*notif),
-                     "Received window status notification of wrong size (%u)\n",
-                     pkt_len))
-               return;
+       BUILD_BUG_ON(ARRAY_SIZE(notif->ra_tid) != BA_WINDOW_STREAMS_MAX);
+       BUILD_BUG_ON(ARRAY_SIZE(notif->mpdu_rx_count) != BA_WINDOW_STREAMS_MAX);
+       BUILD_BUG_ON(ARRAY_SIZE(notif->bitmap) != BA_WINDOW_STREAMS_MAX);
+       BUILD_BUG_ON(ARRAY_SIZE(notif->start_seq_num) != BA_WINDOW_STREAMS_MAX);
 
        rcu_read_lock();
        for (i = 0; i < BA_WINDOW_STREAMS_MAX; i++) {