target_id = xs->sc_link->target; our_id = SCSI_SCSI_ID(ahc, xs->sc_link); channel = SCSI_CHANNEL(ahc, xs->sc_link);  (void)ahc_fetch_transinfo(ahc, channel, our_id, target_id, &tstate); ahc_compile_devinfo(&devinfo, our_id, target_id, xs->sc_link->lun, channel, ROLE_INITIATOR);  if (tstate->tagdisable & devinfo.target_mask)
if (ahc_istagged_device(ahc, xs, 1))
ahc_check_tags(ahc, xs)	struct ahc_softc *ahc;	struct scsi_xfer *xs;{	struct scsi_inquiry_data *inq;	struct ahc_devinfo devinfo;	struct ahc_tmode_tstate *tstate;	int target_id, our_id;	char channel;	if (xs->cmd->opcode != INQUIRY || xs->error != XS_NOERROR)		return;	if (xs->sc_link->quirks & SDEV_NOTAGS)		return;	target_id = xs->sc_link->target;	our_id = SCSI_SCSI_ID(ahc, xs->sc_link);	channel = SCSI_CHANNEL(ahc, xs->sc_link);	(void)ahc_fetch_transinfo(ahc, channel, our_id, target_id, &tstate);	ahc_compile_devinfo(&devinfo, our_id, target_id,	    xs->sc_link->lun, channel, ROLE_INITIATOR);	if (tstate->tagdisable & devinfo.target_mask)		return;	/*	 * Sneak a look at the results of the SCSI Inquiry	 * command and see if we can do Tagged queing.  This	 * should really be done by the higher level drivers.	 */	inq = (struct scsi_inquiry_data *)xs->data;	if ((inq->flags & SID_CmdQue) && !(ahc_istagged_device(ahc, xs, 1))) {#ifdef AHC_DEBUG 		printf("%s: target %d using tagged queuing\n",			ahc_name(ahc), xs->sc_link->target);#endif 		ahc_set_tags(ahc, &devinfo, AHC_QUEUE_TAGGED);		if (ahc->scb_data->maxhscbs >= 16 ||		    (ahc->flags & AHC_PAGESCBS)) {			/* Default to 16 tags */			xs->sc_link->openings += 14;		} else {			/*			 * Default to 4 tags on whimpy			 * cards that don't have much SCB			 * space and can't page.  This prevents			 * a single device from hogging all			 * slots.  We should really have a better			 * way of providing fairness.			 */			xs->sc_link->openings += 2;		}	}}