]> Git Repo - linux.git/commitdiff
Merge tag 'wireless-next-2024-06-07' of git://git.kernel.org/pub/scm/linux/kernel...
authorJakub Kicinski <[email protected]>
Tue, 11 Jun 2024 00:40:25 +0000 (17:40 -0700)
committerJakub Kicinski <[email protected]>
Tue, 11 Jun 2024 00:40:26 +0000 (17:40 -0700)
Kalle Valo says:

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

The first "new features" pull request for v6.11 with changes both in
stack and in drivers. Nothing out of ordinary, except that we have
two conflicts this time:

net/mac80211/cfg.c
  https://lore.kernel.org/all/20240531124415.05b25e7a@canb.auug.org.au

drivers/net/wireless/microchip/wilc1000/netdev.c
  https://lore.kernel.org/all/20240603110023.23572803@canb.auug.org.au

Major changes:

cfg80211/mac80211
 * parse Transmit Power Envelope (TPE) data in mac80211 instead of in drivers

wilc1000
 * read MAC address during probe to make it visible to user space

iwlwifi
 * bump FW API to 91 for BZ/SC devices
 * report 64-bit radiotap timestamp
 * enable P2P low latency by default
 * handle Transmit Power Envelope (TPE) advertised by AP
 * start using guard()

rtlwifi
 * RTL8192DU support

ath12k
 * remove unsupported tx monitor handling
 * channel 2 in 6 GHz band support
 * Spatial Multiplexing Power Save (SMPS) in 6 GHz band support
 * multiple BSSID (MBSSID) and Enhanced Multi-BSSID Advertisements (EMA)
   support
 * dynamic VLAN support
 * add panic handler for resetting the firmware state

ath10k
 * add qcom,no-msa-ready-indicator Device Tree property
 * LED support for various chipsets

* tag 'wireless-next-2024-06-07' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (194 commits)
  wifi: ath12k: add hw_link_id in ath12k_pdev
  wifi: ath12k: add panic handler
  wifi: rtw89: chan: Use swap() in rtw89_swap_sub_entity()
  wifi: brcm80211: remove unused structs
  wifi: brcm80211: use sizeof(*pointer) instead of sizeof(type)
  wifi: ath12k: do not process consecutive RDDM event
  dt-bindings: net: wireless: ath11k: Drop "qcom,ipq8074-wcss-pil" from example
  wifi: ath12k: fix memory leak in ath12k_dp_rx_peer_frag_setup()
  wifi: rtlwifi: handle return value of usb init TX/RX
  wifi: rtlwifi: Enable the new rtl8192du driver
  wifi: rtlwifi: Add rtl8192du/sw.c
  wifi: rtlwifi: Constify rtl_hal_cfg.{ops,usb_interface_cfg} and rtl_priv.cfg
  wifi: rtlwifi: Add rtl8192du/dm.{c,h}
  wifi: rtlwifi: Add rtl8192du/fw.{c,h} and rtl8192du/led.{c,h}
  wifi: rtlwifi: Add rtl8192du/rf.{c,h}
  wifi: rtlwifi: Add rtl8192du/trx.{c,h}
  wifi: rtlwifi: Add rtl8192du/phy.{c,h}
  wifi: rtlwifi: Add rtl8192du/hw.{c,h}
  wifi: rtlwifi: Add new members to struct rtl_priv for RTL8192DU
  wifi: rtlwifi: Add rtl8192du/table.{c,h}
  ...

