mirror_ubuntu-kernels/drivers/net/ethernet/broadcom/bnx2x
John Fastabend 5eb4dce3b3 net: relax setup_tc ndo op handle restriction
I added this check in setup_tc to multiple drivers,

 if (handle != TC_H_ROOT || tc->type != TC_SETUP_MQPRIO)

Unfortunately restricting to TC_H_ROOT like this breaks the old
instantiation of mqprio to setup a hardware qdisc. This patch
relaxes the test to only check the type to make it equivalent
to the check before I broke it. With this the old instantiation
continues to work.

A good smoke test is to setup mqprio with,

# tc qdisc add dev eth4 root mqprio num_tc 8 \
  map 0 1 2 3 4 5 6 7 \
  queues 0@0 1@1 2@2 3@3 4@4 5@5 6@6 7@7

Fixes: e4c6734eaa ("net: rework ndo tc op to consume additional qdisc handle paramete")
Reported-by: Singh Krishneil <krishneil.k.singh@intel.com>
Reported-by: Jake Keller <jacob.e.keller@intel.com>
CC: Murali Karicheri <m-karicheri2@ti.com>
CC: Shradha Shah <sshah@solarflare.com>
CC: Or Gerlitz <ogerlitz@mellanox.com>
CC: Ariel Elior <ariel.elior@qlogic.com>
CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Bruce Allan <bruce.w.allan@intel.com>
CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
CC: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-03-03 16:25:15 -05:00
..
bnx2x_cmn.c net: relax setup_tc ndo op handle restriction 2016-03-03 16:25:15 -05:00
bnx2x_cmn.h net: rework setup_tc ndo op to consume general tc operand 2016-02-17 09:47:35 -05:00
bnx2x_dcb.c bnx2x: extend DCBx support 2016-02-16 20:12:16 -05:00
bnx2x_dcb.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_dump.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_ethtool.c bnx2x: Warn about grc timeouts in register dump 2016-02-16 20:12:16 -05:00
bnx2x_fw_defs.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_fw_file_hdr.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_hsi.h bnx2x: Add missing HSI for big-endian machines 2016-02-18 23:33:23 -05:00
bnx2x_init_ops.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_init.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_link.c bnx2x: Fix 84833 phy command handler 2016-02-21 22:50:55 -05:00
bnx2x_link.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_main.c bnx2x: add a separate GENEVE Kconfig symbol 2016-02-24 22:48:54 -05:00
bnx2x_mfw_req.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_reg.h bnx2x: Fix 84833 phy command handler 2016-02-21 22:50:55 -05:00
bnx2x_sp.c bnx2x: byte swap rss_key to comply to Toeplitz specs 2015-09-24 14:34:49 -07:00
bnx2x_sp.h bnx2x: add vlan filtering offload 2015-07-29 23:24:45 -07:00
bnx2x_sriov.c bnx2x: Correct logic for pvid configuration. 2015-08-02 17:18:24 -07:00
bnx2x_sriov.h bnx2x: Fix compilation when CONFIG_BNX2X_SRIOV is not set 2015-07-30 09:52:18 -07:00
bnx2x_stats.c bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_stats.h bnx2x: Rebrand from 'broadcom' into 'qlogic' 2015-07-22 10:47:26 -07:00
bnx2x_vfpf.c bnx2x: add vlan filtering offload 2015-07-29 23:24:45 -07:00
bnx2x_vfpf.h bnx2x: add vlan filtering offload 2015-07-29 23:24:45 -07:00
bnx2x.h bnx2x: Add Geneve inner-RSS support 2016-02-16 20:12:16 -05:00
Makefile bnx2x: Segregate SR-IOV code 2013-01-07 19:49:14 -08:00