On Thu, 2010-07-08 at 10:06 -0700, Zou, Yi wrote:
> > > }
> > > - list_del(&fcoe->list);
> > > fcoe_interface_cleanup(fcoe);
> > > + list_del(&fcoe->list);
> >
> > Why this move ?
> >
> > Vasu
>
> Coz you are missing the netdev notification events in
> fcoe_interface_cleanup.
>
We do remove fcoe instance earlier in some cases to avoid some races but
not sure if there was any such reason for this case. Any case the
feature flag change event will occurs after ndo_fcoe_disable() called
from fcoe_interface_cleanup and by then all fcoe receive handlers are
already removed by fcoe_interface_cleanup. At that point no more rx pkts
and therefore fix should be to also stop tx pkts to netdev at that
point, maybe by dropping pkts in fcoe_xmit and then updating feature
flags won't matter after calling fcoe_interface_cleanup.
Vasu
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel