UPSTREAM: scsi: ata: libata-scsi: Convert to scsi_execute_cmd()
scsi_execute_req() is going to be removed. Convert libata to scsi_execute_cmd(). Change-Id: I19dec745ab9708ff43943324c49dafdf95873725 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> Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Bug: 267974767 (cherry picked from commit 5fa7b072677513e934242eab85772c0bfc84859b) Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
parent
ea120395be
commit
fe9eed5348
1 changed files with 14 additions and 9 deletions
|
|
@ -367,8 +367,12 @@ int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg)
|
|||
u8 scsi_cmd[MAX_COMMAND_SIZE];
|
||||
u8 args[4], *argbuf = NULL;
|
||||
int argsize = 0;
|
||||
enum dma_data_direction data_dir;
|
||||
struct scsi_sense_hdr sshdr;
|
||||
const struct scsi_exec_args exec_args = {
|
||||
.sshdr = &sshdr,
|
||||
.sense = sensebuf,
|
||||
.sense_len = sizeof(sensebuf),
|
||||
};
|
||||
int cmd_result;
|
||||
|
||||
if (arg == NULL)
|
||||
|
|
@ -391,11 +395,9 @@ int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg)
|
|||
scsi_cmd[1] = (4 << 1); /* PIO Data-in */
|
||||
scsi_cmd[2] = 0x0e; /* no off.line or cc, read from dev,
|
||||
block count in sector count field */
|
||||
data_dir = DMA_FROM_DEVICE;
|
||||
} else {
|
||||
scsi_cmd[1] = (3 << 1); /* Non-data */
|
||||
scsi_cmd[2] = 0x20; /* cc but no off.line or data xfer */
|
||||
data_dir = DMA_NONE;
|
||||
}
|
||||
|
||||
scsi_cmd[0] = ATA_16;
|
||||
|
|
@ -413,9 +415,8 @@ int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg)
|
|||
|
||||
/* Good values for timeout and retries? Values below
|
||||
from scsi_ioctl_send_command() for default case... */
|
||||
cmd_result = scsi_execute(scsidev, scsi_cmd, data_dir, argbuf, argsize,
|
||||
sensebuf, &sshdr, (10*HZ), 5, 0, 0, NULL);
|
||||
|
||||
cmd_result = scsi_execute_cmd(scsidev, scsi_cmd, REQ_OP_DRV_IN, argbuf,
|
||||
argsize, 10 * HZ, 5, &exec_args);
|
||||
if (cmd_result < 0) {
|
||||
rc = cmd_result;
|
||||
goto error;
|
||||
|
|
@ -475,6 +476,11 @@ int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg)
|
|||
u8 args[7];
|
||||
struct scsi_sense_hdr sshdr;
|
||||
int cmd_result;
|
||||
const struct scsi_exec_args exec_args = {
|
||||
.sshdr = &sshdr,
|
||||
.sense = sensebuf,
|
||||
.sense_len = sizeof(sensebuf),
|
||||
};
|
||||
|
||||
if (arg == NULL)
|
||||
return -EINVAL;
|
||||
|
|
@ -497,9 +503,8 @@ int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg)
|
|||
|
||||
/* Good values for timeout and retries? Values below
|
||||
from scsi_ioctl_send_command() for default case... */
|
||||
cmd_result = scsi_execute(scsidev, scsi_cmd, DMA_NONE, NULL, 0,
|
||||
sensebuf, &sshdr, (10*HZ), 5, 0, 0, NULL);
|
||||
|
||||
cmd_result = scsi_execute_cmd(scsidev, scsi_cmd, REQ_OP_DRV_IN, NULL,
|
||||
0, 10 * HZ, 5, &exec_args);
|
||||
if (cmd_result < 0) {
|
||||
rc = cmd_result;
|
||||
goto error;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue