summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-07-17 21:48:08 +0000
committermav <mav@FreeBSD.org>2009-07-17 21:48:08 +0000
commit524e45ea991626d48d957b1617e055ac1daa1a75 (patch)
tree5550867624c008d66a1f7fc1a6de0064f549cf86 /sys/cam
parent1168008413cff5615c03023ba10577f626045957 (diff)
downloadFreeBSD-src-524e45ea991626d48d957b1617e055ac1daa1a75.zip
FreeBSD-src-524e45ea991626d48d957b1617e055ac1daa1a75.tar.gz
Fix copy-paste bug. Use regular non-polled mode for executing FLUSHCACHE
command on disk close. Approved by: re (implicitly)
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/ata/ata_da.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index b72c316..42ba745 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -275,7 +275,6 @@ adaclose(struct disk *dp)
if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) {
ccb = cam_periph_getccb(periph, /*priority*/1);
- ccb->ccb_h.ccb_state = ADA_CCB_DUMP;
cam_fill_ataio(&ccb->ataio,
1,
adadone,
@@ -289,7 +288,9 @@ adaclose(struct disk *dp)
ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE48, 0, 0, 0);
else
ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE, 0, 0, 0);
- xpt_polled_action(ccb);
+ cam_periph_runccb(ccb, /*error_routine*/NULL, /*cam_flags*/0,
+ /*sense_flags*/SF_RETRY_UA,
+ softc->disk->d_devstat);
if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)
xpt_print(periph->path, "Synchronize cache failed\n");
OpenPOWER on IntegriCloud