]> git.baikalelectronics.ru Git - kernel.git/commit
net/smc: make wait for work request uninterruptible
authorUrsula Braun <ubraun@linux.vnet.ibm.com>
Wed, 24 Jan 2018 09:28:15 +0000 (10:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Jan 2018 15:52:57 +0000 (10:52 -0500)
commitdada85aa06d2678781334ee98e8f75b5240e8e67
treec87d07168ff54cb2d999a22ca821086755619117
parenta8bd8071c2ef673e6afd58ee7a6d4dfceee1d5bb
net/smc: make wait for work request uninterruptible

Work requests are needed for every ib_post_send(), among them the
ib_post_send() to signal closing. If an smc socket program is cancelled,
the smc connections should be cleaned up, and require sending of closing
signals to the peer. This may fail, if a wait for
a free work request is needed, but is cancelled immediately due to the
cancel interrupt. To guarantee notification of the peer, the wait for
a work request is changed to uninterruptible.

And the area to receive work request completion info with
ib_poll_cq() is cleared first.
And _tx_ variable names are used in the _tx_routines for the
demultiplexing common type in the header.

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