Skip to content

Commit

Permalink
Merge branch 'dev_close-void'
Browse files Browse the repository at this point in the history
Stephen Hemminger says:

====================
net: make dev_close void

Noticed while working on other changes. Why is dev_close()
returning int, it should be void.  Should also change
ndo_close to be void, but that requires more work and someone
with more coccinelle foo (smpl) than me.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jul 19, 2017
2 parents eb2b987 + 7051b88 commit 9492f42
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 23 deletions.
2 changes: 1 addition & 1 deletion drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ static void hns_nic_self_test(struct net_device *ndev,
set_bit(NIC_STATE_TESTING, &priv->state);

if (if_running)
(void)dev_close(ndev);
dev_close(ndev);

for (i = 0; i < SELF_TEST_TPYE_NUM; i++) {
if (!st_param[i][1])
Expand Down
4 changes: 2 additions & 2 deletions include/linux/netdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -2432,8 +2432,8 @@ struct net_device *dev_get_by_name_rcu(struct net *net, const char *name);
struct net_device *__dev_get_by_name(struct net *net, const char *name);
int dev_alloc_name(struct net_device *dev, const char *name);
int dev_open(struct net_device *dev);
int dev_close(struct net_device *dev);
int dev_close_many(struct list_head *head, bool unlink);
void dev_close(struct net_device *dev);
void dev_close_many(struct list_head *head, bool unlink);
void dev_disable_lro(struct net_device *dev);
int dev_loopback_xmit(struct net *net, struct sock *sk, struct sk_buff *newskb);
int dev_queue_xmit(struct sk_buff *skb);
Expand Down
6 changes: 1 addition & 5 deletions net/bluetooth/6lowpan.c
Original file line number Diff line number Diff line change
Expand Up @@ -618,12 +618,8 @@ static void ifup(struct net_device *netdev)

static void ifdown(struct net_device *netdev)
{
int err;

rtnl_lock();
err = dev_close(netdev);
if (err < 0)
BT_INFO("iface %s cannot be closed (%d)", netdev->name, err);
dev_close(netdev);
rtnl_unlock();
}

Expand Down
26 changes: 11 additions & 15 deletions net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1413,7 +1413,7 @@ int dev_open(struct net_device *dev)
}
EXPORT_SYMBOL(dev_open);

static int __dev_close_many(struct list_head *head)
static void __dev_close_many(struct list_head *head)
{
struct net_device *dev;

Expand Down Expand Up @@ -1455,23 +1455,18 @@ static int __dev_close_many(struct list_head *head)
dev->flags &= ~IFF_UP;
netpoll_poll_enable(dev);
}

return 0;
}

static int __dev_close(struct net_device *dev)
static void __dev_close(struct net_device *dev)
{
int retval;
LIST_HEAD(single);

list_add(&dev->close_list, &single);
retval = __dev_close_many(&single);
__dev_close_many(&single);
list_del(&single);

return retval;
}

int dev_close_many(struct list_head *head, bool unlink)
void dev_close_many(struct list_head *head, bool unlink)
{
struct net_device *dev, *tmp;

Expand All @@ -1488,8 +1483,6 @@ int dev_close_many(struct list_head *head, bool unlink)
if (unlink)
list_del_init(&dev->close_list);
}

return 0;
}
EXPORT_SYMBOL(dev_close_many);

Expand All @@ -1502,7 +1495,7 @@ EXPORT_SYMBOL(dev_close_many);
* is then deactivated and finally a %NETDEV_DOWN is sent to the notifier
* chain.
*/
int dev_close(struct net_device *dev)
void dev_close(struct net_device *dev)
{
if (dev->flags & IFF_UP) {
LIST_HEAD(single);
Expand All @@ -1511,7 +1504,6 @@ int dev_close(struct net_device *dev)
dev_close_many(&single, true);
list_del(&single);
}
return 0;
}
EXPORT_SYMBOL(dev_close);

Expand Down Expand Up @@ -6725,8 +6717,12 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags)
*/

ret = 0;
if ((old_flags ^ flags) & IFF_UP)
ret = ((old_flags & IFF_UP) ? __dev_close : __dev_open)(dev);
if ((old_flags ^ flags) & IFF_UP) {
if (old_flags & IFF_UP)
__dev_close(dev);
else
ret = __dev_open(dev);
}

if ((flags ^ dev->gflags) & IFF_PROMISC) {
int inc = (flags & IFF_PROMISC) ? 1 : -1;
Expand Down

0 comments on commit 9492f42

Please sign in to comment.