From owner-freebsd-current Tue Apr 1 09:08:54 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id JAA12583 for current-outgoing; Tue, 1 Apr 1997 09:08:54 -0800 (PST) Received: from rocky.mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA12578 for ; Tue, 1 Apr 1997 09:08:50 -0800 (PST) Received: (from nate@localhost) by rocky.mt.sri.com (8.7.5/8.7.3) id KAA02706; Tue, 1 Apr 1997 10:08:46 -0700 (MST) Date: Tue, 1 Apr 1997 10:08:46 -0700 (MST) Message-Id: <199704011708.KAA02706@rocky.mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: current@freebsd.org Subject: NCR extraneous data error messages now gone X-Mailer: VM 6.22 under 19.14 XEmacs Lucid Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk It looks like it was fixed with the following change: revision 1.47 date: 1997/03/24 01:46:15; author: gibbs; state: Exp; lines: +3 -1 free_xs must be called at splbio(). This is usually the case since the main caller is scsi_done which the controller interrupt handlers call. In the case of a non-buffer based transaction, the xs structure is freed by the process that initiated the transfer in scsi_scsi_cmd. In this case, an explicit splbio/splx pair around the call to free_xs is required. Without the splbio protection, the xs free list could be corrupted, and the type driver's start routine might run without spl protection. Submitted by: Tor Egge Obtained from: PR kern/2891 (This was also brought into 2.2 as well)