On Tue, 2013-05-21 at 18:09 -0700, Thomas Pedersen wrote:
> Hey, Sorry for the late response.

Me too :)

> >>       netif_carrier_off(sdata->dev);
> >> +     if (sdata->dev->priv_flags & IFF_BRIDGE_PORT)
> >> +             /* stop bridge transmissions */
> >> +             call_netdevice_notifiers(NETDEV_CHANGE, sdata->dev);
> >
> > Err, this seems like a really bad hack? I don't really think drivers
> > should call that?
> 
> Why not? We're just notifying the bridge interface that this port has
> gone down, to avoid dereferencing a null pointer (on bridge flood
> traffic) after the mesh_bss has been removed.
> 
> Is cfg80211_leave_mesh() an acceptable location for this fix?

I'm not really convinced it's an acceptable fix in itself? Why should we
ever have to call netdev notifiers, that seems odd to me. Also why would
that prevent a crash? Wouldn't we just drop packets for the mesh if we
aren't joined in a mesh any more? Or something like that? Accessing the
priv flags and then calling the netdev notifiers seems really strange to
me. If this was necessary, then wouldn't netif_carrier_off() do it
internally?

johannes

_______________________________________________
Devel mailing list
[email protected]
http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

Reply via email to