mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-03 08:22:44 +00:00
Whoops- forgot to commit this other pearl from Justin- only set or
clear CAM_TAG_ACTION_VALID if this is an XPT_SCSI_IO CCB (otherwise, the peripheral driver knows best...).. Obtained from:gibbs@freebsd.org
This commit is contained in:
parent
a4de02ec12
commit
a4eb4f1646
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=63287
@ -3673,14 +3673,18 @@ xpt_run_dev_sendq(struct cam_eb *bus)
|
||||
|
||||
splx(s);
|
||||
|
||||
if ((device->inq_flags & SID_CmdQue) != 0)
|
||||
work_ccb->ccb_h.flags |= CAM_TAG_ACTION_VALID;
|
||||
else
|
||||
/*
|
||||
* Clear this in case of a retried CCB that failed
|
||||
* due to a rejected tag.
|
||||
*/
|
||||
work_ccb->ccb_h.flags &= ~CAM_TAG_ACTION_VALID;
|
||||
/* In Target mode, the peripheral driver knows best... */
|
||||
if (work_ccb->ccb_h.func_code == XPT_SCSI_IO) {
|
||||
if ((device->inq_flags & SID_CmdQue) != 0
|
||||
&& work_ccb->csio.tag_action != CAM_TAG_ACTION_NONE)
|
||||
work_ccb->ccb_h.flags |= CAM_TAG_ACTION_VALID;
|
||||
else
|
||||
/*
|
||||
* Clear this in case of a retried CCB that
|
||||
* failed due to a rejected tag.
|
||||
*/
|
||||
work_ccb->ccb_h.flags &= ~CAM_TAG_ACTION_VALID;
|
||||
}
|
||||
|
||||
/*
|
||||
* Device queues can be shared among multiple sim instances
|
||||
|
Loading…
Reference in New Issue
Block a user