diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_ata.c')
-rw-r--r-- | drivers/scsi/libsas/sas_ata.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index b0e5ac372a32..a4811e4106df 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c | |||
@@ -225,10 +225,12 @@ static unsigned int sas_ata_qc_issue(struct ata_queued_cmd *qc) | |||
225 | return 0; | 225 | return 0; |
226 | } | 226 | } |
227 | 227 | ||
228 | static u8 sas_ata_check_status(struct ata_port *ap) | 228 | static bool sas_ata_qc_fill_rtf(struct ata_queued_cmd *qc) |
229 | { | 229 | { |
230 | struct domain_device *dev = ap->private_data; | 230 | struct domain_device *dev = qc->ap->private_data; |
231 | return dev->sata_dev.tf.command; | 231 | |
232 | memcpy(&qc->result_tf, &dev->sata_dev.tf, sizeof(qc->result_tf)); | ||
233 | return true; | ||
232 | } | 234 | } |
233 | 235 | ||
234 | static void sas_ata_phy_reset(struct ata_port *ap) | 236 | static void sas_ata_phy_reset(struct ata_port *ap) |
@@ -292,12 +294,6 @@ static void sas_ata_post_internal(struct ata_queued_cmd *qc) | |||
292 | } | 294 | } |
293 | } | 295 | } |
294 | 296 | ||
295 | static void sas_ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) | ||
296 | { | ||
297 | struct domain_device *dev = ap->private_data; | ||
298 | memcpy(tf, &dev->sata_dev.tf, sizeof (*tf)); | ||
299 | } | ||
300 | |||
301 | static int sas_ata_scr_write(struct ata_port *ap, unsigned int sc_reg_in, | 297 | static int sas_ata_scr_write(struct ata_port *ap, unsigned int sc_reg_in, |
302 | u32 val) | 298 | u32 val) |
303 | { | 299 | { |
@@ -348,14 +344,11 @@ static int sas_ata_scr_read(struct ata_port *ap, unsigned int sc_reg_in, | |||
348 | } | 344 | } |
349 | 345 | ||
350 | static struct ata_port_operations sas_sata_ops = { | 346 | static struct ata_port_operations sas_sata_ops = { |
351 | .check_status = sas_ata_check_status, | ||
352 | .check_altstatus = sas_ata_check_status, | ||
353 | .dev_select = ata_noop_dev_select, | ||
354 | .phy_reset = sas_ata_phy_reset, | 347 | .phy_reset = sas_ata_phy_reset, |
355 | .post_internal_cmd = sas_ata_post_internal, | 348 | .post_internal_cmd = sas_ata_post_internal, |
356 | .tf_read = sas_ata_tf_read, | ||
357 | .qc_prep = ata_noop_qc_prep, | 349 | .qc_prep = ata_noop_qc_prep, |
358 | .qc_issue = sas_ata_qc_issue, | 350 | .qc_issue = sas_ata_qc_issue, |
351 | .qc_fill_rtf = sas_ata_qc_fill_rtf, | ||
359 | .port_start = ata_sas_port_start, | 352 | .port_start = ata_sas_port_start, |
360 | .port_stop = ata_sas_port_stop, | 353 | .port_stop = ata_sas_port_stop, |
361 | .scr_read = sas_ata_scr_read, | 354 | .scr_read = sas_ata_scr_read, |