Re: [PATCH] wext: fix message delay/ordering

2016-01-27 Thread Johannes Berg

> > +   if (state == NETDEV_UNREGISTER)
> > +   wireless_nlevent_flush();
> > 
> It could be argued that the state check isn't really necessary and
> should be removed to avoid ordering issues with up/down vs. wext, but
> this fixes the really strange issue where you get an RTM_NEWLINK
> after
> RTM_DELLINK (with the same ifidx), and I don't see how any software
> would care much about the ordering otherwise.
> 

Actually though, with the fix I still get:

5: wlan1:  mtu 1500 qdisc mq state DOWN group default 
link/ether 02:00:00:00:01:00 brd ff:ff:ff:ff:ff:ff
5: wlan1:  
link/ether 
Deleted 5: wlan1:  mtu 1500 qdisc noop state DOWN group 
default 
link/ether 02:00:00:00:01:00 brd ff:ff:ff:ff:ff:ff

which is clearly odd (see the UP flag), so I'll change it.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] wext: fix message delay/ordering

2016-01-27 Thread Johannes Berg
On Wed, 2016-01-27 at 13:14 +0100, Johannes Berg wrote:
> 
> +static int wext_netdev_notifier_call(struct notifier_block *nb,
> +  unsigned long state, void *ptr)
> +{
> + /*
> +  * When a netdev is unregistered, flush all pending messages
> +  * to avoid them going out after the RTM_DELLINK, which can
> +  * happen due to the schedule_work().
> +  */
> + if (state == NETDEV_UNREGISTER)
> + wireless_nlevent_flush();
> 
It could be argued that the state check isn't really necessary and
should be removed to avoid ordering issues with up/down vs. wext, but
this fixes the really strange issue where you get an RTM_NEWLINK after
RTM_DELLINK (with the same ifidx), and I don't see how any software
would care much about the ordering otherwise.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] wext: fix message delay/ordering

2016-01-27 Thread Johannes Berg
On Wed, 2016-01-27 at 13:18 +0100, Johannes Berg wrote:
> > > + if (state == NETDEV_UNREGISTER)
> > > + wireless_nlevent_flush();
> > > 
> > It could be argued that the state check isn't really necessary and
> > should be removed to avoid ordering issues with up/down vs. wext,
> > but
> > this fixes the really strange issue where you get an RTM_NEWLINK
> > after
> > RTM_DELLINK (with the same ifidx), and I don't see how any software
> > would care much about the ordering otherwise.
> > 
> 
> Actually though, with the fix I still get:
> 
> 5: wlan1:  mtu 1500 qdisc mq state DOWN group
> default 
> link/ether 02:00:00:00:01:00 brd ff:ff:ff:ff:ff:ff
> 5: wlan1:  
> link/ether 
> Deleted 5: wlan1:  mtu 1500 qdisc noop state
> DOWN group default 
> link/ether 02:00:00:00:01:00 brd ff:ff:ff:ff:ff:ff
> 
> which is clearly odd (see the UP flag), so I'll change it.
> 

Doesn't help, since the wext netdev notifier is registered earlier and
thus runs earlier than the cfg80211 one that triggers the action ...

I'll fix that differently then.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html