fcoe: consolidates netdev related config and cleanup for spma mode
authorVasu Dev <vasu.dev@intel.com>
Sun, 17 May 2009 12:33:08 +0000 (12:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 May 2009 04:04:08 +0000 (21:04 -0700)
commitab6b85c1d7a1bf6c2b27fb542a7b2404e45b7e24
tree4e88c6c0da92d5eee7d5f863b5439bea792e88ef
parentaca6bee75fe53ae019b9cabff42095dfb6471fde
fcoe: consolidates netdev related config and cleanup for spma mode

Currently fcoe_netdev_config adds netdev pkt handler for fcoe pkts,
fcoe_if_create adds netdev pkt handler for fip packets, a secondary
MAC address is added by fcoe_netdev_config and then later cleanup
for these netdev related config/adds is done only during
fcoe_if_destroy and no cleanup done on error during fcoe interface
creation after above netdev config calling in fcoe_if_create.

So this patch adds single func for above mentioned cleanup the
fcoe_netdev_cleanup and then calls this func on either fcoe interface
destroy or exiting from fcoe_if_create due to an error after fcoe/fip
related above netdev config is done.

Moved netdev pkt handler addition code blocks for fip pkts close to
similar code block for foce pkt in fcoe_netdev_config, so that added
fcoe_netdev_cleanup could be called on error from fcoe_netdev_config
to undo these both additions for fcoe/fip pkt handlers. This move
required reference to fcoe_fip_recv in fcoe_netdev_config, so moved
fip related functions fcoe_fip_recv, fcoe_fip_send and
fcoe_update_src_mac above fcoe_netdev_config.

This consolidation will enable spma mode support in next patch to
easily add or delete spma mode mac address beside fixing current
no cleanup issue during error.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/scsi/fcoe/fcoe.c