aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/ata/ata_da.c
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2018-08-09 21:53:32 +0000
committerConrad Meyer <cem@FreeBSD.org>2018-08-09 21:53:32 +0000
commit2077be2b731a284ceebb8363eafd7f5ea88c669c (patch)
tree565635011ef87929959016cef58b29d1118325da /sys/cam/ata/ata_da.c
parent2d73ac5e4a12f6231f9ad6c7fcd20ef84c8b41b3 (diff)
downloadsrc-2077be2b731a284ceebb8363eafd7f5ea88c669c.tar.gz
src-2077be2b731a284ceebb8363eafd7f5ea88c669c.zip
cam(4): Add an xpt-neutral flag indicating a valid panic CCB
No functional change. Note that this change is careful to set the CCB header xflags after foo_fill_bar() routines, which generally zero existing flags. An earlier version of this patch mistakenly set the flag before the fill routines. Submitted by: Scott Ferris <sferris AT isilon.com>, jhibbits@ Reviewed by: bdrewery@, markj@, and non-committer FreeBSD contributor Anton Rang Sponsored by: Dell EMC Isilon
Notes
Notes: svn path=/head/; revision=337554
Diffstat (limited to 'sys/cam/ata/ata_da.c')
-rw-r--r--sys/cam/ata/ata_da.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index ac04b3d23076..e31e6d8b73ba 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -1081,6 +1081,7 @@ adadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t len
(u_int8_t *) virtual,
length,
ada_default_timeout*1000);
+ ataio.ccb_h.xflags |= CAM_CCB_DUMP;
if ((softc->flags & ADA_FLAG_CAN_48BIT) &&
(lba + count >= ATA_MAX_28BIT_LBA ||
count >= 256)) {
@@ -1115,6 +1116,7 @@ adadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t len
NULL,
0,
5*1000);
+ ataio.ccb_h.xflags |= CAM_CCB_DUMP;
if (softc->flags & ADA_FLAG_CAN_48BIT)
ata_48bit_cmd(&ataio, ATA_FLUSHCACHE48, 0, 0, 0);
@@ -3499,6 +3501,7 @@ adaspindown(uint8_t cmd, int flags)
NULL,
0,
ada_default_timeout*1000);
+ local_ccb.ccb_h.xflags |= CAM_CCB_DUMP;
ata_28bit_cmd(&local_ccb, cmd, 0, 0, 0);
error = cam_periph_runccb((union ccb *)&local_ccb, adaerror,
/*cam_flags*/0, /*sense_flags*/ SF_NO_RECOVERY | SF_NO_RETRY,