Hi,
On 21.04.22 03:44, bo.jiao wrote:
hi felix:
mt7915_mac_fill_rx:
......
if (!status->wcid || !ieee80211_is_data_qos(fc))
return 0;
status->aggr = unicast &&
!ieee80211_is_qos_nullfunc(fc);
status->qos_ctl = qos_ctl;
status->seqno = IEEE80211_SEQ_TO_SN(seq_ctrl);
return 0;
it will be returned by the condition !ieee80211_is_data_qos(fc) when
receive non-Qos (null) data, and the status->aggr/status-
qos_ctl/status->seqno keep the default value 0.
mt76_rx_aggr_reorder:
....
sta = wcid_to_sta(wcid);
if (!sta)
return;
if (!status->aggr && !(status->flag & RX_FLAG_8023)) {
mt76_rx_aggr_check_ctl(skb, frames);
return;
}
....
those packet will be forced to do rx reorder and may incorrectly update
tid->head.
https://patchwork.kernel.org/project/linux-wireless/patch/2022042010503
8.36443-1-nbd@xxxxxxxx/
Your replacement patch did not include this change.
+ if (!status->aggr)
+ return;
+
Thanks.
I posted this patch: https://patchwork.kernel.org/project/linux-wireless/patch/20220420112524.52430-1-nbd@xxxxxxxx/
- Felix