linux/drivers/net/ethernet/intel/i40e
Jesse Brandeburg 147e81ec75 i40e: Test memory before ethtool alloc succeeds
When testing on systems with very limited amounts of RAM, a bug was
found where, while changing the number of descriptors using ethtool,
the driver didn't test the limits of system memory before permanently
assuming it would be able to get receive buffer memory.

Work around this issue by pre-allocation of the receive buffer
memory, in the "ghost" ring, which is then used during reinit
using the new ring length.

Change-Id: I92d7a5fb59a6c884b2efdd1ec652845f101c3359
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-05-05 23:17:07 -07:00
..
i40e_adminq_cmd.h i40e: make use of BIT() macro to prevent left shift of signed values 2016-05-01 17:05:08 -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: Add support for client interface for IWARP driver 2016-02-29 17:10:52 -05:00
i40e_client.h i40e: Add support for client interface for IWARP driver 2016-02-29 17:10:52 -05:00
i40e_common.c i40e: Remove HMC AQ API implementation 2016-05-01 17:03:55 -07:00
i40e_dcb_nl.c i40e: Change some messages from info to debug only 2015-10-15 01:58:41 -07:00
i40e_dcb.c i40e: refactor DCB function 2016-02-16 19:04:08 -08:00
i40e_dcb.h i40e: Add parsing for CEE DCBX TLVs 2015-10-08 15:11:38 -07:00
i40e_debugfs.c i40e/i40evf: Remove unused hardware receive descriptor code 2016-05-05 22:59:54 -07:00
i40e_devids.h i40e: Add DeviceID for X722 QSFP+ 2016-04-27 13:05:29 -07:00
i40e_diag.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_diag.h
i40e_ethtool.c i40e: Test memory before ethtool alloc succeeds 2016-05-05 23:17:07 -07:00
i40e_fcoe.c i40e/i40evf: Faster RX via avoiding FCoE 2016-04-06 18:26:23 -07:00
i40e_fcoe.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_hmc.c i40e: clean up unneeded gotos 2015-07-23 05:15:26 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
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/i40evf: Remove unused hardware receive descriptor code 2016-05-05 22:59:54 -07:00
i40e_nvm.c i40e: Specify AQ event opcode to wait for 2016-04-26 09:15:39 -07:00
i40e_osdep.h move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
i40e_prototype.h i40e: Remove HMC AQ API implementation 2016-05-01 17:03:55 -07:00
i40e_ptp.c i40e: PTP - avoid aggregate return warnings 2016-05-01 17:05:06 -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 i40e: Refactor receive routine 2016-05-05 21:53:16 -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 i40evf: Drop packet split receive routine 2016-05-05 22:31:23 -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/i40evf: Remove unused hardware receive descriptor code 2016-05-05 22:59:54 -07:00
Makefile i40e: Add support for client interface for IWARP driver 2016-02-29 17:10:52 -05:00