Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Apr 1998 10:31:53 -0500 (CDT)
From:      dave adkins <adkin003@tc.umn.edu>
To:        freebsd-current@FreeBSD.ORG
Cc:        gibbs@FreeBSD.ORG
Subject:   Cam and ncr 53c810
Message-ID:  <Pine.NEB.3.96.980425092048.4371A-100000@samthedog>

next in thread | raw e-mail | index | archive | help


Has anyone gotten the ncr 53c810 running with the cam-980413 diff's?  I
get "SCSI phase error fixup: CCB already dequeued" messages with the old
53c810 card i am using. I ended up adding a 400 uS delay in the
SIR_SENSE_FAILED case in ncr_int_sir(). 

	case SIR_SENSE_FAILED:
	
		/*-------------------------------------------
		**	While trying to select for
		**	getting the condition code,
		**	a target reselected us.
		**-------------------------------------------
		*/
		if (DEBUG_FLAGS & DEBUG_RESTART) {
			PRINT_ADDR(cp->ccb);
			printf ("in getcc reselect by t%d.\n",
				INB(nc_ssid) & 0x0f);
		}

		/*
		**	Mark this job
		*/
		cp->host_status = HS_BUSY;
		cp->s_status = SCSI_STATUS_CHECK_COND;
		np->target[cp->ccb->ccb_h.target_id].hold_cp = cp;

 
-->		DELAY(400); /* Seems to be necessary for 53C810 to work */

		/*
		**	And patch code to restart it.
		*/
		np->script->start0[0] =  SCR_INT;
		break;

I found that with DEBUG_RESTART enabled, the driver worked, with the
DEBUG_RESTART disabled, it failed with "CCB already dequeued". The bandaid
was a delay. The size of the delay is derived by trial and error.
  
dave adkins
 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96.980425092048.4371A-100000>