linux/drivers/infiniband/ulp
Jenny Derzhavetz b6ac3aee1c iser-target: Put the reference on commands waiting for unsol data
commit 3e03c4b01d upstream.

The iscsi target core teardown sequence calls wait_conn for
all active commands to finish gracefully by:
- move the queue-pair to error state
- drain all the completions
- wait for the core to finish handling all session commands

However, when tearing down a session while there are sequenced
commands that are still waiting for unsolicited data outs, we can
block forever as these are missing an extra reference put.

We basically need the equivalent of iscsit_free_queue_reqs_for_conn()
which is called after wait_conn has returned. Address this by an
explicit walk on conn_cmd_list and put the extra reference.

Signed-off-by: Jenny Derzhavetz <jennyf@mellanox.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-10-22 14:43:11 -07:00
..
ipoib IB/ipoib: Fix CONFIG_INFINIBAND_IPOIB_CM 2015-08-10 12:21:58 -07:00
iser IB/iser: Fix possible bogus DMA unmapping 2015-09-29 19:26:17 +02:00
isert iser-target: Put the reference on commands waiting for unsol data 2015-10-22 14:43:11 -07:00
srp IB/srp: Stop the scsi_eh_<n> and scsi_tmf_<n> threads if login fails 2015-09-29 19:26:15 +02:00
srpt Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-04-24 10:22:09 -07:00
Makefile IB: Allow build of hw/ and ulp/ subdirectories independently 2014-06-02 14:51:12 -07:00