summaryrefslogtreecommitdiff
path: root/net/sched/sch_gred.c
diff options
context:
space:
mode:
authorStanislaw Gruszka <stf_xl@wp.pl>2013-07-28 13:17:22 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-11 18:35:23 -0700
commit5c2c155d709f5bd3e8c1e9defddf8d74b1677eb1 (patch)
treeea913e8960bfd68eb2bd11af0245901e72434c9b /net/sched/sch_gred.c
parent7b36b789452df175f3bf7c8ffc929f1dd378f164 (diff)
downloadlinux-3.10-5c2c155d709f5bd3e8c1e9defddf8d74b1677eb1.tar.gz
linux-3.10-5c2c155d709f5bd3e8c1e9defddf8d74b1677eb1.tar.bz2
linux-3.10-5c2c155d709f5bd3e8c1e9defddf8d74b1677eb1.zip
rt2x00: fix stop queue
commit e2288b66fe7ff0288382b2af671b4da558b44472 upstream. Since we clear QUEUE_STARTED in rt2x00queue_stop_queue(), following call to rt2x00queue_pause_queue() reduce to noop, i.e we do not stop queue in mac80211. To fix that introduce rt2x00queue_pause_queue_nocheck() function, which will stop queue in mac80211 directly. Note that rt2x00_start_queue() explicitly set QUEUE_PAUSED bit. Note also that reordering operations i.e. first call to rt2x00queue_pause_queue() and then clear QUEUE_STARTED bit, will race with rt2x00queue_unpause_queue(), so calling ieee80211_stop_queue() directly is the only available solution to fix the problem without major rework. Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sched/sch_gred.c')
0 files changed, 0 insertions, 0 deletions