Skip to content

Commit 5582cbd

Browse files
committed
Merge tag 'rtw-next-2025-06-25' of https://github.com/pkshih/rtw
Ping-Ke Shih says: ================== rtw-next patches for v6.17 Regular development, refinement and minor fixes. Some notable changes are: rtw88: * enable AP/ad-hoc modes for SDIO devices rtw89: * implement BT-coexistence for WiFi MLO * ongoing to develop STA+P2P MCC ================== Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 parents 7322a7d + 16d8fd7 commit 5582cbd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+2413
-625
lines changed

drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1041,10 +1041,11 @@ static void rtl8187_stop(struct ieee80211_hw *dev, bool suspend)
10411041
rtl818x_iowrite8(priv, &priv->map->CONFIG4, reg | RTL818X_CONFIG4_VCOOFF);
10421042
rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD, RTL818X_EEPROM_CMD_NORMAL);
10431043

1044+
usb_kill_anchored_urbs(&priv->anchored);
1045+
10441046
while ((skb = skb_dequeue(&priv->b_tx_status.queue)))
10451047
dev_kfree_skb_any(skb);
10461048

1047-
usb_kill_anchored_urbs(&priv->anchored);
10481049
mutex_unlock(&priv->conf_mutex);
10491050

10501051
if (!priv->is_rtl8187b)

drivers/net/wireless/realtek/rtlwifi/pci.c

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -572,8 +572,11 @@ static int _rtl_pci_init_one_rxdesc(struct ieee80211_hw *hw,
572572
dma_map_single(&rtlpci->pdev->dev, skb_tail_pointer(skb),
573573
rtlpci->rxbuffersize, DMA_FROM_DEVICE);
574574
bufferaddress = *((dma_addr_t *)skb->cb);
575-
if (dma_mapping_error(&rtlpci->pdev->dev, bufferaddress))
575+
if (dma_mapping_error(&rtlpci->pdev->dev, bufferaddress)) {
576+
if (!new_skb)
577+
kfree_skb(skb);
576578
return 0;
579+
}
577580
rtlpci->rx_ring[rxring_idx].rx_buf[desc_idx] = skb;
578581
if (rtlpriv->use_new_trx_flow) {
579582
/* skb->cb may be 64 bit address */
@@ -802,13 +805,19 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
802805
skb = new_skb;
803806
no_new:
804807
if (rtlpriv->use_new_trx_flow) {
805-
_rtl_pci_init_one_rxdesc(hw, skb, (u8 *)buffer_desc,
806-
rxring_idx,
807-
rtlpci->rx_ring[rxring_idx].idx);
808+
if (!_rtl_pci_init_one_rxdesc(hw, skb, (u8 *)buffer_desc,
809+
rxring_idx,
810+
rtlpci->rx_ring[rxring_idx].idx)) {
811+
if (new_skb)
812+
dev_kfree_skb_any(skb);
813+
}
808814
} else {
809-
_rtl_pci_init_one_rxdesc(hw, skb, (u8 *)pdesc,
810-
rxring_idx,
811-
rtlpci->rx_ring[rxring_idx].idx);
815+
if (!_rtl_pci_init_one_rxdesc(hw, skb, (u8 *)pdesc,
816+
rxring_idx,
817+
rtlpci->rx_ring[rxring_idx].idx)) {
818+
if (new_skb)
819+
dev_kfree_skb_any(skb);
820+
}
812821
if (rtlpci->rx_ring[rxring_idx].idx ==
813822
rtlpci->rxringcount - 1)
814823
rtlpriv->cfg->ops->set_desc(hw, (u8 *)pdesc,

drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,9 +1738,9 @@ static void read_power_value_fromprom(struct ieee80211_hw *hw,
17381738
}
17391739
}
17401740

1741-
static void _rtl88ee_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
1742-
bool autoload_fail,
1743-
u8 *hwinfo)
1741+
static noinline_for_stack void
1742+
_rtl88ee_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
1743+
bool autoload_fail, u8 *hwinfo)
17441744
{
17451745
struct rtl_priv *rtlpriv = rtl_priv(hw);
17461746
struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));

drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ static bool rtl88e_get_btc_status(void)
190190
return false;
191191
}
192192

