* brcmfmac: error messages while entering suspend
@ 2024-11-03 11:01 Stefan Wahren
2024-11-04 10:06 ` Arend van Spriel
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Wahren @ 2024-11-03 11:01 UTC (permalink / raw)
To: Arend van Spriel, Ulf Hansson
Cc: linux-wireless@vger.kernel.org,
brcm80211-dev-list.pdl@broadcom.com, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
Hi,
I'm currently working on s2idle support for Raspberry Pi 3B+ (BCM43455
SDIO). During the tests with I noticed harmless, but annoying error
messages from brcmfmac like this:
[ 383.186640] PM: suspend entry (s2idle)
[ 383.190107] Filesystems sync: 0.003 seconds
[ 383.247470] Freezing user space processes
[ 383.250291] Freezing user space processes completed (elapsed 0.002
seconds)
[ 383.250379] OOM killer disabled.
[ 383.250385] Freezing remaining freezable tasks
[ 383.251677] Freezing remaining freezable tasks completed (elapsed
0.001 seconds)
[ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
nothing to do.
[ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
These errors are not new and I assume they have always been there. I'm
not an expert here, so I want to know is the problem here that the SDIO
interface is shutdown before brcmfmac is suspended or lies the issue
within brcmfmac suspend itself?
Here is a calltrace for the error above:
[ 384.291308] brcmf_fil_cmd_data+0xe0/0x114 [brcmfmac] (P)
[ 384.291347] brcmf_fil_iovar_data_get+0xcc/0x134 [brcmfmac] (L)
[ 384.291384] brcmf_fil_iovar_data_get+0xcc/0x134 [brcmfmac]
[ 384.291420] brcmf_cfg80211_get_tx_power+0x58/0xd4 [brcmfmac]
[ 384.291458] nl80211_send_iface+0x1e8/0x584 [cfg80211]
[ 384.291549] nl80211_notify_iface+0x58/0xd4 [cfg80211]
[ 384.291615] _cfg80211_unregister_wdev+0x40/0x27c [cfg80211]
[ 384.291682] cfg80211_unregister_wdev+0x14/0x20 [cfg80211]
[ 384.291748] brcmf_p2p_ifp_removed+0x6c/0x98 [brcmfmac]
[ 384.291785] brcmf_remove_interface+0x170/0x1ec [brcmfmac]
[ 384.291822] brcmf_detach+0x60/0xfc [brcmfmac]
[ 384.291859] brcmf_sdio_remove+0x4c/0x188 [brcmfmac]
[ 384.291896] brcmf_sdiod_remove+0x24/0xa4 [brcmfmac]
[ 384.291933] brcmf_ops_sdio_suspend+0x100/0x1c8 [brcmfmac]
[ 384.291971] pm_generic_suspend+0x2c/0x44
[ 384.291982] dpm_run_callback.constprop.0+0x74/0x134
[ 384.291993] device_suspend+0x110/0x3d0
[ 384.292002] async_suspend+0x24/0x3c
[ 384.292012] async_run_entry_fn+0x34/0xe0
[ 384.292022] process_one_work+0x150/0x294
[ 384.292032] worker_thread+0x2dc/0x3dc
[ 384.292041] kthread+0x118/0x11c
[ 384.292049] ret_from_fork+0x10/0x20
Best regards
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: brcmfmac: error messages while entering suspend
2024-11-03 11:01 brcmfmac: error messages while entering suspend Stefan Wahren
@ 2024-11-04 10:06 ` Arend van Spriel
2024-11-04 11:59 ` Stefan Wahren
0 siblings, 1 reply; 7+ messages in thread
From: Arend van Spriel @ 2024-11-04 10:06 UTC (permalink / raw)
To: Stefan Wahren, Arend van Spriel, Ulf Hansson
Cc: linux-wireless, brcm80211-dev-list.pdl, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
On November 3, 2024 12:01:55 PM Stefan Wahren <wahrenst@gmx.net> wrote:
> Hi,
> I'm currently working on s2idle support for Raspberry Pi 3B+ (BCM43455
> SDIO). During the tests with I noticed harmless, but annoying error
> messages from brcmfmac like this:
>
> [ 383.186640] PM: suspend entry (s2idle)
> [ 383.190107] Filesystems sync: 0.003 seconds
> [ 383.247470] Freezing user space processes
> [ 383.250291] Freezing user space processes completed (elapsed 0.002
> seconds)
> [ 383.250379] OOM killer disabled.
> [ 383.250385] Freezing remaining freezable tasks
> [ 383.251677] Freezing remaining freezable tasks completed (elapsed
> 0.001 seconds)
> [ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
> nothing to do.
> [ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
>
> These errors are not new and I assume they have always been there. I'm
> not an expert here, so I want to know is the problem here that the SDIO
> interface is shutdown before brcmfmac is suspended or lies the issue
> within brcmfmac suspend itself?
Hi Stefan,
Upon suspend we execute the remove path and cleaning the interfaces. We
notify cfg80211 about the removal, which in turn will notify userspace,
but is tries to obtain the tx power from brcmfmac. However, at this
stage the communication with the dongle is already gone. These messages
are also seen in the module unload scenario. It seems a bit redundant to
query a device that is going to be removed. So it could be fixed by
chiming down those message or avoid it completely by changing the
behavior in cfg80211.
Regards,
Arend
> Here is a calltrace for the error above:
>
> [ 384.291308] brcmf_fil_cmd_data+0xe0/0x114 [brcmfmac] (P)
> [ 384.291347] brcmf_fil_iovar_data_get+0xcc/0x134 [brcmfmac] (L)
> [ 384.291384] brcmf_fil_iovar_data_get+0xcc/0x134 [brcmfmac]
> [ 384.291420] brcmf_cfg80211_get_tx_power+0x58/0xd4 [brcmfmac]
> [ 384.291458] nl80211_send_iface+0x1e8/0x584 [cfg80211]
> [ 384.291549] nl80211_notify_iface+0x58/0xd4 [cfg80211]
> [ 384.291615] _cfg80211_unregister_wdev+0x40/0x27c [cfg80211]
> [ 384.291682] cfg80211_unregister_wdev+0x14/0x20 [cfg80211]
> [ 384.291748] brcmf_p2p_ifp_removed+0x6c/0x98 [brcmfmac]
> [ 384.291785] brcmf_remove_interface+0x170/0x1ec [brcmfmac]
> [ 384.291822] brcmf_detach+0x60/0xfc [brcmfmac]
> [ 384.291859] brcmf_sdio_remove+0x4c/0x188 [brcmfmac]
> [ 384.291896] brcmf_sdiod_remove+0x24/0xa4 [brcmfmac]
> [ 384.291933] brcmf_ops_sdio_suspend+0x100/0x1c8 [brcmfmac]
> [ 384.291971] pm_generic_suspend+0x2c/0x44
> [ 384.291982] dpm_run_callback.constprop.0+0x74/0x134
> [ 384.291993] device_suspend+0x110/0x3d0
> [ 384.292002] async_suspend+0x24/0x3c
> [ 384.292012] async_run_entry_fn+0x34/0xe0
> [ 384.292022] process_one_work+0x150/0x294
> [ 384.292032] worker_thread+0x2dc/0x3dc
> [ 384.292041] kthread+0x118/0x11c
> [ 384.292049] ret_from_fork+0x10/0x20
>
> Best regards
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: brcmfmac: error messages while entering suspend
2024-11-04 10:06 ` Arend van Spriel
@ 2024-11-04 11:59 ` Stefan Wahren
2024-11-04 12:18 ` Johannes Berg
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Wahren @ 2024-11-04 11:59 UTC (permalink / raw)
To: Arend van Spriel, Arend van Spriel, Ulf Hansson, Johannes Berg
Cc: linux-wireless, brcm80211-dev-list.pdl, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
Hi Arend,
[add Johannes]
Am 04.11.24 um 11:06 schrieb Arend van Spriel:
> On November 3, 2024 12:01:55 PM Stefan Wahren <wahrenst@gmx.net> wrote:
>
>> Hi,
>> I'm currently working on s2idle support for Raspberry Pi 3B+ (BCM43455
>> SDIO). During the tests with I noticed harmless, but annoying error
>> messages from brcmfmac like this:
>>
>> [ 383.186640] PM: suspend entry (s2idle)
>> [ 383.190107] Filesystems sync: 0.003 seconds
>> [ 383.247470] Freezing user space processes
>> [ 383.250291] Freezing user space processes completed (elapsed 0.002
>> seconds)
>> [ 383.250379] OOM killer disabled.
>> [ 383.250385] Freezing remaining freezable tasks
>> [ 383.251677] Freezing remaining freezable tasks completed (elapsed
>> 0.001 seconds)
>> [ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
>> nothing to do.
>> [ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
>>
>> These errors are not new and I assume they have always been there. I'm
>> not an expert here, so I want to know is the problem here that the SDIO
>> interface is shutdown before brcmfmac is suspended or lies the issue
>> within brcmfmac suspend itself?
>
> Hi Stefan,
>
> Upon suspend we execute the remove path and cleaning the interfaces.
> We notify cfg80211 about the removal, which in turn will notify
> userspace, but is tries to obtain the tx power from brcmfmac. However,
> at this stage the communication with the dongle is already gone. These
> messages are also seen in the module unload scenario. It seems a bit
> redundant to query a device that is going to be removed. So it could
> be fixed by chiming down those message or avoid it completely by
> changing the behavior in cfg80211.
chiming down all the affected messages (i reported only one example
here) sounds strange to me. Maybe Johannes has also a opinion about this.
Regards
>
> Regards,
> Arend
>
>> Here is a calltrace for the error above:
>>
>> [ 384.291308] brcmf_fil_cmd_data+0xe0/0x114 [brcmfmac] (P)
>> [ 384.291347] brcmf_fil_iovar_data_get+0xcc/0x134 [brcmfmac] (L)
>> [ 384.291384] brcmf_fil_iovar_data_get+0xcc/0x134 [brcmfmac]
>> [ 384.291420] brcmf_cfg80211_get_tx_power+0x58/0xd4 [brcmfmac]
>> [ 384.291458] nl80211_send_iface+0x1e8/0x584 [cfg80211]
>> [ 384.291549] nl80211_notify_iface+0x58/0xd4 [cfg80211]
>> [ 384.291615] _cfg80211_unregister_wdev+0x40/0x27c [cfg80211]
>> [ 384.291682] cfg80211_unregister_wdev+0x14/0x20 [cfg80211]
>> [ 384.291748] brcmf_p2p_ifp_removed+0x6c/0x98 [brcmfmac]
>> [ 384.291785] brcmf_remove_interface+0x170/0x1ec [brcmfmac]
>> [ 384.291822] brcmf_detach+0x60/0xfc [brcmfmac]
>> [ 384.291859] brcmf_sdio_remove+0x4c/0x188 [brcmfmac]
>> [ 384.291896] brcmf_sdiod_remove+0x24/0xa4 [brcmfmac]
>> [ 384.291933] brcmf_ops_sdio_suspend+0x100/0x1c8 [brcmfmac]
>> [ 384.291971] pm_generic_suspend+0x2c/0x44
>> [ 384.291982] dpm_run_callback.constprop.0+0x74/0x134
>> [ 384.291993] device_suspend+0x110/0x3d0
>> [ 384.292002] async_suspend+0x24/0x3c
>> [ 384.292012] async_run_entry_fn+0x34/0xe0
>> [ 384.292022] process_one_work+0x150/0x294
>> [ 384.292032] worker_thread+0x2dc/0x3dc
>> [ 384.292041] kthread+0x118/0x11c
>> [ 384.292049] ret_from_fork+0x10/0x20
>>
>> Best regards
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: brcmfmac: error messages while entering suspend
2024-11-04 11:59 ` Stefan Wahren
@ 2024-11-04 12:18 ` Johannes Berg
2024-11-04 15:41 ` Arend Van Spriel
2024-11-04 20:06 ` Stefan Wahren
0 siblings, 2 replies; 7+ messages in thread
From: Johannes Berg @ 2024-11-04 12:18 UTC (permalink / raw)
To: Stefan Wahren, Arend van Spriel, Arend van Spriel, Ulf Hansson
Cc: linux-wireless, brcm80211-dev-list.pdl, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
On Mon, 2024-11-04 at 12:59 +0100, Stefan Wahren wrote:
>
> > > [ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
> > > nothing to do.
> > > [ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
> > >
> > > These errors are not new and I assume they have always been there. I'm
> > > not an expert here, so I want to know is the problem here that the SDIO
> > > interface is shutdown before brcmfmac is suspended or lies the issue
> > > within brcmfmac suspend itself?
> > Upon suspend we execute the remove path and cleaning the interfaces.
> > We notify cfg80211 about the removal, which in turn will notify
> > userspace, but is tries to obtain the tx power from brcmfmac.
I guess "it tries to obtain" is some sort of event path that wants to
include the TX power in an event. That doesn't seem to make all that
much sense on removal events though, so perhaps we could remove the
get_channel and get_tx_power calls for NL80211_CMD_DEL_INTERFACE.
> > However,
> > at this stage the communication with the dongle is already gone. These
> > messages are also seen in the module unload scenario. It seems a bit
> > redundant to query a device that is going to be removed. So it could
> > be fixed by chiming down those message or avoid it completely by
> > changing the behavior in cfg80211.
> chiming down all the affected messages (i reported only one example
> here) sounds strange to me. Maybe Johannes has also a opinion about this.
Dunno about the messages, I mean it's still possible to get those
messages when e.g. userspace manages to query just while it died, so
perhaps you wouldn't want to print it for all cases, but OTOH that's not
going to happen all the time.
But I don't have much opinion on driver messages :)
johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: brcmfmac: error messages while entering suspend
2024-11-04 12:18 ` Johannes Berg
@ 2024-11-04 15:41 ` Arend Van Spriel
2024-11-04 20:06 ` Stefan Wahren
1 sibling, 0 replies; 7+ messages in thread
From: Arend Van Spriel @ 2024-11-04 15:41 UTC (permalink / raw)
To: Johannes Berg, Stefan Wahren, Arend van Spriel, Ulf Hansson
Cc: linux-wireless, brcm80211-dev-list.pdl, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
On November 4, 2024 1:18:44 PM Johannes Berg <johannes@sipsolutions.net> wrote:
> On Mon, 2024-11-04 at 12:59 +0100, Stefan Wahren wrote:
>>
>>>> [ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
>>>> nothing to do.
>>>> [ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
>>>>
>>>> These errors are not new and I assume they have always been there. I'm
>>>> not an expert here, so I want to know is the problem here that the SDIO
>>>> interface is shutdown before brcmfmac is suspended or lies the issue
>>>> within brcmfmac suspend itself?
>
>>> Upon suspend we execute the remove path and cleaning the interfaces.
>>> We notify cfg80211 about the removal, which in turn will notify
>>> userspace, but is tries to obtain the tx power from brcmfmac.
>
> I guess "it tries to obtain" is some sort of event path that wants to
> include the TX power in an event. That doesn't seem to make all that
> much sense on removal events though, so perhaps we could remove the
> get_channel and get_tx_power calls for NL80211_CMD_DEL_INTERFACE.
That's what I was considering.
>
>
>>> However,
>>> at this stage the communication with the dongle is already gone. These
>>> messages are also seen in the module unload scenario. It seems a bit
>>> redundant to query a device that is going to be removed. So it could
>>> be fixed by chiming down those message or avoid it completely by
>>> changing the behavior in cfg80211.
>
>> chiming down all the affected messages (i reported only one example
>> here) sounds strange to me. Maybe Johannes has also a opinion about this.
>
> Dunno about the messages, I mean it's still possible to get those
> messages when e.g. userspace manages to query just while it died, so
> perhaps you wouldn't want to print it for all cases, but OTOH that's not
> going to happen all the time.
>
> But I don't have much opinion on driver messages :)
Sure. The two messages mentioned above are the ones I meant with coming
down. Not all driver messages. At least the message in brcmf_fil_cmd_data()
is not very useful. Could just be a debug print iso error print.
Regards,
Arend
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: brcmfmac: error messages while entering suspend
2024-11-04 12:18 ` Johannes Berg
2024-11-04 15:41 ` Arend Van Spriel
@ 2024-11-04 20:06 ` Stefan Wahren
2024-11-23 9:51 ` Arend Van Spriel
1 sibling, 1 reply; 7+ messages in thread
From: Stefan Wahren @ 2024-11-04 20:06 UTC (permalink / raw)
To: Johannes Berg, Arend van Spriel, Arend van Spriel, Ulf Hansson
Cc: linux-wireless, brcm80211-dev-list.pdl, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
Hi,
Am 04.11.24 um 13:18 schrieb Johannes Berg:
> On Mon, 2024-11-04 at 12:59 +0100, Stefan Wahren wrote:
>>>> [ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
>>>> nothing to do.
>>>> [ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
>>>>
>>>> These errors are not new and I assume they have always been there. I'm
>>>> not an expert here, so I want to know is the problem here that the SDIO
>>>> interface is shutdown before brcmfmac is suspended or lies the issue
>>>> within brcmfmac suspend itself?
>>> Upon suspend we execute the remove path and cleaning the interfaces.
>>> We notify cfg80211 about the removal, which in turn will notify
>>> userspace, but is tries to obtain the tx power from brcmfmac.
> I guess "it tries to obtain" is some sort of event path that wants to
> include the TX power in an event. That doesn't seem to make all that
> much sense on removal events though, so perhaps we could remove the
> get_channel and get_tx_power calls for NL80211_CMD_DEL_INTERFACE.
>
Not sure if I get it right, but the follow patch make the errors go away:
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 1ac8a196f376..52120cce2f7e 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -4006,23 +4006,25 @@ static int nl80211_send_iface(struct sk_buff
*msg, u32 portid, u32 seq, int flag
nla_put_u32(msg, NL80211_ATTR_VIF_RADIO_MASK, wdev->radio_mask))
goto nla_put_failure;
- if (rdev->ops->get_channel && !wdev->valid_links) {
- struct cfg80211_chan_def chandef = {};
- int ret;
+ if (cmd != NL80211_CMD_DEL_INTERFACE) {
+ if (rdev->ops->get_channel && !wdev->valid_links) {
+ struct cfg80211_chan_def chandef = {};
+ int ret;
- ret = rdev_get_channel(rdev, wdev, 0, &chandef);
- if (ret == 0 && nl80211_send_chandef(msg, &chandef))
- goto nla_put_failure;
- }
+ ret = rdev_get_channel(rdev, wdev, 0, &chandef);
+ if (ret == 0 && nl80211_send_chandef(msg, &chandef))
+ goto nla_put_failure;
+ }
- if (rdev->ops->get_tx_power) {
- int dbm, ret;
+ if (rdev->ops->get_tx_power) {
+ int dbm, ret;
- ret = rdev_get_tx_power(rdev, wdev, &dbm);
- if (ret == 0 &&
- nla_put_u32(msg, NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
- DBM_TO_MBM(dbm)))
- goto nla_put_failure;
+ ret = rdev_get_tx_power(rdev, wdev, &dbm);
+ if (ret == 0 &&
+ nla_put_u32(msg, NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
+ DBM_TO_MBM(dbm)))
+ goto nla_put_failure;
+ }
}
switch (wdev->iftype) {
But this change doesn't consider get_txq_stats and the further calls
rdev_get_channel for the valid_links.
Do we actually need nl80211_send_iface() for NL80211_CMD_DEL_INTERFACE?
Regards
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: brcmfmac: error messages while entering suspend
2024-11-04 20:06 ` Stefan Wahren
@ 2024-11-23 9:51 ` Arend Van Spriel
0 siblings, 0 replies; 7+ messages in thread
From: Arend Van Spriel @ 2024-11-23 9:51 UTC (permalink / raw)
To: Stefan Wahren, Johannes Berg, Arend van Spriel, Ulf Hansson
Cc: linux-wireless, brcm80211-dev-list.pdl, SHA-cyfmac-dev-list,
Kalle Valo, linux-mmc
On November 4, 2024 9:06:04 PM Stefan Wahren <wahrenst@gmx.net> wrote:
> Hi,
>
> Am 04.11.24 um 13:18 schrieb Johannes Berg:
>> On Mon, 2024-11-04 at 12:59 +0100, Stefan Wahren wrote:
>>>>> [ 384.292071] ieee80211 phy0: brcmf_fil_cmd_data: bus is down. we have
>>>>> nothing to do.
>>>>> [ 384.292079] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-5)
>>>>>
>>>>> These errors are not new and I assume they have always been there. I'm
>>>>> not an expert here, so I want to know is the problem here that the SDIO
>>>>> interface is shutdown before brcmfmac is suspended or lies the issue
>>>>> within brcmfmac suspend itself?
>>>> Upon suspend we execute the remove path and cleaning the interfaces.
>>>> We notify cfg80211 about the removal, which in turn will notify
>>>> userspace, but is tries to obtain the tx power from brcmfmac.
>> I guess "it tries to obtain" is some sort of event path that wants to
>> include the TX power in an event. That doesn't seem to make all that
>> much sense on removal events though, so perhaps we could remove the
>> get_channel and get_tx_power calls for NL80211_CMD_DEL_INTERFACE.
> Not sure if I get it right, but the follow patch make the errors go away:
>
> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
> index 1ac8a196f376..52120cce2f7e 100644
> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -4006,23 +4006,25 @@ static int nl80211_send_iface(struct sk_buff
> *msg, u32 portid, u32 seq, int flag
> nla_put_u32(msg, NL80211_ATTR_VIF_RADIO_MASK, wdev->radio_mask))
> goto nla_put_failure;
>
> - if (rdev->ops->get_channel && !wdev->valid_links) {
> - struct cfg80211_chan_def chandef = {};
> - int ret;
> + if (cmd != NL80211_CMD_DEL_INTERFACE) {
> + if (rdev->ops->get_channel && !wdev->valid_links) {
> + struct cfg80211_chan_def chandef = {};
> + int ret;
>
> - ret = rdev_get_channel(rdev, wdev, 0, &chandef);
> - if (ret == 0 && nl80211_send_chandef(msg, &chandef))
> - goto nla_put_failure;
> - }
> + ret = rdev_get_channel(rdev, wdev, 0, &chandef);
> + if (ret == 0 && nl80211_send_chandef(msg, &chandef))
> + goto nla_put_failure;
> + }
>
> - if (rdev->ops->get_tx_power) {
> - int dbm, ret;
> + if (rdev->ops->get_tx_power) {
> + int dbm, ret;
>
> - ret = rdev_get_tx_power(rdev, wdev, &dbm);
> - if (ret == 0 &&
> - nla_put_u32(msg, NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
> - DBM_TO_MBM(dbm)))
> - goto nla_put_failure;
> + ret = rdev_get_tx_power(rdev, wdev, &dbm);
> + if (ret == 0 &&
> + nla_put_u32(msg, NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
> + DBM_TO_MBM(dbm)))
> + goto nla_put_failure;
> + }
> }
>
> switch (wdev->iftype) {
>
> But this change doesn't consider get_txq_stats and the further calls
> rdev_get_channel for the valid_links.
>
> Do we actually need nl80211_send_iface() for NL80211_CMD_DEL_INTERFACE?
In term of user-space API the answer would (probably) be yes. At least the
primitive should be send. What attributes should be included is debatable.
The primitive is probably used by user-space to cleanup or disable
functionality using the given interface. So only attributes identifying the
interface are likely sufficient (wdev-id, if-index).
Regards,
Arend
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-11-23 9:51 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-03 11:01 brcmfmac: error messages while entering suspend Stefan Wahren
2024-11-04 10:06 ` Arend van Spriel
2024-11-04 11:59 ` Stefan Wahren
2024-11-04 12:18 ` Johannes Berg
2024-11-04 15:41 ` Arend Van Spriel
2024-11-04 20:06 ` Stefan Wahren
2024-11-23 9:51 ` Arend Van Spriel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox