mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-22 01:58:42 +00:00
[SCSI] fcoe: add check to fail gracefully in bonding mode
This patch adds a check to fail gracefully when the netdevice is bonded. Previously, the error was detected but the stack would continue to load. This resulted in a partially enabled fcoe intance and errors when the fcoe instance was destroy. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
4e5ad003ae
commit
59d9251684
@ -266,6 +266,7 @@ static int fcoe_interface_setup(struct fcoe_interface *fcoe,
|
||||
if ((netdev->priv_flags & IFF_MASTER_ALB) ||
|
||||
(netdev->priv_flags & IFF_SLAVE_INACTIVE) ||
|
||||
(netdev->priv_flags & IFF_MASTER_8023AD)) {
|
||||
FCOE_NETDEV_DBG(netdev, "Bonded interfaces not supported\n");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
@ -323,6 +324,7 @@ static int fcoe_interface_setup(struct fcoe_interface *fcoe,
|
||||
static struct fcoe_interface *fcoe_interface_create(struct net_device *netdev)
|
||||
{
|
||||
struct fcoe_interface *fcoe;
|
||||
int err;
|
||||
|
||||
fcoe = kzalloc(sizeof(*fcoe), GFP_KERNEL);
|
||||
if (!fcoe) {
|
||||
@ -341,7 +343,13 @@ static struct fcoe_interface *fcoe_interface_create(struct net_device *netdev)
|
||||
fcoe->ctlr.update_mac = fcoe_update_src_mac;
|
||||
fcoe->ctlr.get_src_addr = fcoe_get_src_mac;
|
||||
|
||||
fcoe_interface_setup(fcoe, netdev);
|
||||
err = fcoe_interface_setup(fcoe, netdev);
|
||||
if (err) {
|
||||
fcoe_ctlr_destroy(&fcoe->ctlr);
|
||||
kfree(fcoe);
|
||||
dev_put(netdev);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return fcoe;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user