Hi Alexander, aahringo@xxxxxxxxxx wrote on Sun, 15 May 2022 18:30:28 -0400: > Hi, > > On Thu, May 12, 2022 at 10:34 AM Miquel Raynal > <miquel.raynal@xxxxxxxxxxx> wrote: > > > > In order to be able to detect possible conflicts between the net > > interface core and the ieee802154 core, let's add a warning in the slow > > path: we want to be sure that whenever we start an asynchronous MLME > > transmission (which can be fully asynchronous) the net core somehow > > agrees that this transmission is possible, ie. the device was not > > stopped. Warning in this case would allow us to track down more easily > > possible issues with the MLME logic if we ever get reports. > > > > Unlike in the hot path, such a situation cannot be handled. > > > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > > --- > > net/mac802154/tx.c | 25 +++++++++++++++++++++++++ > > 1 file changed, 25 insertions(+) > > > > diff --git a/net/mac802154/tx.c b/net/mac802154/tx.c > > index a3c9f194c025..d61b076239c3 100644 > > --- a/net/mac802154/tx.c > > +++ b/net/mac802154/tx.c > > @@ -132,6 +132,25 @@ int ieee802154_sync_and_hold_queue(struct ieee802154_local *local) > > return ret; > > } > > > > +static bool ieee802154_netif_is_down(struct ieee802154_local *local) > > +{ > > + struct ieee802154_sub_if_data *sdata; > > + bool is_down = false; > > + > > + rcu_read_lock(); > > + list_for_each_entry_rcu(sdata, &local->interfaces, list) { > > + if (!sdata->dev) > > + continue; > > + > > + is_down = !(sdata->dev->flags & IFF_UP); > > Is there not a helper for this flag? I was surprised that nobody cared enough about that information to create a helper. Then I grepped and figured out I was not the first to to do that... $ git grep "flags & IFF_UP" | wc -l 289