linux/drivers/net/ethernet/mellanox/mlx4
Jack Morgenstein 8bac9ede68 net/mlx4_core: Fix init_port mask state for slaves
In function mlx4_INIT_PORT_wrapper, the port state mask for the
slave is only set if we are invoking the INIT_PORT fw command.

However, the reference count for the (initialized) port is
incremented anyway.

This creates a problem in that when we have multiple slaves,
then the CLOSE_PORT command will never be invoked. The
reason is that in the CLOSE_PORT wrapper, if the port-state
mask is zero for the slave (which it is), the wrapper returns
without doing anything. The only slave which will not return
immediately in the CLOSE_PORT wrapper is that slave for which
INIT_PORT was invoked.

The fix is to not have the port-state mask setting depend
on the logic for calling the INIT_PORT fw command.

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>
2012-05-16 00:56:58 -04:00
..
alloc.c
catas.c mlx4_core: adjust catas operation for SRIOV mode 2011-12-13 13:56:08 -05:00
cmd.c net/mlx4: Address build warnings on set but not used variables 2012-05-16 00:56:58 -04:00
cq.c mlx4_core: removed function index from vf. 2012-01-22 15:08:43 -05:00
en_cq.c mlx4_en: Moving to Interrupts for TX completions 2012-04-23 22:34:02 -04:00
en_dcb_nl.c drivers/net: fix unresolved 64bit math in mellanox/mlx4/en_dcb_nl.c 2012-04-16 02:12:11 -04:00
en_ethtool.c mlx4_en: Added Ethtool support for TX Interrupt coalescing 2012-04-23 22:34:02 -04:00
en_main.c net/mlx4_en: Force user priority by QP attribute 2012-04-05 05:08:03 -04:00
en_netdev.c mlx4_en: Byte Queue Limit support 2012-04-23 22:34:02 -04:00
en_port.c mlx4: Ethernet port management modifications 2011-12-13 13:56:07 -05:00
en_port.h net/mlx4_core: set port QoS attributes 2012-04-05 05:08:03 -04:00
en_resources.c net/mlx4_en: Force user priority by QP attribute 2012-04-05 05:08:03 -04:00
en_rx.c net/mlx4_en: Force user priority by QP attribute 2012-04-05 05:08:03 -04:00
en_selftest.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
en_tx.c mlx4_en: Byte Queue Limit support 2012-04-23 22:34:02 -04:00
eq.c InfiniBand/RDMA changes for the 3.4 merge window. Nothing big really 2012-03-21 10:33:42 -07:00
fw.c net/mlx4_core: Fix init_port mask state for slaves 2012-05-16 00:56:58 -04:00
fw.h mlx4_core: removed function index from vf. 2012-01-22 15:08:43 -05:00
icm.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
icm.h
intf.c mlx4_core: adjust catas operation for SRIOV mode 2011-12-13 13:56:08 -05:00
Kconfig net/mlx4_en: DCB QoS support 2012-04-05 05:08:04 -04:00
main.c InfiniBand/RDMA changes for the 3.4 merge window. Nothing big really 2012-03-21 10:33:42 -07:00
Makefile net/mlx4_en: DCB QoS support 2012-04-05 05:08:04 -04:00
mcg.c net/mlx4: Address build warnings on set but not used variables 2012-05-16 00:56:58 -04:00
mlx4_en.h mlx4_en: Byte Queue Limit support 2012-04-23 22:34:02 -04:00
mlx4.h net/mlx4_core: set port QoS attributes 2012-04-05 05:08:03 -04:00
mr.c net/mlx4: Address build warnings on set but not used variables 2012-05-16 00:56:58 -04:00
pd.c mlx4_core: removed function index from vf. 2012-01-22 15:08:43 -05:00
port.c net/mlx4: Address build warnings on set but not used variables 2012-05-16 00:56:58 -04:00
profile.c mlx4_core: Scale size of MTT table with system RAM 2012-03-12 16:24:59 -07:00
qp.c mlx4_core: remove buggy sched_queue masking 2012-03-06 14:43:50 -05:00
reset.c
resource_tracker.c net/mlx4: Address build warnings on set but not used variables 2012-05-16 00:56:58 -04:00
sense.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
srq.c mlx4_core: removed function index from vf. 2012-01-22 15:08:43 -05:00