From: David S. Miller Date: Wed, 13 Aug 2008 22:18:38 +0000 (-0700) Subject: pkt_sched: Fix queue quiescence testing in dev_deactivate(). X-Git-Tag: v2.6.27-rc4~103^2~27 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9a3b1102bc80b4044224494100f67de132d5448;p=pandora-kernel.git pkt_sched: Fix queue quiescence testing in dev_deactivate(). Based upon discussions with Jarek P. and Herbert Xu. First, we're testing the wrong qdisc. We just reset the device queue qdiscs to &noop_qdisc and checking it's state is completely pointless here. We want to wait until the previous qdisc that was sitting at the ->qdisc pointer is not busy any more. And that would be ->qdisc_sleeping. Because of how we propagate the samples qdisc pointer down into qdisc_run and friends via per-cpu ->output_queue and netif_schedule, we have to wait also for the __QDISC_STATE_SCHED bit to clear as well. Signed-off-by: David S. Miller --- Reading git-diff-tree failed