• Manoj N. Kumar's avatar
    cxlflash: Fix to avoid unnecessary scan with internal LUNs · 603ecce9
    Manoj N. Kumar authored
    When switching to the internal LUN defined on the
    IBM CXL flash adapter, there is an unnecessary
    scan occurring on the second port. This scan leads
    to the following extra lines in the log:
    
    Dec 17 10:09:00 tul83p1 kernel: [ 3708.561134] cxlflash 0008:00:00.0: cxlflash_queuecommand: (scp=c0000000fc1f0f00) 11/1/0/0 cdb=(A0000000-00000000-10000000-00000000)
    Dec 17 10:09:00 tul83p1 kernel: [ 3708.561147] process_cmd_err: cmd failed afu_rc=32 scsi_rc=0 fc_rc=0 afu_extra=0xE, scsi_extra=0x0, fc_extra=0x0
    
    By definition, both of the internal LUNs are on the first port/channel.
    
    When the lun_mode is switched to internal LUN the
    same value for host->max_channel is retained. This
    causes an unnecessary scan over the second port/channel.
    
    This fix alters the host->max_channel to 0 (1 port), if internal
    LUNs are configured and switches it back to 1 (2 ports) while
    going back to external LUNs.
    Signed-off-by: default avatarManoj N. Kumar <manoj@linux.vnet.ibm.com>
    Acked-by: default avatarMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
    Reviewed-by: default avatarUma Krishnan <ukrishn@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    603ecce9
main.c 70.1 KB