linux/drivers/net/ethernet/intel/i40e
Dave Ertman fbfe12c64f i40e: check for and deal with non-contiguous TCs
The i40e driver was causing a kernel panic when
non-contiguous Traffic Classes, or Traffic Classes not
starting with TC0, were configured on a link partner switch.
i40e does not support non-contiguous TCs.

To fix this, the patch changes the logic when determining
the total number of TCs enabled.  Before, this would use the
highest TC number enabled and assume that all TCs below it were
also enabled.  Now, we create a bitmask of enabled TCs and scan
it to determine not only the number of TCs, but also if the set
of enabled TCs starts at zero and is contiguous.  If not, then
DCB is disabled by only returning one TC.

Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-08-16 13:23:13 -07:00
..
i40e_adminq_cmd.h i40e: Add support for disabling all link and change bits needed for PHY interactions 2016-05-13 21:36:59 -07:00
i40e_adminq.c i40e: Remove HMC AQ API implementation 2016-05-01 17:03:55 -07:00
i40e_adminq.h i40e: Move NVM variable out of AQ struct 2016-04-06 18:45:11 -07:00
i40e_alloc.h
i40e_client.c i40e: Move the mutex lock in i40e_client_unregister 2016-07-22 00:07:06 -07:00
i40e_client.h i40e: constify i40e_client_ops structure 2016-05-05 23:32:59 -07:00
i40e_common.c i40e: Remove device ID 0x37D4 2016-07-22 00:07:04 -07:00
i40e_dcb_nl.c
i40e_dcb.c i40e: refactor DCB function 2016-02-16 19:04:08 -08:00
i40e_dcb.h
i40e_debugfs.c i40e: refactor Rx filter handling 2016-07-22 00:07:04 -07:00
i40e_devids.h i40e: Remove device ID 0x37D4 2016-07-22 00:07:04 -07:00
i40e_diag.c
i40e_diag.h
i40e_ethtool.c i40e: add missing link advertise setting 2016-07-22 00:07:06 -07:00
i40e_fcoe.c i40e/i40evf: Faster RX via avoiding FCoE 2016-04-06 18:26:23 -07:00
i40e_fcoe.h
i40e_hmc.c i40e: fix an uninitialized variable bug 2016-05-14 00:21:51 -07:00
i40e_hmc.h
i40e_lan_hmc.c i40e: use explicit cast from u16 to u8 2015-12-12 21:08:26 -08:00
i40e_lan_hmc.h
i40e_main.c i40e: check for and deal with non-contiguous TCs 2016-08-16 13:23:13 -07:00
i40e_nvm.c i40e: Specify AQ event opcode to wait for 2016-04-26 09:15:39 -07:00
i40e_osdep.h
i40e_prototype.h i40e: add functions to control default VSI 2016-06-27 15:08:28 -07:00
i40e_ptp.c i40e: change Rx hang message into a WARN_ONCE 2016-05-13 23:44:59 -07:00
i40e_register.h i40e: Expose some registers to program parser, FD and RSS logic 2016-02-18 23:49:31 -08:00
i40e_status.h
i40e_txrx.c Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2016-07-25 10:43:07 -07:00
i40e_txrx.h i40e/i40evf: Remove unused hardware receive descriptor code 2016-05-05 22:59:54 -07:00
i40e_type.h i40e/i40evf: fix I40E_MASK signed shift overflow warnings 2016-05-01 17:05:08 -07:00
i40e_virtchnl_pf.c i40e: write HENA for VFs 2016-06-27 15:19:40 -07:00
i40e_virtchnl_pf.h i40e: Use consistent type for vf_id 2016-05-01 17:05:06 -07:00
i40e_virtchnl.h i40e: Add RSS configuration to virtual channel 2016-04-06 18:55:18 -07:00
i40e.h i40e: refactor Rx filter handling 2016-07-22 00:07:04 -07:00
Makefile i40e: Add support for client interface for IWARP driver 2016-02-29 17:10:52 -05:00