Message ID | 20240614102835.518348-1-mslusarz@renau.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Ping-Ke Shih |
Headers | show |
Series | wifi: rtw88: usb: unbreak multicast | expand |
Marcin Ślusarz <marcin.slusarz@gmail.com> wrote: > > High queue is not functioning, for some reason. > Broken by 076f786a0ae14a81f40314b96a2d815e264bc213 Pointing out 076f786a0ae1 ("wifi: rtw88: Fix AP mode incorrect DTIM behavior") would be clearer. Please also mentioned the chip you are using. > > Signed-off-by: Marcin Ślusarz <mslusarz@renau.com> > Cc: Po-Hao Huang <phhuang@realtek.com> > Cc: Ping-Ke Shih <pkshih@realtek.com> > Cc: Kalle Valo <kvalo@kernel.org> > --- > drivers/net/wireless/realtek/rtw88/usb.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c > index c25fd4b193a7..aacc5a105b15 100644 > --- a/drivers/net/wireless/realtek/rtw88/usb.c > +++ b/drivers/net/wireless/realtek/rtw88/usb.c > @@ -492,9 +492,6 @@ static u8 rtw_usb_tx_queue_mapping_to_qsel(struct sk_buff *skb) > > if (unlikely(ieee80211_is_mgmt(fc) || ieee80211_is_ctl(fc))) > qsel = TX_DESC_QSEL_MGMT; > - else if (is_broadcast_ether_addr(hdr->addr1) || > - is_multicast_ether_addr(hdr->addr1)) > - qsel = TX_DESC_QSEL_HIGH; I think broadcast/multicast packets should go via HIGH queue is correct, but somehow registers aren't configured correctly. Bernie (you have CC'ed) will help to check registers. > else if (skb_get_queue_mapping(skb) <= IEEE80211_AC_BK) > qsel = skb->priority; > else > -- > 2.25.1
" =?utf-8?q?Marcin_=C5=9Alusarz?= " <marcin.slusarz@gmail.com> wrote: > High queue is not functioning, for some reason. > Broken by 076f786a0ae14a81f40314b96a2d815e264bc213 > > Signed-off-by: Marcin Ślusarz <mslusarz@renau.com> > Cc: Po-Hao Huang <phhuang@realtek.com> > Cc: Ping-Ke Shih <pkshih@realtek.com> > Cc: Kalle Valo <kvalo@kernel.org> Smith sent a patch [1] that finds cause and fixes the multicast problem. However, vendor driver has been changed the flow a littlt bit, we will make an new patch for this problem. So, set patchset state to Superseded [1] https://lore.kernel.org/linux-wireless/9174a776-4771-4351-85fa-476e240d8ace@gmail.com/T/#mee2cb8afb09f4bee333ab041defe20525d77f59e
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c index c25fd4b193a7..aacc5a105b15 100644 --- a/drivers/net/wireless/realtek/rtw88/usb.c +++ b/drivers/net/wireless/realtek/rtw88/usb.c @@ -492,9 +492,6 @@ static u8 rtw_usb_tx_queue_mapping_to_qsel(struct sk_buff *skb) if (unlikely(ieee80211_is_mgmt(fc) || ieee80211_is_ctl(fc))) qsel = TX_DESC_QSEL_MGMT; - else if (is_broadcast_ether_addr(hdr->addr1) || - is_multicast_ether_addr(hdr->addr1)) - qsel = TX_DESC_QSEL_HIGH; else if (skb_get_queue_mapping(skb) <= IEEE80211_AC_BK) qsel = skb->priority; else
High queue is not functioning, for some reason. Broken by 076f786a0ae14a81f40314b96a2d815e264bc213 Signed-off-by: Marcin Ślusarz <mslusarz@renau.com> Cc: Po-Hao Huang <phhuang@realtek.com> Cc: Ping-Ke Shih <pkshih@realtek.com> Cc: Kalle Valo <kvalo@kernel.org> --- drivers/net/wireless/realtek/rtw88/usb.c | 3 --- 1 file changed, 3 deletions(-)