net/enic: do not overwrite admin Tx queue limit
authorHyong Youb Kim <hyonkim@cisco.com>
Fri, 29 Jun 2018 09:29:32 +0000 (02:29 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 2 Jul 2018 23:53:44 +0000 (01:53 +0200)
commit2a7e3d54659cd12d337ad816dcf202eec1af1367
tree7ea384456060314c74ebb1167578b06740e68387
parent5bc989e6db9df8acbf8129a4ea4a78d8614944f7
net/enic: do not overwrite admin Tx queue limit

Currently, enic_alloc_wq (via rte_eth_tx_queue_setup) may overwrite
the admin limit with a lower value. This is wrong as seen in the
following sequence.

1. UCS admin-set Tx queue limit (config.wq_desc_count) = 4096
2. Set up tx queue with 512 descriptors
   The admin limit (config.wq_desc_count) becomes 512.
3. Stop ports and now set up Tx queue with 1024 descriptors.
   This fails because 1024 is greater than the admin limit (512).

Do not modify the admin limit, and when queried, report the current
number of descriptors instead of the admin limit. The rx queue setup
(enic_alloc_rq) does not this problem.

Fixes: fefed3d1e62c ("enic: new driver")
Cc: stable@dpdk.org
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
drivers/net/enic/enic_ethdev.c
drivers/net/enic/enic_main.c