Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'rtw-2025-12-15' of https://github.com/pkshih/rtw

Ping-Ke Shih says:
==================
rtw patches for v6.19-rc1

Fix two regressions of rtw88 and one existing issue that TID out of range
in rtlwifi.
==================

Signed-off-by: Johannes Berg <johannes.berg@intel.com>

+6 -4
+2 -1
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c
··· 511 511 if (sta) { 512 512 sta_entry = (struct rtl_sta_info *)sta->drv_priv; 513 513 tid = ieee80211_get_tid(hdr); 514 - agg_state = sta_entry->tids[tid].agg.agg_state; 514 + if (tid < MAX_TID_COUNT) 515 + agg_state = sta_entry->tids[tid].agg.agg_state; 515 516 ampdu_density = sta->deflink.ht_cap.ampdu_density; 516 517 } 517 518
+3 -1
drivers/net/wireless/realtek/rtw88/sdio.c
··· 144 144 145 145 static bool rtw_sdio_use_direct_io(struct rtw_dev *rtwdev, u32 addr) 146 146 { 147 + bool might_indirect_under_power_off = rtwdev->chip->id == RTW_CHIP_TYPE_8822C; 148 + 147 149 if (!test_bit(RTW_FLAG_POWERON, rtwdev->flags) && 148 - !rtw_sdio_is_bus_addr(addr)) 150 + !rtw_sdio_is_bus_addr(addr) && might_indirect_under_power_off) 149 151 return false; 150 152 151 153 return !rtw_sdio_is_sdio30_supported(rtwdev) ||
+1 -2
drivers/net/wireless/realtek/rtw88/usb.c
··· 965 965 struct sk_buff *rx_skb; 966 966 int i; 967 967 968 - rtwusb->rxwq = alloc_workqueue("rtw88_usb: rx wq", WQ_BH | WQ_UNBOUND, 969 - 0); 968 + rtwusb->rxwq = alloc_workqueue("rtw88_usb: rx wq", WQ_BH, 0); 970 969 if (!rtwusb->rxwq) { 971 970 rtw_err(rtwdev, "failed to create RX work queue\n"); 972 971 return -ENOMEM;