aboutsummaryrefslogtreecommitdiff
path: root/sys/cam
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2009-07-17 21:48:08 +0000
committerAlexander Motin <mav@FreeBSD.org>2009-07-17 21:48:08 +0000
commitb2da7746233a60a51aa38b40a79958a45eddf496 (patch)
tree5550867624c008d66a1f7fc1a6de0064f549cf86 /sys/cam
parentd82ccc60d9c4f050765a6083273eab26780f6b43 (diff)
Notes
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 b72c316dea4d..42ba74566b97 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");