Search Linux Wireless

Re: [PATCH] wifi: mac80211: remove debugfs dir for virtual monitor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/4/2025 8:42 AM, Alexander Wetzel wrote:
> Don't call ieee80211_debugfs_recreate_netdev() for virtual monitor
> interface when deleting it.
> 
> The virtual monitor interface shouldn't have debugfs entries and trying
> to update them will *create* them on deletion.
> 
> And when the virtual monitor interface is created/destroyed multiple
> times we'll get warnings about debugfs name conflicts.
> 
> Signed-off-by: Alexander Wetzel <Alexander@xxxxxxxxxxxxxx>
> ---
> That was a bit more tricky than expected:
> 
> local->monitor_sdata is normally already deleted when we call
> drv_remove_interface. And we can't simply skip the call for all monitor
> interfaces...
> 
> And one additional remark:
> My iwlmvm card is not taking it well when I bring down the monitor interface
> while TXing on it. The firmware crashes for my "Alder Lake-S PCH CNVi WiFi"
> card.
> 
> But that also happens with unpatched kernels and so I don't care
> much about that. I can make a bug report, if that's news and want you to
> look into that.
> 
> Alexander
> ---
>  net/mac80211/driver-ops.c | 10 ++++++++--
>  net/mac80211/iface.c      | 11 ++++++-----
>  2 files changed, 14 insertions(+), 7 deletions(-)
> 
> diff --git a/net/mac80211/driver-ops.c b/net/mac80211/driver-ops.c
> index 299d38e9e863..2fc60e1e77a5 100644
> --- a/net/mac80211/driver-ops.c
> +++ b/net/mac80211/driver-ops.c
> @@ -116,8 +116,14 @@ void drv_remove_interface(struct ieee80211_local *local,
>  
>  	sdata->flags &= ~IEEE80211_SDATA_IN_DRIVER;
>  
> -	/* Remove driver debugfs entries */
> -	ieee80211_debugfs_recreate_netdev(sdata, sdata->vif.valid_links);
> +	/*
> +	 * Remove driver debugfs entries.
> +	 * The virtual monitor interface doesn't get a debugfs
> +	 * entry, so it's exempt here.
> +	 */
> +	if (sdata != local->monitor_sdata)
> +		ieee80211_debugfs_recreate_netdev(sdata,
> +						  sdata->vif.valid_links);

With make W=1 C=1 I'm seeing the following which I think is a result of this
patch:

net/mac80211/driver-ops.c:124:19: error: incompatible types in comparison expression (different address spaces):
net/mac80211/driver-ops.c:124:19:    struct ieee80211_sub_if_data *
net/mac80211/driver-ops.c:124:19:    struct ieee80211_sub_if_data [noderef] __rcu *






[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux