On 5/8/19, 1:42 PM, "linux-scsi-ow...@vger.kernel.org on behalf of Shivaram 
Upadhyayula" <linux-scsi-ow...@vger.kernel.org on behalf of 
shivara...@quadstor.com> wrote:

    Hi,
    
    There seem to be a few issues when trying to do a logout
    qla_target.c:qlt_free_session_done in 4.19.41
    
    1. When the logout timesout qla2x00_sp_timeout is called. This
    function assumes sp->qpair is valid, but this isn't the case if mq is
    not enabled
    
    2. qla2x00_async_iocb_timeout also assumes that sp->qpair is valid.
    Also only if qla24xx_async_abort_cmd() fails is sp->done() called,
    sp->done in this case is qlt_logo_completion_handler() which will
    never be called if qla24xx_async_abort_cmd() succeeds
    
    3. qla24xx_async_abort_cmd() can lead to "scheduling while atomic" if
    called from qla2x00_async_iocb_timeout. The wait parameter can be used
    to alloc with GFP_ATOMIC
    
    Please see diff https://www.quadstor.com/patches/srb-logout.diff
    generated against 4.9.41

>> We have addressed issues related to above in our latest upstream driver. Can 
>> you check and let us know whether you still see the above issues. 

-- Giri
   
    Regards,
    Shivaram
    
    -- 
    Virtual Tape Library https://www.quadstor.com/virtual-tape-library.html
    Storage Virtualization with VAAI
    https://www.quadstor.com/storage-virtualization.html
    

Reply via email to