cxlflash: Increase timeout value for read capacity to 30 seconds
PATCH 3/29 cxlflash: Increase timeout value for read capacity to 30 seconds
From: Manoj Kumar <[email protected]>
Make literals for number of retries as well.
Signed-off-by Matthew R. Ochs <[email protected]>
Signed-off-by Manoj N. Kumar <[email protected]>
--- drivers/scsi/cxlflash/superpipe.c | 8 ++++---- drivers/scsi/cxlflash/superpipe.h | 3 ++- drivers/scsi/cxlflash/vlun.c | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-)
drivers/scsi/cxlflash/superpipe.c +4 -4
@@ -296,7 +296,7 @@ static int read_cap16(struct scsi_device *sdev, struct llun_info *lli)int rc =0 ;int result =0 ;int retry_cnt =0 ; -u32 tout = (MC_DISCOVERY_TIMEOUT *HZ ); +u32 to = (CMD_TIMEOUT *HZ ); retry: cmd_buf =kzalloc (CMD_BUFSIZE ,GFP_KERNEL );
@@ -315,7 +315,7 @@ retry: retry_cnt ? "re" : "", scsi_cmd[0]); result =scsi_execute (sdev, scsi_cmd,DMA_FROM_DEVICE , cmd_buf, -CMD_BUFSIZE , sense_buf, tout,5 ,0 ,NULL ); +CMD_BUFSIZE , sense_buf, to,CMD_RETRIES ,0 ,NULL );if (driver_byte (result) ==DRIVER_SENSE ) { result &= ~(0xFF <<24 );/* DRIVER_SENSE is not an error */
@@ -1375,8 +1375,8 @@ out_attach: attach->block_size = gli->blk_len; attach->mmio_size =sizeof (afu->afu_map->hosts[0 ].harea); attach->last_lba = gli->max_lba; - attach->max_xfer = (sdev->host->max_sectors *MAX_SECTOR_UNIT ) / - gli->blk_len; + attach->max_xfer = (sdev->host->max_sectors *MAX_SECTOR_UNIT ); + attach->max_xfer /= gli->blk_len; out: attach->adap_fd = fd;
drivers/scsi/cxlflash/superpipe.h +2 -1
@@ -28,7 +28,8 @@ extern struct cxlflash_global global;*/ #define MC_CHUNK_SIZE (1 << MC_RHT_NMASK)/* in LBAs */ -#define MC_DISCOVERY_TIMEOUT 5/* 5 secs */ +#define CMD_TIMEOUT 30/* 30 secs */ +#define CMD_RETRIES 5/* 5 retries for scsi_execute */ #define MAX_SECTOR_UNIT 512/* max_sector is in 512 byte multiples */
drivers/scsi/cxlflash/vlun.c +3 -2
@@ -414,7 +414,7 @@ static int write_same16(struct scsi_device *sdev,int ws_limit =SISLITE_MAX_WS_BLOCKS ;u64 offset = lba;int left = nblks; -u32 tout = sdev->request_queue->rq_timeout; +u32 to = sdev->request_queue->rq_timeout;struct cxlflash_cfg *cfg = (struct cxlflash_cfg *)sdev->host->hostdata;struct device *dev = &cfg->dev->dev;
@@ -434,7 +434,8 @@ static int write_same16(struct scsi_device *sdev, &scsi_cmd[10]); result =scsi_execute (sdev, scsi_cmd,DMA_TO_DEVICE , cmd_buf, -CMD_BUFSIZE , sense_buf, tout,5 ,0 ,NULL ); +CMD_BUFSIZE , sense_buf, to,CMD_RETRIES , +0 ,NULL );if (result) { dev_err_ratelimited(dev, "%s: command failed for " "offset %lld result=0x%x\n",
Signature · 1 line
2.1.0