bonding: Incorrect TX queue offset
authorPhil Oester <kernel@linuxace.com>
Mon, 14 Mar 2011 06:22:04 +0000 (06:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Mar 2011 02:29:37 +0000 (19:29 -0700)
commitfd0e435b0fe85622f167b84432552885a4856ac8
tree787a74b3a33ea940fffbee7a2e46fb14e9c27fa2
parent4a37390de98547e42ad0cb617bd2f2d452f2d4c7
bonding: Incorrect TX queue offset

When packets come in from a device with >= 16 receive queues
headed out a bonding interface, syslog gets filled with this:

    kernel: bond0 selects TX queue 16, but real number of TX queues is 16

because queue_mapping is offset by 1.  Adjust return value
to account for the offset.

This is a revision of my earlier patch (which did not use the
skb_rx_queue_* helpers - thanks to Ben for the suggestion).
Andy submitted a similar patch which emits a pr_warning on
invalid queue selection, but I believe the log spew is
not useful.  We can revisit that question in the future,
but in the interim I believe fixing the core problem is
worthwhile.

Signed-off-by: Phil Oester <kernel@linuxace.com>
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c