linux-stable/net/core
Helmut Schaa deabc772f3 net: fix tx queue selection for bridged devices implementing select_queue
When a net device is implementing the select_queue callback and is part of
a bridge, frames coming from the bridge already have a tx queue associated
to the socket (introduced in commit a4ee3ce329,
"net: Use sk_tx_queue_mapping for connected sockets"). The call to
sk_tx_queue_get will then return the tx queue used by the bridge instead
of calling the select_queue callback.

In case of mac80211 this broke QoS which is implemented by using the
select_queue callback. Furthermore it introduced problems with rt2x00
because frames with the same TID and RA sometimes appeared on different
tx queues which the hw cannot handle correctly.

Fix this by always calling select_queue first if it is available and only
afterwards use the socket tx queue mapping.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-09-07 13:57:20 -07:00
..
datagram.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
dev.c net: fix tx queue selection for bridged devices implementing select_queue 2010-09-07 13:57:20 -07:00
dev_addr_lists.c net: include linux/proc_fs.h in dev_addr_lists.c 2010-04-07 16:46:36 -07:00
drop_monitor.c drop_monitor: use genl_register_family_with_ops() 2010-07-26 20:59:42 -07:00
dst.c __dst_free(): put EXPORT_SYMBOLS after the fct 2010-07-20 13:28:03 -07:00
ethtool.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-07 15:59:38 -07:00
fib_rules.c net: fib_rules: mark arguments to fib_rules_register const and __net_initdata 2010-04-26 16:02:04 +02:00
filter.c net: optimize Berkeley Packet Filter (BPF) processing 2010-06-25 21:33:12 -07:00
flow.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
gen_estimator.c pkt_sched: Fix lockdep warning on est_tree_lock in gen_estimator 2010-09-02 13:22:11 -07:00
gen_stats.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
iovec.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
kmap_skb.h
link_watch.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
Makefile net: support time stamping in phy devices. 2010-07-18 19:15:26 -07:00
neighbour.c net/core: neighbour update Oops 2010-07-14 18:02:16 -07:00
net-sysfs.c sysfs: add attribute to indicate hw address assignment type 2010-07-24 20:49:29 -07:00
net-sysfs.h net: Expose all network devices in a namespaces in sysfs 2010-05-21 09:37:34 -07:00
net-traces.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
net_namespace.c net: disallow to use net_assign_generic externally 2010-04-27 15:49:02 -07:00
netevent.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
netpoll.c Revert "net: remove zap_completion_queue" 2010-08-03 00:24:04 -07:00
pktgen.c net: core: don't use own hex_to_bin() method 2010-07-23 12:50:51 -07:00
request_sock.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
rtnetlink.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
scm.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
skbuff.c gro: fix different skb headrooms 2010-09-01 19:17:35 -07:00
sock.c net: this_cpu_xxx conversions 2010-07-19 15:12:51 -07:00
stream.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00
sysctl_net_core.c net: Consistent skb timestamping 2010-05-15 23:57:10 -07:00
timestamping.c net: support time stamping in phy devices. 2010-07-18 19:15:26 -07:00
user_dma.c net/core/user_dma.c: Use frag list abstraction interfaces. 2009-06-09 00:19:10 -07:00
utils.c net/core: EXPORT_SYMBOL cleanups 2010-07-12 12:57:55 -07:00