mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 04:34:08 +08:00
scsi: sr: Convert to scsi_execute_cmd()
scsi_execute*() is going to be removed. Convert sr to scsi_execute_cmd(). Signed-off-by: Mike Christie <michael.christie@oracle.com> Reviewed-by: John Garry <john.g.garry@oracle.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ae4145a5f2
commit
49d33b6245
@ -170,10 +170,13 @@ static unsigned int sr_get_events(struct scsi_device *sdev)
|
||||
struct event_header *eh = (void *)buf;
|
||||
struct media_event_desc *med = (void *)(buf + 4);
|
||||
struct scsi_sense_hdr sshdr;
|
||||
const struct scsi_exec_args exec_args = {
|
||||
.sshdr = &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, &exec_args);
|
||||
if (scsi_sense_valid(&sshdr) && sshdr.sense_key == UNIT_ATTENTION)
|
||||
return DISK_EVENT_MEDIA_CHANGE;
|
||||
|
||||
@ -730,8 +733,8 @@ 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,
|
||||
the_result = scsi_execute_cmd(cd->device, cmd, REQ_OP_DRV_IN,
|
||||
buffer, sizeof(buffer),
|
||||
SR_TIMEOUT, MAX_RETRIES, NULL);
|
||||
|
||||
retries--;
|
||||
|
@ -188,13 +188,15 @@ static int sr_play_trkind(struct cdrom_device_info *cdi,
|
||||
int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc)
|
||||
{
|
||||
struct scsi_device *SDev;
|
||||
struct scsi_sense_hdr local_sshdr, *sshdr = &local_sshdr;
|
||||
struct scsi_sense_hdr local_sshdr, *sshdr;
|
||||
int result, err = 0, retries = 0;
|
||||
const struct scsi_exec_args exec_args = {
|
||||
.sshdr = cgc->sshdr ? : &local_sshdr,
|
||||
};
|
||||
|
||||
SDev = cd->device;
|
||||
|
||||
if (cgc->sshdr)
|
||||
sshdr = cgc->sshdr;
|
||||
sshdr = exec_args.sshdr;
|
||||
|
||||
retry:
|
||||
if (!scsi_block_when_processing_errors(SDev)) {
|
||||
@ -202,10 +204,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,
|
||||
&exec_args);
|
||||
/* Minimal error checking. Ignore cases we know about, and report the rest. */
|
||||
if (result < 0) {
|
||||
err = result;
|
||||
|
Loading…
Reference in New Issue
Block a user