[SCSI] fcoe: have fcoe log off and lport destroy before ndo_fcoe_disable
authorVasu Dev <vasu.dev@intel.com>
Fri, 1 Apr 2011 23:06:45 +0000 (16:06 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 1 May 2011 15:20:59 +0000 (10:20 -0500)
commitf04ca1b65480df9ecbaaa797e62b063387429410
tree31f3c58011bf0447c0a93698d3e7bba4a746c48d
parentf2817ec2e0faece03959888050730ed35e5f2bd2
[SCSI] fcoe: have fcoe log off and lport destroy before ndo_fcoe_disable

Currently fcoe interface cleanup is done after ndo_fcoe_disable
and that prevents logoff going out to the peer, so this patch
moves all netdev cleanup and its releasing inside
fcoe_interface_cleanup to have log off before ndo_fcoe_disable
disables the fcoe.

This patch also fixes asymmetric rtnl locking around fcoe_if_destroy,
as currently this function requires rtnl held by its caller
and then have this func drops the lock, instead now don't have
any processing under rtnl inside fcoe_if_destroy, this required
moving few func to get build working again.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/fcoe/fcoe.c