• Uma Krishnan's avatar
    scsi: cxlflash: Fix vlun resize failure in the shrink path · 07a191f7
    Uma Krishnan authored
    The ioctl DK_CAPI_VLUN_RESIZE can fail if the allocated vlun size is
    reduced from almost maximum capacity and then increased again.
    
    The shrink_lxt() routine is currently using the SISL_ASTATUS_MASK to
    mask the higher 48 bits of the lxt entry. This is unnecessary and
    incorrect as it uses a mask designed for the asynchronous interrupt
    status register.  When the 4 port support was added to cxlflash, the
    SISL_ASTATUS_MASK was updated to reflect the status bits for all 4
    ports. This change indirectly affected the shrink_lxt() code path.
    
    To extract the base, simply shift the bits without masking.
    
    Fixes: 56518072 ("scsi: cxlflash: SISlite updates to support 4 ports")
    Signed-off-by: default avatarUma Krishnan <ukrishn@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    07a191f7
vlun.c 36.3 KB