From b95e125b559004ae5d400908fbe7cac25bb824ec Mon Sep 17 00:00:00 2001 From: Vasanthy Kolluri Date: Fri, 4 Feb 2011 16:17:10 +0000 Subject: [PATCH] --- yaml --- r: 236978 b: refs/heads/master c: 115d56f723c45088ddf46fac1ebba7c333039150 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/enic/enic.h | 2 +- trunk/drivers/net/enic/enic_dev.c | 26 ++++++++++++++------------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index c197229c6c96..f6e86092c74b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 519874619f642afaf61530b0f4df3cd1e9a319e4 +refs/heads/master: 115d56f723c45088ddf46fac1ebba7c333039150 diff --git a/trunk/drivers/net/enic/enic.h b/trunk/drivers/net/enic/enic.h index 1385a609ed49..f38ad634989c 100644 --- a/trunk/drivers/net/enic/enic.h +++ b/trunk/drivers/net/enic/enic.h @@ -32,7 +32,7 @@ #define DRV_NAME "enic" #define DRV_DESCRIPTION "Cisco VIC Ethernet NIC Driver" -#define DRV_VERSION "2.1.1.3" +#define DRV_VERSION "2.1.1.4" #define DRV_COPYRIGHT "Copyright 2008-2011 Cisco Systems, Inc" #define ENIC_BARS_MAX 6 diff --git a/trunk/drivers/net/enic/enic_dev.c b/trunk/drivers/net/enic/enic_dev.c index a52dbd2b3c63..382626628b1b 100644 --- a/trunk/drivers/net/enic/enic_dev.c +++ b/trunk/drivers/net/enic/enic_dev.c @@ -49,26 +49,28 @@ int enic_dev_stats_dump(struct enic *enic, struct vnic_stats **vstats) int enic_dev_add_station_addr(struct enic *enic) { - int err = 0; + int err; + + if (!is_valid_ether_addr(enic->netdev->dev_addr)) + return -EADDRNOTAVAIL; - if (is_valid_ether_addr(enic->netdev->dev_addr)) { - spin_lock(&enic->devcmd_lock); - err = vnic_dev_add_addr(enic->vdev, enic->netdev->dev_addr); - spin_unlock(&enic->devcmd_lock); - } + spin_lock(&enic->devcmd_lock); + err = vnic_dev_add_addr(enic->vdev, enic->netdev->dev_addr); + spin_unlock(&enic->devcmd_lock); return err; } int enic_dev_del_station_addr(struct enic *enic) { - int err = 0; + int err; + + if (!is_valid_ether_addr(enic->netdev->dev_addr)) + return -EADDRNOTAVAIL; - if (is_valid_ether_addr(enic->netdev->dev_addr)) { - spin_lock(&enic->devcmd_lock); - err = vnic_dev_del_addr(enic->vdev, enic->netdev->dev_addr); - spin_unlock(&enic->devcmd_lock); - } + spin_lock(&enic->devcmd_lock); + err = vnic_dev_del_addr(enic->vdev, enic->netdev->dev_addr); + spin_unlock(&enic->devcmd_lock); return err; }