net/mlx5: fix split buffer Rx
authorDmitry Kozlyuk <dkozlyuk@nvidia.com>
Mon, 8 Nov 2021 11:17:15 +0000 (13:17 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Mon, 8 Nov 2021 12:56:29 +0000 (13:56 +0100)
commit077be91dd72c6b7043810f8d6503277dc71c9d2d
treec2280f0af3c84c35df7be7babc25559c0e0380ea
parentbba8281d2e542a22793028dac60395f47ddc51da
net/mlx5: fix split buffer Rx

Routine to lookup LKey on Rx was assuming that the mbuf address
always belongs to a single mempool: the one associated with an RxQ
or the MPRQ mempool. This assumption is false for split buffers case.
A wrong LKey was looked up, resulting in completion errors.
Modify lookup routines to lookup LKey in the mbuf->pool
for non-MPRQ cases both on Rx datapath and on queue initialization.

Fixes: fec28ca0e3a9 ("net/mlx5: support mempool registration")

Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Reviewed-by: Matan Azrad <matan@nvidia.com>
Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_rx.c
drivers/net/mlx5/mlx5_rx.h