Signed-off-by: Jakub Kicinski <[email protected]>
====================

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
30 files changed:
1  2 
drivers/net/wireless/ath/ath10k/Kconfig
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/mac.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
drivers/net/wireless/intel/iwlwifi/dvm/Makefile
drivers/net/wireless/intel/iwlwifi/iwl-drv.c
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
drivers/net/wireless/intel/iwlwifi/mvm/fw.c
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
drivers/net/wireless/intel/iwlwifi/mvm/scan.c
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
drivers/net/wireless/microchip/wilc1000/cfg80211.c
drivers/net/wireless/microchip/wilc1000/hif.c
drivers/net/wireless/microchip/wilc1000/netdev.c
drivers/net/wireless/microchip/wilc1000/netdev.h
drivers/net/wireless/microchip/wilc1000/wlan.c
drivers/net/wireless/realtek/rtw88/pci.c
drivers/net/wireless/realtek/rtw89/pci.c
net/mac80211/cfg.c
net/mac80211/ieee80211_i.h
net/mac80211/main.c
net/mac80211/parse.c
net/mac80211/util.c
net/wireless/core.c
net/wireless/trace.h

Simple merge
index 710e29bea5605843a8c2e78406de3d8242bbb16c,4e2698528a49a3b10d4cd09a7681ad9999edb8bc..9ecf3fb29b558f611e3858d07771cb8fb9b7d64d
@@@ -679,9 -669,9 +672,9 @@@ static int wilc_set_mac_addr(struct net
                        return 0;
                }
        }
 -      rcu_read_unlock();
 +      srcu_read_unlock(&wilc->srcu, srcu_idx);
  
-       result = wilc_set_mac_address(vif, (u8 *)addr->sa_data);
+       result = wilc_set_mac_address(vif, addr->sa_data);
        if (result)
                return result;
  
@@@ -990,15 -979,26 +986,26 @@@ struct wilc_vif *wilc_netdev_ifc_init(s
        list_add_tail_rcu(&vif->list, &wl->vif_list);
        wl->vif_num += 1;
        mutex_unlock(&wl->vif_mutex);
 -      synchronize_rcu();
 +      synchronize_srcu(&wl->srcu);
  
-       return vif;
- error:
        if (rtnl_locked)
-               cfg80211_unregister_netdevice(ndev);
+               ret = cfg80211_register_netdevice(ndev);
        else
-               unregister_netdev(ndev);
+               ret = register_netdev(ndev);
+       if (ret) {
+               ret = -EFAULT;
+               goto error_remove_vif;
+       }
+       return vif;
+ error_remove_vif:
+       mutex_lock(&wl->vif_mutex);
+       list_del_rcu(&vif->list);
+       wl->vif_num -= 1;
+       mutex_unlock(&wl->vif_mutex);
 -      synchronize_rcu();
++      synchronize_srcu(&wl->srcu);
        free_netdev(ndev);
        return ERR_PTR(ret);
  }
index 83ad6c9709fe609414dc2a9a3519fc943293a2c5,62119e957cd8400bfa5346bd95be06c22a6b7d37..afb361a043d92d90cdeb6c896dfd06ab3750ff29
@@@ -4028,7 -4028,7 +4029,7 @@@ __ieee80211_channel_switch(struct wiph
        }
  
        cfg80211_ch_switch_started_notify(sdata->dev,
-                                         &link_data->csa_chanreq.oper, link_id,
 -                                        &link_data->csa.chanreq.oper, 0,
++                                        &link_data->csa.chanreq.oper, link_id,
                                          params->count, params->block_tx);
  
        if (changed) {
Simple merge
Simple merge
Simple merge
Simple merge
index 4b1f45e3070e06c72095037793cf5b087bf5cd0f,7c35349b959660934660ab1c96bfde4353351edb..4d5d351bd0b51e6d74230d946740af9da18e6633
@@@ -431,9 -433,10 +433,10 @@@ static void cfg80211_wiphy_work(struct 
        if (wk) {
                list_del_init(&wk->entry);
                if (!list_empty(&rdev->wiphy_work_list))
 -                      schedule_work(work);
 +                      queue_work(system_unbound_wq, work);
                spin_unlock_irq(&rdev->wiphy_work_lock);
  
+               trace_wiphy_work_run(&rdev->wiphy, wk);
                wk->func(&rdev->wiphy, wk);
        } else {
                spin_unlock_irq(&rdev->wiphy_work_lock);
Simple merge
This page took 0.188905 seconds and 4 git commands to generate.