summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/cam/ctl/ctl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
index 37e0339..39c0dc1 100644
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -5987,8 +5987,9 @@ ctl_write_same(struct ctl_scsiio *ctsio)
break; /* NOTREACHED */
}
- /* NDOB flag can be used only together with UNMAP */
- if ((byte2 & (SWS_NDOB | SWS_UNMAP)) == SWS_NDOB) {
+ /* NDOB and ANCHOR flags can be used only together with UNMAP */
+ if ((byte2 & SWS_UNMAP) == 0 &&
+ (byte2 & (SWS_NDOB | SWS_ANCHOR)) != 0) {
ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
/*command*/ 1, /*field*/ 1, /*bit_valid*/ 1, /*bit*/ 0);
ctl_done((union ctl_io *)ctsio);
OpenPOWER on IntegriCloud