From 3d76b64323f619b4ad175234f3553f5856d16a4d Mon Sep 17 00:00:00 2001 From: Amit Kumar Salecha Date: Tue, 22 Jun 2010 03:19:00 +0000 Subject: [PATCH] --- yaml --- r: 203127 b: refs/heads/master c: 42f65cbad4168958dff8a307bfe4b528409951d3 h: refs/heads/master i: 203125: b92637dae95a963e040b7363b2d2e58b609a6c1d 203123: d0ebecc8f7ca26033c744b039e18885dde954640 203119: da0e8864be1381e7bf3244c4d67cf491b4b2dc22 v: v3 --- [refs] | 2 +- trunk/drivers/net/qlcnic/qlcnic_hw.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9102c82b77ee..59db22184df7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 900c6cfffac668199aaa30a20e31d07602f8a8ce +refs/heads/master: 42f65cbad4168958dff8a307bfe4b528409951d3 diff --git a/trunk/drivers/net/qlcnic/qlcnic_hw.c b/trunk/drivers/net/qlcnic/qlcnic_hw.c index 10ba72302fc9..ad124254b6a9 100644 --- a/trunk/drivers/net/qlcnic/qlcnic_hw.c +++ b/trunk/drivers/net/qlcnic/qlcnic_hw.c @@ -413,10 +413,15 @@ static int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, u8 *addr) return -ENOMEM; } memcpy(cur->mac_addr, addr, ETH_ALEN); - list_add_tail(&cur->list, &adapter->mac_list); - return qlcnic_sre_macaddr_change(adapter, - cur->mac_addr, QLCNIC_MAC_ADD); + if (qlcnic_sre_macaddr_change(adapter, + cur->mac_addr, QLCNIC_MAC_ADD)) { + kfree(cur); + return -EIO; + } + + list_add_tail(&cur->list, &adapter->mac_list); + return 0; } void qlcnic_set_multi(struct net_device *netdev)