[NET_SCHED]: sch_htb: perform qlen adjustment immediately in ->delete
commit814a175e7b1531a4bcaa63be47bf58cacdcb5010
authorPatrick McHardy <kaber@trash.net>
Thu, 30 Nov 2006 01:34:50 +0000 (29 17:34 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:31:40 +0000 (2 21:31 -0800)
treec2d52dbaa3c7d586da3d1859b0d572a02b31fc2b
parent6cbda6b6e2e2a0a84c0fcda8ea262c16d7a63fc8
[NET_SCHED]: sch_htb: perform qlen adjustment immediately in ->delete

qlen adjustment should happen immediately in ->delete and not in the
class destroy function because the reference count will not hit zero in
->delete (sch_api holds a reference) but in ->put. Since the qdisc
lock is released between deletion of the class and final destruction
this creates an externally visible error in the qlen counter.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_htb.c