i40iw: Allocate a sdbuf per CQP WQE
authorChien Tin Tung <chien.tin.tung@intel.com>
Tue, 21 Nov 2017 22:18:30 +0000 (16:18 -0600)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 1 Dec 2017 19:21:24 +0000 (12:21 -0700)
commit100d6de2ced538c539d923dc14a1b5cbae234503
treed4bd92a192f7bdae986da2a066ddab3d2260b091
parentdb0acbc475f06c775682ba969ab338e1efa2ae96
i40iw: Allocate a sdbuf per CQP WQE

Currently there is only one sdbuf per Control QP (CQP) for
programming Segment Descriptor (SD). If multiple SD work
requests are posted simultaneously, the sdbuf is reused
by all WQEs and new WQEs can corrupt previous WQEs sdbuf
leading to incorrect SD programming.

Fix this by allocating one sdbuf per CQP SQ WQE. When an
SD command is posted, it will use the corresponding sdbuf
for the WQE.

Fixes: 86dbcd0f12e9 ("i40iw: add file to handle cqp calls")
Signed-off-by: Chien Tin Tung <chien.tin.tung@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/i40iw/i40iw_ctrl.c
drivers/infiniband/hw/i40iw/i40iw_d.h