diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-13 15:18:38 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-13 15:18:38 -0700 |
commit | b9a3b1102bc80b4044224494100f67de132d5448 (patch) | |
tree | 26d693207ad5c5e9ea79a2b21de48b1e409f628e /drivers/net | |
parent | 26b284de54a5ca3dfbe2fd9a51ac1923e80085a2 (diff) |
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 <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
0 files changed, 0 insertions, 0 deletions