IB/srp: Don't wait for response when QP is in error state.
authorIshai Rabinovitz <ishai@mellanox.co.il>
Tue, 16 Jan 2007 15:26:22 +0000 (17:26 +0200)
committerRoland Dreier <rolandd@cisco.com>
Sun, 4 Feb 2007 22:11:56 +0000 (14:11 -0800)
commit1033ff670d49760604f5d4c73a1b60741863a406
treefb4c9cb5bc07c23289cc74da3f123a83d08ee0cd
parent062dbb69f32b9ccea701b30f8cc0049482e6211f
IB/srp: Don't wait for response when QP is in error state.

When there is a call to send_tsk_mgmt SRP posts a send and waits for 5
seconds to get a response.

When the QP is in the error state it is obvious that there will be no
response so it is quite useless to wait.  In fact, the timeout causes
SRP to wait a long time to reconnect when a QP error occurs. (Each
abort and each reset_device calls send_tsk_mgmt, which waits for the
timeout).  The following patch solves this problem by identifying the
failure and returning an immediate error code.

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/srp/ib_srp.c
drivers/infiniband/ulp/srp/ib_srp.h