Skip to content

Commit

Permalink
enic: Bug Fix: Fix return values of enic_add/del_station_addr routines
Browse files Browse the repository at this point in the history
Fix enic_add/del_station_addr routines to return appropriate error code when an invalid address is added or deleted.

Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: David Wang <dwang2@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vasanthy Kolluri authored and David S. Miller committed Feb 7, 2011
1 parent 5198746 commit 115d56f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 13 deletions.
2 changes: 1 addition & 1 deletion drivers/net/enic/enic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 14 additions & 12 deletions drivers/net/enic/enic_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit 115d56f

Please sign in to comment.