Skip to contentSkip to conversation

net: delete duplicate dev_set_rx_mode() call

PATCH Superseded Weiping Pan 2 participants 4 messages Jun 15, 2014 – Jun 16, 2014

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover net: delete duplicate dev_set_rx_mode() call

This patchset delete duplicate dev_set_rx_mode() call, and it also make some functions return void instead of int.

Weiping Pan (2):
net: delete duplicate dev_set_rx_mode() call
net: make some functions return void

 net/core/dev.c | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)
Signature · 1 line
1.9.0
#1 lore raw

PATCH 1/2 net: delete duplicate dev_set_rx_mode() call

In __dev_open(), it already calls dev_set_rx_mode().
and dev_set_rx_mode() has no effect for a net device which does not have IFF_UP flag set.

So the call of dev_set_rx_mode() is duplicate in __dev_change_flags().

---
 net/core/dev.c | 3 ---
 1 file changed, 3 deletions(-)
net/core/dev.c +0 -3
index 30eedf6..002678f 100644
@@ -5434,9 +5434,6 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags)
 	ret = 0;
 	if ((old_flags ^ flags) & IFF_UP) {	/* Bit is different  ? */
 		ret = ((old_flags & IFF_UP) ? __dev_close : __dev_open)(dev);
-
-		if (!ret)
-			dev_set_rx_mode(dev);
 	}
 
 	if ((flags ^ dev->gflags) & IFF_PROMISC) {
Signature · 1 line
1.9.0
maintainer
#2 lore raw

From: Weiping Pan <[email protected]>
Date: Sun, 15 Jun 2014 18:05:09 +0800

Quoted 16 lines

In __dev_open(), it already calls dev_set_rx_mode().
and dev_set_rx_mode() has no effect for a net device which does not have IFF_UP flag set.

So the call of dev_set_rx_mode() is duplicate in __dev_change_flags().

---
 net/core/dev.c | 3 ---
 1 file changed, 3 deletions(-)
net/core/dev.c +0 -0
index 30eedf6..002678f 100644

net/core/dev.c int __dev_change_flags(struct net_device *dev, unsigned int flags) · line 5437

Quoted 7 lines
net/core/dev.c +0 -3
@@ -5434,9 +5434,6 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags)
 	ret = 0;
 	if ((old_flags ^ flags) & IFF_UP) {	/* Bit is different  ? */
 		ret = ((old_flags & IFF_UP) ? __dev_close : __dev_open)(dev);
-
-		if (!ret)
-			dev_set_rx_mode(dev);
 	}

A single line statement is what we end up with, so kill the curly braces as they are no longer necessary.

#3 lore raw

PATCH 2/2 net: make some functions return void

In reply to Weiping Pan

dev_close_many(), __dev_close_many() and __dev_close() do not need to return a int, so make them return void, and modify __dev_change_flags() accordingly.

---
 net/core/dev.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)
net/core/dev.c +8 -12
index 002678f..9279d68 100644
@@ -1305,7 +1305,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;
 
@@ -1348,23 +1348,18 @@ static int __dev_close_many(struct list_head *head)
 		net_dmaengine_put();
 		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;
 }
 
-static int dev_close_many(struct list_head *head)
+static void dev_close_many(struct list_head *head)
 {
 	struct net_device *dev, *tmp;
 
@@ -1380,8 +1375,6 @@ static int dev_close_many(struct list_head *head)
 		call_netdevice_notifiers(NETDEV_DOWN, dev);
 		list_del_init(&dev->close_list);
 	}
-
-	return 0;
 }
 
 /**
@@ -5433,7 +5426,10 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags)
 
 	ret = 0;
 	if ((old_flags ^ flags) & IFF_UP) {	/* Bit is different  ? */
-		ret = ((old_flags & IFF_UP) ? __dev_close : __dev_open)(dev);
+		if (old_flags & IFF_UP)
+			__dev_close(dev);
+		else
+			ret = __dev_open(dev);
 	}
 
 	if ((flags ^ dev->gflags) & IFF_PROMISC) {
Signature · 1 line
1.9.0