• himanshu.madhani@cavium.com's avatar
    scsi: qla2xxx: Fix memory leak in dual/target mode · 7867b98d
    himanshu.madhani@cavium.com authored
    When driver is loaded in Target/Dual mode, it creates QPair to support
    MQ and allocates resources for each QPair. This Qpair initialization is
    delayed until the FW personality is changed to Dual/Target mode by
    issuing chip reset. At the time of chip reset firmware is re-initilized
    in correct personality all the QPairs are initialized by sending
    MBC_INITIALIZE_MULTIQ (001Fh).
    
    This patch fixes memory leak by adding check to issue
    MBC_INITIALIZE_MULTIQ command only while deleting rsp/req queue when the
    flag is set for initiator mode, and clean up QPair resources correctly
    during the driver unload. This MBX does not need to be issued for
    Target/Dual mode because chip reset will reset ISP.
    
    Fixes: d65237c7 ("scsi: qla2xxx: Fix mailbox failure while deleting Queue pairs")
    Cc: <stable@vger.kernel.org> # 4.10+
    Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
    Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    7867b98d
qla_init.c 214 KB