2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-07 13:13:57 +08:00
linux-next/drivers/net/ethernet/mellanox/mlx4
Eugenia Emantayev ec25bc04ed net/mlx4_en: Add resilience in low memory systems
This patch fixes the lost of Ethernet port on low memory system,
when driver frees its resources and fails to allocate new resources.
Issue could happen while changing number of channels, rings size or
changing the timestamp configuration.
This fix is necessary because of removing vmap use in the code.
When vmap was in use driver could allocate non-contiguous memory
and make it contiguous with vmap. Now it could fail to allocate
a large chunk of contiguous memory and lose the port.
Current code tries to allocate new resources and then upon success
frees the old resources.

Fixes: 73898db043 ('net/mlx4: Avoid wrong virtual mappings')
Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-19 16:44:11 -07:00
..
alloc.c net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
catas.c net/mlx4_core: Do not BUG_ON during reset when PCI is offline 2016-02-17 10:29:26 -05:00
cmd.c net/mlx4_en: initialize cmd.context_lock spinlock earlier 2016-06-15 12:16:30 -07:00
cq.c net/mlx4_core: Set UAR page size to 4KB regardless of system page size 2016-02-17 10:29:27 -05:00
en_clock.c net/mlx4_en: Choose time-stamping shift value according to HW frequency 2016-02-17 10:29:25 -05:00
en_cq.c net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
en_dcb_nl.c net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
en_ethtool.c net/mlx4_en: Add resilience in low memory systems 2016-07-19 16:44:11 -07:00
en_main.c net: mlx4: use new ETHTOOL_G/SSETTINGS API 2016-02-25 22:06:47 -05:00
en_netdev.c net/mlx4_en: Add resilience in low memory systems 2016-07-19 16:44:11 -07:00
en_port.c net/mlx4_en: get rid of private net_device_stats 2016-05-25 22:15:50 -07:00
en_port.h net/mlx4_en: Use PTYS register to query ethtool settings 2014-10-28 17:18:00 -04:00
en_resources.c net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
en_rx.c net/mlx4_en: Move filters cleanup to a proper location 2016-07-19 16:44:11 -07:00
en_selftest.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
en_tx.c net/mlx4_en: fix tx_dropped bug 2016-05-25 22:15:49 -07:00
eq.c net/mlx4_core: Set UAR page size to 4KB regardless of system page size 2016-02-17 10:29:27 -05:00
fw_qos.c net/mlx4: Add mlx4_SET_VPORT_QOS implementation 2015-04-02 16:25:02 -04:00
fw_qos.h net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
fw.c IB/mlx4: Add support for the don't trap rule 2016-02-29 17:11:40 -05:00
fw.h net/mlx4_core: Use both physical ports to set the VF link state 2015-12-06 22:40:44 -05:00
icm.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
icm.h mlx4_core: Fix GFP flags parameters to be gfp_t 2014-06-04 10:19:13 -07:00
intf.c mlx4: Implement devlink interface 2016-03-01 16:07:29 -05:00
Kconfig net: mellanox: add DEVLINK dependencies 2016-03-03 17:08:59 -05:00
main.c net/mlx4_en: Avoid unregister_netdev at shutdown flow 2016-06-22 16:38:11 -04:00
Makefile net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
mcg.c net/mlx4_core: Fix access to uninitialized index 2016-05-16 13:58:01 -04:00
mlx4_en.h net/mlx4_en: Add resilience in low memory systems 2016-07-19 16:44:11 -07:00
mlx4_stats.h net/mlx4_en: Fix off-by-four in ethtool 2015-06-24 00:42:32 -07:00
mlx4.h net/mlx4_core: Don't allow to VF change global pause settings 2016-04-21 15:02:40 -04:00
mr.c mlx4: corretly check failed allocation 2015-10-15 23:31:38 -07:00
pd.c net/mlx4_core: Set UAR page size to 4KB regardless of system page size 2016-02-17 10:29:27 -05:00
port.c net/mlx4_core: Don't allow to VF change global pause settings 2016-04-21 15:02:40 -04:00
profile.c net/mlx4_core: use swap() in mlx4_make_profile() 2015-06-11 15:19:41 -07:00
qp.c net/mlx4_core: Add support for RoCE v2 entropy 2016-01-19 15:35:00 -05:00
reset.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
resource_tracker.c mlx4: add missing braces in verify_qp_parameters 2016-03-14 13:09:49 -04:00
sense.c
srq.c IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO 2014-06-02 14:58:11 -07:00