Handle changes to SCB_CONTROL, scb->flags and SEQ_FLAGS

Approved by:	re (blanket)
This commit is contained in:
Scott Long 2002-11-30 19:08:58 +00:00
parent 3cb8be933d
commit a3a33a2bcb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=107417

View File

@ -28,7 +28,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aic7xxx_osm.c#11 $
* $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aic7xxx_osm.c#12 $
*
* $FreeBSD$
*/
@ -504,7 +504,8 @@ ahc_action(struct cam_sim *sim, union ccb *ccb)
if (ahc->pending_device == lstate)
scb->flags |= SCB_TARGET_IMMEDIATE;
hscb->control |= TARGET_SCB;
tdata->target_phases = IDENTIFY_SEEN;
scb->flags |= SCB_TARGET_SCB;
tdata->target_phases = 0;
if ((ccb->ccb_h.flags & CAM_SEND_STATUS) != 0) {
tdata->target_phases |= SPHASE_PENDING;
tdata->scsi_status =
@ -1525,7 +1526,7 @@ ahc_timeout(void *arg)
saved_scbptr = ahc_inb(ahc, SCBPTR);
active_scb_index = ahc_inb(ahc, SCB_TAG);
if ((ahc_inb(ahc, SEQ_FLAGS) & IDENTIFY_SEEN) != 0
if ((ahc_inb(ahc, SEQ_FLAGS) & NOT_IDENTIFIED) == 0
&& (active_scb_index < ahc->scb_data->numscbs)) {
struct scb *active_scb;
@ -1559,7 +1560,7 @@ ahc_timeout(void *arg)
}
/* It's us */
if ((scb->hscb->control & TARGET_SCB) != 0) {
if ((scb->flags & SCB_TARGET_SCB) != 0) {
/*
* Send back any queued up transactions
@ -1591,7 +1592,7 @@ ahc_timeout(void *arg)
int disconnected;
/* XXX Shouldn't panic. Just punt instead? */
if ((scb->hscb->control & TARGET_SCB) != 0)
if ((scb->flags & SCB_TARGET_SCB) != 0)
panic("Timed-out target SCB but bus idle");
if (last_phase != P_BUSFREE