Can you try attached patch and see if it solves your issue?
WARNING: very lightly tested...
I have run our tests against this patch and it is working well for our
"basic" testing as well. The test case that previously failed, now
passes with this patch. So that's encouraging! Thanks for the quick
response and quick patch.
Good to know..
One question we had is regarding the hard coded header length: What
happens if the initiator sends an extended CDB, like a WRITE32? Are
there any concerns with an additional header segment (AHS)?
You are absolutely correct! t10-dif is broken with this patch as
32 byte cdb would break into two buffers which is not expected
by the target core...
I take back this patch, I guess we should keep contiguous allocation but
just make the recv wr such that the data is aligned for 16 bytes cdbs,
and for 32-byte cdbs we never support immediate data anyways...