diff options
author | Michael Chan <mchan@broadcom.com> | 2013-07-29 02:03:56 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-30 05:03:07 (GMT) |
commit | b54345ea32ccd830066a793388a55473e05a4679 (patch) | |
tree | dd21e88b2b3654c6785f2cf6f28ca33a944a8812 /drivers/net/ethernet/broadcom/cnic.c | |
parent | 415fb87da80fa45a9cbe820cb2a86e70668688eb (diff) | |
download | linux-b54345ea32ccd830066a793388a55473e05a4679.tar.xz |
cnic: Simplify cnic_release().
Since unregister_netdevice_notifier() will replay the NETDEV_DOWN and
NETDEV_UNREGISTER_EVENTS, the cnic_dev_list will be cleaned up automatically.
The loop to cleanup the cnic_dev_list can be removed in cnic_release().
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/cnic.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/cnic.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c index 764bfc1..c6822e1 100644 --- a/drivers/net/ethernet/broadcom/cnic.c +++ b/drivers/net/ethernet/broadcom/cnic.c @@ -5693,21 +5693,8 @@ static struct notifier_block cnic_netdev_notifier = { static void cnic_release(void) { - struct cnic_dev *dev; struct cnic_uio_dev *udev; - while (!list_empty(&cnic_dev_list)) { - dev = list_entry(cnic_dev_list.next, struct cnic_dev, list); - if (test_bit(CNIC_F_CNIC_UP, &dev->flags)) { - cnic_ulp_stop(dev); - cnic_stop_hw(dev); - } - - cnic_ulp_exit(dev); - cnic_unregister_netdev(dev); - list_del_init(&dev->list); - cnic_free_dev(dev); - } while (!list_empty(&cnic_udev_list)) { udev = list_entry(cnic_udev_list.next, struct cnic_uio_dev, list); |