Loading dp/wifi3.0/dp_rx_defrag.c +11 −0 Original line number Diff line number Diff line Loading @@ -906,6 +906,17 @@ dp_rx_construct_fraglist(struct dp_peer *peer, int tid, qdf_nbuf_t head, prev_pn128[0] = cur_pn128[0]; prev_pn128[1] = cur_pn128[1]; /* * Broadcast and multicast frames should never be fragmented. * Iterating through all msdus and dropping fragments if even * one of them has mcast/bcast destination address. */ if (hal_rx_msdu_is_wlan_mcast(msdu)) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "Dropping multicast/broadcast fragments"); return QDF_STATUS_E_FAILURE; } dp_rx_frag_pull_hdr(msdu, hdrsize); len += qdf_nbuf_len(msdu); msdu = qdf_nbuf_next(msdu); Loading Loading
dp/wifi3.0/dp_rx_defrag.c +11 −0 Original line number Diff line number Diff line Loading @@ -906,6 +906,17 @@ dp_rx_construct_fraglist(struct dp_peer *peer, int tid, qdf_nbuf_t head, prev_pn128[0] = cur_pn128[0]; prev_pn128[1] = cur_pn128[1]; /* * Broadcast and multicast frames should never be fragmented. * Iterating through all msdus and dropping fragments if even * one of them has mcast/bcast destination address. */ if (hal_rx_msdu_is_wlan_mcast(msdu)) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "Dropping multicast/broadcast fragments"); return QDF_STATUS_E_FAILURE; } dp_rx_frag_pull_hdr(msdu, hdrsize); len += qdf_nbuf_len(msdu); msdu = qdf_nbuf_next(msdu); Loading