On Tue, Jan 15, 2013 at 04:41:22PM -0800, Bhanu Prakash Gollapudi wrote: > On 01/15/2013 11:56 AM, Zou, Yi wrote: > >>When creating an fcoe interfce, we call fcoe_link_speed_update before we add > >>the > >>lports fcoe interface to the fc_hostlist. Since network device events like > >>NETDEV_CHANGE are only processed if an fcoe interface is found with an > >>underlying netdev that matches the netdev of the event. Since this > >>processing > >>in fcoe_device_notification is how link_speed changes get communicated to > >>the > >>libfc code (via fcoe_link_speed_update), we have a race condition - if a > >>NETDEV_CHANGE event is sent after the call to fcoe_link_speed_update in > >>fcoe_netdev_config, but before we add the interface to the fc_hostlist, we > >>will > >>loose the event and attributes like /sys/class/fc_host/hostX/speed will not > >>get > >>updated properly. > >> > >>Fix this by moving the add to the fc_hostlist above the serialized call to > >>fcoe_netdev_config, ensuring that we catch netdev envents before we make a > >>direct call to fcoe_link_speed_update. > >> > >>Also use this opportunity to clean up access to the fc_hostlist a bit by > >>creating a fcoe_hostlist_del accessor and replacing the cleanup in > >>fcoe_exit to > >>use it properly. > >> > >>Tested by myself successfully > >> > >>Signed-off-by: Neil Horman <[email protected]> > >>CC: Robert Love <[email protected]> > >Looks good to me, good catch for the missing netdev event, minor typo above > >for 'loose' event => 'lose' event. Bnx2fc may have the similar issue if it > >has the same > >netdev notifier and populate the lport list after netdev config, not sure > >though. > > > > > yes, bnx2fc may have the similar issue. I'll submit the change soon. > > Thanks, > Bhanu > Thanks guys, didnt' think to check bnx2fc, I should have... Neil
> > _______________________________________________ > fcoe-devel mailing list > [email protected] > http://lists.open-fcoe.org/mailman/listinfo/fcoe-devel > _______________________________________________ fcoe-devel mailing list [email protected] http://lists.open-fcoe.org/mailman/listinfo/fcoe-devel
