• Uma Krishnan's avatar
    scsi: cxlflash: Reset command ioasc · 96cf727f
    Uma Krishnan authored
    In the event of a command failure, cxlflash returns the failure to the upper
    layers to process. After processing the error, when the command is queued
    again, the private command structure will not be zeroed and the ioasc could be
    stale. Per the SISLite specification, the AFU only sets the ioasc in the
    presence of a failure. Thus, even though the original command succeeds the
    second time, the command is considered a failure due to stale ioasc. This
    cycle repeats indefinitely and can cause a hang or IO failure.
    
    To fix the issue, clear the ioasc before queuing any command.
    
    [mkp: added Cc: stable per request]
    
    Fixes: 479ad8e9 ("scsi: cxlflash: Remove zeroing of private command data")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarUma Krishnan <ukrishn@linux.vnet.ibm.com>
    Acked-by: default avatarMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    96cf727f
main.c 105 KB