Nicholas Bellinger b2cb96494d iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED
This patch addresses a bug where RDMA_CM_EVENT_DISCONNECTED may occur
before the connection shutdown has been completed by rx/tx threads,
that causes isert_free_conn() to wait indefinately on ->conn_wait.

This patch allows isert_disconnect_work code to invoke rdma_disconnect
when isert_disconnect_work() process context is started by client
session reset before isert_free_conn() code has been reached.

It also adds isert_conn->conn_mutex protection for ->state within
isert_disconnect_work(), isert_cq_comp_err() and isert_free_conn()
code, along with isert_check_state() for wait_event usage.

(v2: Add explicit iscsit_cause_connection_reinstatement call
     during isert_disconnect_work() to force conn reset)

Cc: stable@vger.kernel.org  # 3.10+
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2013-07-07 18:35:56 -07:00
..
2013-05-23 09:27:08 -07:00
2013-05-17 14:31:05 -04:00
2013-05-30 18:27:24 -07:00
2013-04-26 22:30:25 +02:00
2013-05-09 09:59:16 -07:00
2013-05-23 18:24:10 -07:00
2013-05-06 13:07:33 +02:00
2013-05-06 14:59:13 -07:00
2013-06-08 15:50:42 -07:00
2013-05-20 13:38:14 -07:00
2013-06-01 19:53:41 +09:00
2013-05-23 09:26:32 -07:00
2013-06-04 17:25:18 -07:00
2013-05-15 10:58:22 -07:00
2013-05-07 14:04:56 -07:00
2013-05-07 14:02:00 -07:00
2013-06-06 16:34:11 -07:00
2013-06-05 08:54:16 -06:00
2013-05-04 12:31:18 -07:00
2013-05-04 12:31:18 -07:00