From owner-freebsd-current Sat Apr 25 08:32:14 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA06060 for freebsd-current-outgoing; Sat, 25 Apr 1998 08:32:14 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from mhub3.tc.umn.edu (0@mhub3.tc.umn.edu [128.101.131.53]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id IAA06053; Sat, 25 Apr 1998 08:32:08 -0700 (PDT) (envelope-from adkin003@tc.umn.edu) Received: from mhub1.tc.umn.edu by mhub3.tc.umn.edu; Sat, 25 Apr 98 10:31:59 -0500 Received: from gold.tc.umn.edu by mhub1.tc.umn.edu; Sat, 25 Apr 98 10:31:58 -0500 Received: from pub-27-b-211.dialup.umn.edu by gold.tc.umn.edu; Sat, 25 Apr 98 10:31:57 -0500 Date: Sat, 25 Apr 1998 10:31:53 -0500 (CDT) From: dave adkins X-Sender: adkin003@samthedog Reply-To: dave adkins To: freebsd-current@FreeBSD.ORG cc: gibbs@FreeBSD.ORG Subject: Cam and ncr 53c810 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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