summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-01-05 22:40:28 +0000
committermav <mav@FreeBSD.org>2014-01-05 22:40:28 +0000
commita5ea679e9359acd69373a4f1a1ba85faf82891a9 (patch)
treea8169245bb3c81b2a70c0adf732ec8cfd362da35 /sys/dev/aic7xxx
parenteb69a5b0d10751893c78f04bb85fea20a4d053a2 (diff)
downloadFreeBSD-src-a5ea679e9359acd69373a4f1a1ba85faf82891a9.zip
FreeBSD-src-a5ea679e9359acd69373a4f1a1ba85faf82891a9.tar.gz
MFC r256826:
Fix several target mode SIMs to not blindly clear ccb_h.flags field of ATIO CCBs. Not all CCB flags there belong to them.
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r--sys/dev/aic7xxx/aic79xx.c4
-rw-r--r--sys/dev/aic7xxx/aic7xxx.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/aic7xxx/aic79xx.c b/sys/dev/aic7xxx/aic79xx.c
index f19cdb5..c403c09 100644
--- a/sys/dev/aic7xxx/aic79xx.c
+++ b/sys/dev/aic7xxx/aic79xx.c
@@ -10342,9 +10342,9 @@ ahd_handle_target_cmd(struct ahd_softc *ahd, struct target_cmd *cmd)
/* Tag was included */
atio->tag_action = *byte++;
atio->tag_id = *byte++;
- atio->ccb_h.flags = CAM_TAG_ACTION_VALID;
+ atio->ccb_h.flags |= CAM_TAG_ACTION_VALID;
} else {
- atio->ccb_h.flags = 0;
+ atio->ccb_h.flags &= ~CAM_TAG_ACTION_VALID;
}
byte++;
diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c
index f5bd269..e1428e9 100644
--- a/sys/dev/aic7xxx/aic7xxx.c
+++ b/sys/dev/aic7xxx/aic7xxx.c
@@ -7842,9 +7842,9 @@ ahc_handle_target_cmd(struct ahc_softc *ahc, struct target_cmd *cmd)
/* Tag was included */
atio->tag_action = *byte++;
atio->tag_id = *byte++;
- atio->ccb_h.flags = CAM_TAG_ACTION_VALID;
+ atio->ccb_h.flags |= CAM_TAG_ACTION_VALID;
} else {
- atio->ccb_h.flags = 0;
+ atio->ccb_h.flags &= ~CAM_TAG_ACTION_VALID;
}
byte++;
OpenPOWER on IntegriCloud