2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 12:43:55 +08:00
linux-next/net/mac80211
Johannes Berg cf0277e714 mac80211: fix skb buffering issue
Since I removed the master netdev, we've been
keeping internal queues only, and even before
that we never told the networking stack above
the virtual interfaces about congestion. This
means that packets are queued in mac80211 and
the upper layers never know, possibly leading
to memory exhaustion and other problems.

This patch makes all interfaces multiqueue and
uses ndo_select_queue to put the packets into
queues per AC. Additionally, when the driver
stops a queue, we now stop all corresponding
queues for the virtual interfaces as well.

The injection case will use VO by default for
non-data frames, and BE for data frames, but
downgrade any data frames according to ACM. It
needs to be fleshed out in the future to allow
chosing the queue/AC in radiotap.

Reported-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: stable@kernel.org [2.6.32]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-01-05 16:21:40 -05:00
..
aes_ccm.c mac80211: aes_ccm.c remove crypto wrapper and extra args 2008-07-08 14:16:02 -04:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
agg-tx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
cfg.c wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC 2009-12-09 15:10:08 -05:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs_key.c cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: add nl80211/cfg80211 handling of the new mesh root mode option. 2009-11-13 17:43:57 -05:00
debugfs_netdev.h mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs_sta.c mac80211: add per-station HT capability file 2009-11-19 11:09:08 -05:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
debugfs.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
driver-ops.h mac80211: convert aggregation to operate on vifs/stas 2009-11-18 17:09:15 -05:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: log more data when tracing 2009-11-28 15:05:03 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c mac80211: fix peer HT capabilities 2009-12-21 11:32:27 -05:00
ibss.c mac80211: fix ibss join with fixed-bssid 2009-12-28 15:56:35 -05:00
ieee80211_i.h mac80211: Fix dynamic power save for scanning. 2009-12-07 16:51:18 -05:00
iface.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
Kconfig mac80211: add MAC80211_VERBOSE_MHWMP_DEBUG 2009-11-11 15:23:58 -05:00
key.c mac80211: fix todo lock 2009-07-10 15:01:48 -04:00
key.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
led.c mac80211: rename files 2008-04-08 16:44:45 -04:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
main.c mac80211: Add define for TX headroom reserved by mac80211 itself. 2009-12-14 14:22:31 -05:00
Makefile mac80211: move TX status handling 2009-11-18 17:09:27 -05:00
mesh_hwmp.c mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
mesh_pathtbl.c mac80211: fix endianess on mesh_path_error_tx() calls 2009-11-19 11:38:24 -05:00
mesh_plink.c mac80211: remove encrypt parameter from ieee80211_tx_skb 2009-11-18 17:09:27 -05:00
mesh.c net/mac80211: Correct size given to memset 2009-12-10 16:09:52 -05:00
mesh.h mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c mac80211: fix WMM AP settings application 2009-12-21 11:32:28 -05:00
pm.c mac80211: fix configure_filter invocation after stop 2009-08-28 14:40:25 -04:00
rate.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
rate.h mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
rc80211_minstrel_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rc80211_minstrel.c rc80211_minstrel: fix contention window calculation 2009-09-23 11:35:42 -04:00
rc80211_minstrel.h mac80211: Remove unnused throughput field from minstrel_rate. 2009-08-28 14:40:34 -04:00
rc80211_pid_algo.c rc80211_pid_algo.c: remove unused variable declaration 2009-08-20 11:36:03 -04:00
rc80211_pid_debugfs.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rx.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
scan.c mac80211: Fix dynamic power save for scanning. 2009-12-07 16:51:18 -05:00
spectmgmt.c mac80211: remove encrypt parameter from ieee80211_tx_skb 2009-11-18 17:09:27 -05:00
sta_info.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
sta_info.h mac80211: Fix missing kernel-doc notation 2009-11-23 17:05:40 -05:00
status.c mac80211: Fix TX status reporting for injected data frames 2009-12-04 14:16:23 -05:00
tkip.c mac80211: use fixed broadcast address 2009-11-18 17:09:18 -05:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
tx.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
util.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
wep.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wep.h cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wme.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
wme.h mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
wpa.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00