Subject: Re: [Patch net-next v3 2/3] bridge: only expire the mdb entry when query is received

From: Cong Wang <[email-masked]>
Date: Fri, 03 May 2013 15:08:46 +0800

On Fri, 2013-05-03 at 12:01 +0800, Herbert Xu wrote:
> 
> I think I quoted the wrong hunk in the patch, I meant the code
> that arms the timer should no longer be in the leave_group function
> unless we just sent a query ourselves (and in that case the expiration
> should also be adjusted accordingly).

Is the following patch what you meant?

diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index d73276b..21fcc42 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1302,22 +1302,6 @@ static void br_multicast_leave_group(struct
net_bridge *br,
                goto out;
        }
 
-       for (p = mlock_dereference(mp->ports, br);
-            p != NULL;
-            p = mlock_dereference(p->next, br)) {
-               if (p->port != port)
-                       continue;
-
-               if (!hlist_unhashed(&p->mglist) &&
-                   (timer_pending(&p->timer) ?
-                    time_after(p->timer.expires, time) :
-                    try_to_del_timer_sync(&p->timer) >= 0)) {
-                       mod_timer(&p->timer, time);
-               }
-
-               break;
-       }
-
 out:
        spin_unlock(&br->multicast_lock);
 }