[PATCH net 0/2] net: delete duplicate dev_set_rx_mode() call

STALE4467d

Revision v1 of 2 in this series.

4 messages, 2 authors, 2014-06-16 · open the first message on its own page

[PATCH net 0/2] net: delete duplicate dev_set_rx_mode() call

From: Weiping Pan <hidden>
Date: 2014-06-15 10:05:57

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(-)

-- 
1.9.0

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

From: Weiping Pan <hidden>
Date: 2014-06-15 10:05:59

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().

Signed-off-by: Weiping Pan <redacted>
---
 net/core/dev.c | 3 ---
 1 file changed, 3 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 30eedf6..002678f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -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) {
-- 
1.9.0

[PATCH net 2/2] net: make some functions return void

From: Weiping Pan <hidden>
Date: 2014-06-15 10:06:03

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.

Signed-off-by: Weiping Pan <redacted>
---
 net/core/dev.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 002678f..9279d68 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -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) {
-- 
1.9.0

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

From: David Miller <davem@davemloft.net>
Date: 2014-06-16 03:05:23

From: Weiping Pan <redacted>
Date: Sun, 15 Jun 2014 18:05:09 +0800
quoted hunk
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().

Signed-off-by: Weiping Pan <redacted>
---
 net/core/dev.c | 3 ---
 1 file changed, 3 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 30eedf6..002678f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help