]> git.karo-electronics.de Git - karo-tx-linux.git/commit
be2iscsi: Fix WRB leak in login/logout path
authorJitendra Bhivare <jitendra.bhivare@avagotech.com>
Wed, 20 Jan 2016 08:41:00 +0000 (14:11 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 27 Jan 2016 01:17:51 +0000 (20:17 -0500)
commit86657892d73a49187ae52d830cbaa34e27696f45
tree9308da97b4c7821c48545212046d63bb0d7efb5d
parent5eb90bb46df453d5e8627a6a4ea502f3dc9adbec
be2iscsi: Fix WRB leak in login/logout path

Login/Logout loop was hanging after few hours. /var/log/message showed
that alloc_wrb_handle() function was not able to allocate any new WRB.

Sep 11 11:25:22 Jhelum10 kernel: connection32513:0: Could not send nopout
Sep 11 11:25:22 Jhelum10 kernel: scsi host10: BM_4989 : Alloc of WRB_HANDLE
Failed for the CID : 384
Sep 11 11:25:22 Jhelum10 kernel: connection32513:0: Could not allocate pdu for
mgmt task.

Driver allocates WRB to pass login negotiated parameters information to FW
in beiscsi_offload_connection(). This allocated WRB was not freed so there
was WRB_Leak happening.

Put WRB used for posting the login-negotiated parameters back in pool.

Signed-off-by: Jitendra Bhivare <jitendra.bhivare@avagotech.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/be2iscsi/be_main.c