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

Reply via email to