projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
545a112
)
bridge: use list_for_each_entry_continue_reverse
author
Li RongQing
<roy.qing.li@gmail.com>
Wed, 18 Jun 2014 08:07:16 +0000
(16:07 +0800)
committer
David S. Miller
<davem@davemloft.net>
Sat, 21 Jun 2014 22:33:22 +0000
(15:33 -0700)
use list_for_each_entry_continue_reverse to rollback in fdb_add_hw
when add address failed
Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_fdb.c
patch
|
blob
|
blame
|
history
diff --git
a/net/bridge/br_fdb.c
b/net/bridge/br_fdb.c
index b524c36c12731b6c84a7587125fdf2db6417c830..7be33667a839fed9ee6b218ab8ce2ac64d77dd81 100644
(file)
--- a/
net/bridge/br_fdb.c
+++ b/
net/bridge/br_fdb.c
@@
-93,7
+93,7
@@
static void fdb_rcu_free(struct rcu_head *head)
static void fdb_add_hw(struct net_bridge *br, const unsigned char *addr)
{
int err;
- struct net_bridge_port *p
, *tmp
;
+ struct net_bridge_port *p;
ASSERT_RTNL();
@@
-107,11
+107,9
@@
static void fdb_add_hw(struct net_bridge *br, const unsigned char *addr)
return;
undo:
- list_for_each_entry(tmp, &br->port_list, list) {
- if (tmp == p)
- break;
- if (!br_promisc_port(tmp))
- dev_uc_del(tmp->dev, addr);
+ list_for_each_entry_continue_reverse(p, &br->port_list, list) {
+ if (!br_promisc_port(p))
+ dev_uc_del(p->dev, addr);
}
}