193-
static struct rtl_hal_ops rtl8188ee_hal_ops = {
193+
static const struct rtl_hal_ops rtl8188ee_hal_ops = {
194194
.init_sw_vars = rtl88e_init_sw_vars,
195195
.deinit_sw_vars = rtl88e_deinit_sw_vars,
196196
.read_eeprom_info = rtl88ee_read_eeprom_info,

drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1412,9 +1412,9 @@ void rtl92ce_update_interrupt_mask(struct ieee80211_hw *hw,
14121412
rtl92ce_enable_interrupt(hw);
14131413
}
14141414

1415-
static void _rtl92ce_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
1416-
bool autoload_fail,
1417-
u8 *hwinfo)
1415+
static noinline_for_stack void
1416+
_rtl92ce_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
1417+
bool autoload_fail, u8 *hwinfo)
14181418
{
14191419
struct rtl_priv *rtlpriv = rtl_priv(hw);
14201420
struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));

drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ static void rtl92c_deinit_sw_vars(struct ieee80211_hw *hw)
167167
}
168168
}
169169

170-
static struct rtl_hal_ops rtl8192ce_hal_ops = {
170+
static const struct rtl_hal_ops rtl8192ce_hal_ops = {
171171
.init_sw_vars = rtl92c_init_sw_vars,
172172
.deinit_sw_vars = rtl92c_deinit_sw_vars,
173173
.read_eeprom_info = rtl92ce_read_eeprom_info,

drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,9 @@ static void _rtl92cu_phy_param_tab_init(struct ieee80211_hw *hw)
9595
}
9696
}
9797

98-
static void _rtl92cu_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
99-
bool autoload_fail,
100-
u8 *hwinfo)
98+
static noinline_for_stack void
99+
_rtl92cu_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
100+
bool autoload_fail, u8 *hwinfo)
101101
{
102102
struct rtl_priv *rtlpriv = rtl_priv(hw);
103103
struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));

drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ static bool rtl92cu_get_btc_status(void)
8181
return false;
8282
}
8383

84-
static struct rtl_hal_ops rtl8192cu_hal_ops = {
84+
static const struct rtl_hal_ops rtl8192cu_hal_ops = {
8585
.init_sw_vars = rtl92cu_init_sw_vars,
8686
.deinit_sw_vars = rtl92cu_deinit_sw_vars,
8787
.read_chip_version = rtl92c_read_chip_version,
@@ -156,7 +156,7 @@ static struct rtl_hal_usbint_cfg rtl92cu_interface_cfg = {
156156
.usb_mq_to_hwq = rtl8192cu_mq_to_hwq,
157157
};
158158

159-
static struct rtl_hal_cfg rtl92cu_hal_cfg = {
159+
static const struct rtl_hal_cfg rtl92cu_hal_cfg = {
160160
.name = "rtl92c_usb",
161161
.alt_fw_name = "rtlwifi/rtl8192cufw.bin",
162162
.ops = &rtl8192cu_hal_ops,

drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ static void rtl92d_deinit_sw_vars(struct ieee80211_hw *hw)
184184
skb_queue_purge(&rtlpriv->mac80211.skb_waitq[tid]);
185185
}
186186

187-
static struct rtl_hal_ops rtl8192de_hal_ops = {
187+
static const struct rtl_hal_ops rtl8192de_hal_ops = {
188188
.init_sw_vars = rtl92d_init_sw_vars,
189189
.deinit_sw_vars = rtl92d_deinit_sw_vars,
190190
.read_eeprom_info = rtl92d_read_eeprom_info,

drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1731,7 +1731,7 @@ void rtl92ee_update_interrupt_mask(struct ieee80211_hw *hw,
17311731
rtl92ee_enable_interrupt(hw);
17321732
}
17331733

1734-
static u8 _rtl92ee_get_chnl_group(u8 chnl)
1734+
static __always_inline u8 _rtl92ee_get_chnl_group(u8 chnl)
17351735
{
17361736
u8 group = 0;
17371737

@@ -2009,8 +2009,9 @@ static void _rtl8192ee_read_power_value_fromprom(struct ieee80211_hw *hw,
20092009
}
20102010
}
20112011

2012-
static void _rtl92ee_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
2013-
bool autoload_fail, u8 *hwinfo)
2012+
static noinline_for_stack void
2013+
_rtl92ee_read_txpower_info_from_hwpg(struct ieee80211_hw *hw,
2014+
bool autoload_fail, u8 *hwinfo)
20142015
{
20152016
struct rtl_priv *rtlpriv = rtl_priv(hw);
20162017
struct rtl_efuse *efu = rtl_efuse(rtl_priv(hw));

0 commit comments

Comments
 (0)