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

Merge tag 'wireless-next-2023-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

Kalle Valo says:

====================
wireless-next patches for v6.3

Third set of patches for v6.3. This time only a set of small fixes
submitted during the last day or two.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+43 -34
+1 -1
drivers/net/wireless/intel/iwlegacy/4965-mac.c
··· 4020 4020 4021 4021 if (palive->ver_subtype == INITIALIZE_SUBTYPE) { 4022 4022 D_INFO("Initialization Alive received.\n"); 4023 - memcpy(&il->card_alive_init, &pkt->u.alive_frame, 4023 + memcpy(&il->card_alive_init, &pkt->u.raw, 4024 4024 sizeof(struct il_init_alive_resp)); 4025 4025 pwork = &il->init_alive_start; 4026 4026 } else {
-7
drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
··· 438 438 return simple_read_from_buffer(user_buf, count, ppos, buf, pos); 439 439 } 440 440 441 - static inline char *iwl_dbgfs_is_match(char *name, char *buf) 442 - { 443 - int len = strlen(name); 444 - 445 - return !strncmp(name, buf, len) ? buf + len : NULL; 446 - } 447 - 448 441 static ssize_t iwl_dbgfs_os_device_timediff_read(struct file *file, 449 442 char __user *user_buf, 450 443 size_t count, loff_t *ppos)
+1
drivers/net/wireless/realtek/rtl8xxxu/Kconfig
··· 5 5 config RTL8XXXU 6 6 tristate "Realtek 802.11n USB wireless chips support" 7 7 depends on MAC80211 && USB 8 + depends on LEDS_CLASS 8 9 help 9 10 This is an alternative driver for various Realtek RTL8XXX 10 11 parts written to utilize the Linux mac80211 stack.
+1 -1
drivers/net/wireless/realtek/rtw88/coex.c
··· 4056 4056 rtwdev->stats.tx_throughput, rtwdev->stats.rx_throughput); 4057 4057 seq_printf(m, "%-40s = %u/ %u/ %u\n", 4058 4058 "IPS/ Low Power/ PS mode", 4059 - test_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags), 4059 + !test_bit(RTW_FLAG_POWERON, rtwdev->flags), 4060 4060 test_bit(RTW_FLAG_LEISURE_PS_DEEP, rtwdev->flags), 4061 4061 rtwdev->lps_conf.mode); 4062 4062
+10
drivers/net/wireless/realtek/rtw88/mac.c
··· 273 273 if (rtw_pwr_seq_parser(rtwdev, pwr_seq)) 274 274 return -EINVAL; 275 275 276 + if (pwr_on) 277 + set_bit(RTW_FLAG_POWERON, rtwdev->flags); 278 + else 279 + clear_bit(RTW_FLAG_POWERON, rtwdev->flags); 280 + 276 281 return 0; 277 282 } 278 283 ··· 340 335 ret = rtw_mac_power_switch(rtwdev, true); 341 336 if (ret == -EALREADY) { 342 337 rtw_mac_power_switch(rtwdev, false); 338 + 339 + ret = rtw_mac_pre_system_cfg(rtwdev); 340 + if (ret) 341 + goto err; 342 + 343 343 ret = rtw_mac_power_switch(rtwdev, true); 344 344 if (ret) 345 345 goto err;
+1 -1
drivers/net/wireless/realtek/rtw88/main.h
··· 356 356 RTW_FLAG_RUNNING, 357 357 RTW_FLAG_FW_RUNNING, 358 358 RTW_FLAG_SCANNING, 359 - RTW_FLAG_INACTIVE_PS, 359 + RTW_FLAG_POWERON, 360 360 RTW_FLAG_LEISURE_PS, 361 361 RTW_FLAG_LEISURE_PS_DEEP, 362 362 RTW_FLAG_DIG_DISABLE,
+2 -2
drivers/net/wireless/realtek/rtw88/ps.c
··· 25 25 26 26 int rtw_enter_ips(struct rtw_dev *rtwdev) 27 27 { 28 - if (test_and_set_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags)) 28 + if (!test_bit(RTW_FLAG_POWERON, rtwdev->flags)) 29 29 return 0; 30 30 31 31 rtw_coex_ips_notify(rtwdev, COEX_IPS_ENTER); ··· 50 50 { 51 51 int ret; 52 52 53 - if (!test_and_clear_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags)) 53 + if (test_bit(RTW_FLAG_POWERON, rtwdev->flags)) 54 54 return 0; 55 55 56 56 rtw_hci_link_ps(rtwdev, false);
+1 -1
drivers/net/wireless/realtek/rtw88/wow.c
··· 592 592 if (rtw_get_lps_deep_mode(rtwdev) != LPS_DEEP_MODE_NONE) 593 593 rtw_leave_lps_deep(rtwdev); 594 594 } else { 595 - if (test_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags)) { 595 + if (!test_bit(RTW_FLAG_POWERON, rtwdev->flags)) { 596 596 rtw_wow->ips_enabled = true; 597 597 ret = rtw_leave_ips(rtwdev); 598 598 if (ret)
+26 -21
drivers/net/wireless/realtek/rtw89/core.c
··· 2435 2435 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; 2436 2436 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv; 2437 2437 int i; 2438 + int ret; 2438 2439 2439 2440 rtwsta->rtwdev = rtwdev; 2440 2441 rtwsta->rtwvif = rtwvif; ··· 2460 2459 RTW89_MAX_MAC_ID_NUM); 2461 2460 if (rtwsta->mac_id == RTW89_MAX_MAC_ID_NUM) 2462 2461 return -ENOSPC; 2462 + 2463 + ret = rtw89_mac_set_macid_pause(rtwdev, rtwsta->mac_id, false); 2464 + if (ret) { 2465 + rtw89_core_release_bit_map(rtwdev->mac_id_map, rtwsta->mac_id); 2466 + rtw89_warn(rtwdev, "failed to send h2c macid pause\n"); 2467 + return ret; 2468 + } 2469 + 2470 + ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta, 2471 + RTW89_ROLE_CREATE); 2472 + if (ret) { 2473 + rtw89_core_release_bit_map(rtwdev->mac_id_map, rtwsta->mac_id); 2474 + rtw89_warn(rtwdev, "failed to send h2c role info\n"); 2475 + return ret; 2476 + } 2463 2477 } 2464 2478 2465 2479 return 0; ··· 2529 2513 return ret; 2530 2514 } 2531 2515 2532 - if (vif->type == NL80211_IFTYPE_AP || sta->tdls) { 2533 - ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta, RTW89_ROLE_REMOVE); 2534 - if (ret) { 2535 - rtw89_warn(rtwdev, "failed to send h2c role info\n"); 2536 - return ret; 2537 - } 2538 - } 2539 - 2540 2516 /* update cam aid mac_id net_type */ 2541 2517 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL); 2542 2518 if (ret) { ··· 2549 2541 int ret; 2550 2542 2551 2543 if (vif->type == NL80211_IFTYPE_AP || sta->tdls) { 2552 - ret = rtw89_mac_set_macid_pause(rtwdev, rtwsta->mac_id, false); 2553 - if (ret) { 2554 - rtw89_warn(rtwdev, "failed to send h2c macid pause\n"); 2555 - return ret; 2556 - } 2557 - 2558 - ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta, RTW89_ROLE_CREATE); 2559 - if (ret) { 2560 - rtw89_warn(rtwdev, "failed to send h2c role info\n"); 2561 - return ret; 2562 - } 2563 - 2564 2544 if (sta->tdls) { 2565 2545 ret = rtw89_cam_init_bssid_cam(rtwdev, rtwvif, bssid_cam, sta->addr); 2566 2546 if (ret) { ··· 2618 2622 { 2619 2623 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; 2620 2624 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv; 2625 + int ret; 2621 2626 2622 2627 if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) 2623 2628 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta, 2624 2629 BTC_ROLE_MSTS_STA_DIS_CONN); 2625 - else if (vif->type == NL80211_IFTYPE_AP || sta->tdls) 2630 + else if (vif->type == NL80211_IFTYPE_AP || sta->tdls) { 2626 2631 rtw89_core_release_bit_map(rtwdev->mac_id_map, rtwsta->mac_id); 2632 + 2633 + ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta, 2634 + RTW89_ROLE_REMOVE); 2635 + if (ret) { 2636 + rtw89_warn(rtwdev, "failed to send h2c role info\n"); 2637 + return ret; 2638 + } 2639 + } 2627 2640 2628 2641 return 0; 2629 2642 }