@@ -172,8 +172,9 @@ static unsigned int sr_get_events(struct scsi_device *sdev)
struct scsi_sense_hdr sshdr;
int result;
- result = scsi_execute_req(sdev, cmd, DMA_FROM_DEVICE, buf, sizeof(buf),
- &sshdr, SR_TIMEOUT, MAX_RETRIES, NULL);
+ result = scsi_execute_cmd(sdev, cmd, REQ_OP_DRV_IN, buf, sizeof(buf),
+ SR_TIMEOUT, MAX_RETRIES,
+ ((struct scsi_exec_args) { .sshdr = &sshdr }));
if (scsi_sense_valid(&sshdr) && sshdr.sense_key == UNIT_ATTENTION)
return DISK_EVENT_MEDIA_CHANGE;
@@ -730,9 +731,9 @@ static void get_sectorsize(struct scsi_cd *cd)
memset(buffer, 0, sizeof(buffer));
/* Do the command and wait.. */
- the_result = scsi_execute_req(cd->device, cmd, DMA_FROM_DEVICE,
- buffer, sizeof(buffer), NULL,
- SR_TIMEOUT, MAX_RETRIES, NULL);
+ the_result = __scsi_execute_cmd(cd->device, cmd, REQ_OP_DRV_IN,
+ buffer, sizeof(buffer),
+ SR_TIMEOUT, MAX_RETRIES, NULL);
retries--;
@@ -202,10 +202,11 @@ int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc)
goto out;
}
- result = scsi_execute(SDev, cgc->cmd, cgc->data_direction,
- cgc->buffer, cgc->buflen, NULL, sshdr,
- cgc->timeout, IOCTL_RETRIES, 0, 0, NULL);
-
+ result = scsi_execute_cmd(SDev, cgc->cmd,
+ cgc->data_direction == DMA_TO_DEVICE ?
+ REQ_OP_DRV_OUT : REQ_OP_DRV_IN, cgc->buffer,
+ cgc->buflen, cgc->timeout, IOCTL_RETRIES,
+ ((struct scsi_exec_args) { .sshdr = sshdr }));
/* Minimal error checking. Ignore cases we know about, and report the rest. */
if (result < 0) {
err = result;
scsi_execute* is going to be removed. Convert sr to scsi_execute_cmd. Signed-off-by: Mike Christie <michael.christie@oracle.com> --- drivers/scsi/sr.c | 11 ++++++----- drivers/scsi/sr_ioctl.c | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-)