alistair23-linux/drivers/net/ethernet/mellanox/mlx4
Jack Morgenstein bffb023ad2 net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex
We occasionally see in procedure mlx4_GEN_EQE that the driver tries
to grab an uninitialized mutex.

This can occur in only one of two ways:
1. We are trying to generate an async event on an uninitialized slave.
2. We are trying to generate an async event on an illegal slave number
   ( < 0 or > persist->num_vfs) or an inactive slave.

To deal with #1: move the mutex initialization from specific slave init
sequence in procedure mlx_master_do_cmd to mlx4_multi_func_init() (so that
the mutex is always initialized for all slaves).

To deal with #2: check in procedure mlx4_GEN_EQE that the slave number
provided is in the proper range and that the slave is active.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-24 15:22:52 -04:00
..
alloc.c net: Mellanox: Delete unnecessary checks before the function call "vunmap" 2015-02-09 14:10:05 -08:00
catas.c net/mlx4_core: Enable device recovery flow with SRIOV 2015-01-25 14:43:14 -08:00
cmd.c net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex 2015-03-24 15:22:52 -04:00
cq.c net/mlx4_core: Use tasklet for user-space CQ completion events 2014-12-11 14:47:34 -05:00
en_clock.c mlx4: include clocksource.h again 2015-01-02 16:47:36 -05:00
en_cq.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
en_dcb_nl.c net/mlx4_en: Fix UP limit in ieee_ets->prio_tc 2014-03-02 20:04:00 -05:00
en_ethtool.c net/mlx4_en: Use ethtool cmd->autoneg as a hint for ethtool set settings 2015-01-27 17:12:58 -08:00
en_main.c net/mlx4_en: Port aggregation configuration 2015-02-04 16:14:25 -08:00
en_netdev.c net/mlx4_en: Call register_netdevice in the proper location 2015-03-24 15:22:52 -04:00
en_port.c net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE 2014-11-11 13:20:02 -05: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_core: Port aggregation upper layer interface 2015-02-04 16:14:24 -08:00
en_rx.c net/mlx4_en: Adjust RX frag strides to frag sizes 2015-02-04 16:17:45 -08:00
en_selftest.c net/mlx4_en: Disbale GRO for incoming loopback/selftest packets 2015-03-02 15:27:19 -05:00
en_tx.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
eq.c net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex 2015-03-24 15:22:52 -04:00
fw.c net/mlx4: mlx4_config_dev_retrieval() - Initialize struct config_dev before using 2015-02-04 16:17:45 -08:00
fw.h net/mlx4_core: Add reserved lkey for VFs to QUERY_FUNC_CAP 2015-01-27 17:12:57 -08: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 net/mlx4_core: Port aggregation upper layer interface 2015-02-04 16:14:24 -08:00
Kconfig net/mlx4: Set proper build dependancy with vxlan 2014-04-01 16:25:51 -04:00
main.c net/mlx4_core: Fix misleading debug print on CQE stride support 2015-02-04 16:17:45 -08:00
Makefile net/mlx4_en: Add HW timestamping (TS) support 2013-04-24 16:30:14 -04:00
mcg.c net/mlx4_core: Reset flow activation upon SRIOV fatal command cases 2015-01-25 14:43:15 -08:00
mlx4.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
mlx4_en.h net/mlx4_en: Fix off-by-one in ethtool statistics display 2015-03-18 15:17:11 -04:00
mr.c net/mlx4_core: Fix mpt_entry initialization in mlx4_mr_rereg_mem_write() 2015-02-04 16:17:45 -08:00
pd.c net/mlx4_core: Remove duplicate code line from procedure mlx4_bf_alloc 2015-01-27 17:12:57 -08:00
port.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
profile.c net/mlx4_core: Flexible (asymmetric) allocation of EQs and MSI-X vectors for PF/VFs 2014-11-13 15:16:21 -05:00
qp.c net/mlx4_core: Fix wrong mask and error flow for the update-qp command 2015-03-02 15:27:19 -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 net/mlx4_core: Fix GEN_EQE accessing uninitialixed mutex 2015-03-24 15:22:52 -04:00
sense.c Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
srq.c IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO 2014-06-02 14:58:11 -07:00