mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 14:43:16 +00:00
scsi: smartpqi: Stop using the SCSI pointer
Set .cmd_size in the SCSI host template instead of using the SCSI pointer from struct scsi_cmnd. This patch prepares for removal of the SCSI pointer from struct scsi_cmnd. Link: https://lore.kernel.org/r/20220218195117.25689-44-bvanassche@acm.org Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
5597616333
commit
c1ea387d99
@ -54,6 +54,15 @@ MODULE_DESCRIPTION("Driver for Microchip Smart Family Controller version "
|
||||
MODULE_VERSION(DRIVER_VERSION);
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
struct pqi_cmd_priv {
|
||||
int this_residual;
|
||||
};
|
||||
|
||||
static struct pqi_cmd_priv *pqi_cmd_priv(struct scsi_cmnd *cmd)
|
||||
{
|
||||
return scsi_cmd_priv(cmd);
|
||||
}
|
||||
|
||||
static void pqi_verify_structures(void);
|
||||
static void pqi_take_ctrl_offline(struct pqi_ctrl_info *ctrl_info,
|
||||
enum pqi_ctrl_shutdown_reason ctrl_shutdown_reason);
|
||||
@ -5552,7 +5561,7 @@ static void pqi_aio_io_complete(struct pqi_io_request *io_request,
|
||||
scsi_dma_unmap(scmd);
|
||||
if (io_request->status == -EAGAIN || pqi_raid_bypass_retry_needed(io_request)) {
|
||||
set_host_byte(scmd, DID_IMM_RETRY);
|
||||
scmd->SCp.this_residual++;
|
||||
pqi_cmd_priv(scmd)->this_residual++;
|
||||
}
|
||||
|
||||
pqi_free_io_request(io_request);
|
||||
@ -5814,7 +5823,7 @@ static inline bool pqi_is_bypass_eligible_request(struct scsi_cmnd *scmd)
|
||||
if (blk_rq_is_passthrough(scsi_cmd_to_rq(scmd)))
|
||||
return false;
|
||||
|
||||
return scmd->SCp.this_residual == 0;
|
||||
return pqi_cmd_priv(scmd)->this_residual == 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -7262,6 +7271,7 @@ static struct scsi_host_template pqi_driver_template = {
|
||||
.map_queues = pqi_map_queues,
|
||||
.sdev_groups = pqi_sdev_groups,
|
||||
.shost_groups = pqi_shost_groups,
|
||||
.cmd_size = sizeof(struct pqi_cmd_priv),
|
||||
};
|
||||
|
||||
static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
|
||||
|
Loading…
x
Reference in New Issue
Block a user