On Fri, Aug 05, 2022 at 09:01:35AM +0300, Sergey Gorenko wrote: > The iSER Initiator uses two types of receive buffers: > > - one big login buffer posted by iser_post_recvl(); > - several small message buffers posted by iser_post_recvm(). > > The login buffer is used at the login phase and full feature phase in > the discovery session. It may take a few requests and responses to > complete the login phase. The message buffers are only used in the > normal operational session at the full feature phase. > > After the commit referred in the fixes line, the login operation fails > if the authentication is enabled. That happens because the Initiator > posts a small receive buffer after the first response from Target. So, > the next send operation fails because Target's second response does not > fit into the small receive buffer. > > This commit adds additional checks to prevent posting small receive > buffers until the full feature phase. > > Fixes: 39b169ea0d36 ("IB/iser: Fix RNR errors") > Signed-off-by: Sergey Gorenko <sergeygo@xxxxxxxxxx> > Reviewed-by: Max Gurtovoy <mgurtovoy@xxxxxxxxxx> > --- > drivers/infiniband/ulp/iser/iser_initiator.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > Thanks, applied to -rc.