net/smc: unlock LGR pending lock earlier for SMC-D
authorHans Wippel <hwippel@linux.ibm.com>
Thu, 7 Feb 2019 14:56:17 +0000 (15:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Feb 2019 02:06:18 +0000 (18:06 -0800)
commit62c7139f3ed011379fbbef832b4b15e3c10b355f
tree6e95eaae911df9dfc3463d26fe6af865d6eff5e0
parenta225d2cd88d3303e7c6d1481578a4f23d5f92350
net/smc: unlock LGR pending lock earlier for SMC-D

If SMC client and server connections are both established at the same
time, smc_connect_ism() cannot send a CLC confirm message while
smc_listen_work() is waiting for one due to lock contention. This can
result in timeouts in smc_clc_wait_msg() and failed SMC connections.

In case of SMC-D, the LGR pending lock is not needed while
smc_listen_work() is waiting for the CLC confirm message. So, this patch
releases the lock earlier for SMC-D to avoid the locking issue.

Signed-off-by: Hans Wippel <hwippel@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/af_smc.c