Forráskód Böngészése

qca-wifi: Handle fraglist in full monitor path

Handle fraglist in full monitor path.

Change-Id: If808c49654a62d84d60de0b3511424a43d1e7375
Ankit Kumar 4 éve
szülő
commit
888cb7fccd
1 módosított fájl, 13 hozzáadás és 5 törlés
  1. 13 5
      dp/wifi3.0/dp_full_mon.c

+ 13 - 5
dp/wifi3.0/dp_full_mon.c

@@ -588,9 +588,17 @@ dp_rx_mon_mpdu_reap(struct dp_soc *soc, struct dp_pdev *pdev, uint32_t mac_id,
 						    l3_hdr_pad +
 						    l3_hdr_pad +
 						    frag_len);
 						    frag_len);
 
 
-			dp_rx_mon_add_msdu_to_list(head_msdu, msdu, &last_msdu,
-						   rx_tlv_hdr, frag_len,
-						   l3_hdr_pad);
+			if (dp_rx_mon_add_msdu_to_list(head_msdu, msdu,
+						       &last_msdu,
+						       rx_tlv_hdr, frag_len,
+						       l3_hdr_pad)
+				!= QDF_STATUS_SUCCESS) {
+				dp_rx_mon_add_msdu_to_list_failure_handler(rx_tlv_hdr,
+					pdev, &last_msdu, head_msdu,
+					tail_msdu, __func__);
+				drop_mpdu = true;
+				goto next_msdu;
+			}
 
 
 next_msdu:
 next_msdu:
 			rx_buf_reaped++;
 			rx_buf_reaped++;
@@ -626,8 +634,8 @@ next_msdu:
 	}
 	}
 	pdev->rx_mon_stats.dest_mpdu_done++;
 	pdev->rx_mon_stats.dest_mpdu_done++;
 
 
-	dp_rx_mon_init_tail_msdu(msdu, last_msdu, tail_msdu);
-	dp_rx_mon_remove_raw_frame_fcs_len(head_msdu);
+	dp_rx_mon_init_tail_msdu(head_msdu, msdu, last_msdu, tail_msdu);
+	dp_rx_mon_remove_raw_frame_fcs_len(head_msdu, tail_msdu);
 
 
 	return rx_buf_reaped;
 	return rx_buf_reaped;
 }
 }