net/mlx4: fix Rx resource leak in case of error
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Thu, 26 Apr 2018 16:26:13 +0000 (18:26 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 2 May 2018 17:28:48 +0000 (19:28 +0200)
commit84a684862f502f2d885bc5fa112da26265d5a0f4
tree95bccfaa452b740a7455afb5d395f46a4d2f4ea6
parent6f2f4948b23643d279f38d38f988b122f393270f
net/mlx4: fix Rx resource leak in case of error

When creation of a flow rule fails during dev_start(), the usage count of
the common RSS context is not decremented, which triggers an assertion
failure in debug mode during dev_close().

This is addressed by tracking the initialization status of the common RSS
context in order to add missing cleanup code.

A similar issue exists in mlx4_rxq_attach(), where usage count is
incremented on a Rx queue but not released in case of error. This may lead
to the above issue since RSS contexts created by flow rules attach
themselves to Rx queues, incrementing their usage count.

Fixes: 5697a4142107 ("net/mlx4: relax Rx queue configuration order")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx4/mlx4.c
drivers/net/mlx4/mlx4.h
drivers/net/mlx4/mlx4_rxq.c