• Jitendra Bhivare's avatar
    be2iscsi: Fix WRB leak in login/logout path · cb564c6b
    Jitendra Bhivare authored
    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: default avatarJitendra Bhivare <jitendra.bhivare@avagotech.com>
    Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    cb564c6b
be_main.c 163 KB