NetBSD Problem Report #10539
Received: (qmail 23866 invoked from network); 8 Jul 2000 13:17:24 -0000
Message-Id: <200007081316.OAA00702@black-star.demon.co.uk>
Date: Sat, 8 Jul 2000 14:16:25 +0100 (BST)
From: Mike Pumford <mpumford@black-star.demon.co.uk>
Reply-To: mpumford@black-star.demon.co.uk
To: gnats-bugs@gnats.netbsd.org
Subject: Kernel hangs probing SCSI devices attached to Acorn SCSI card
X-Send-Pr-Version: 3.95
>Number: 10539
>Category: port-arm32
>Synopsis: Kernel hangs probing SCSI devices attached to Acorn SCSI card
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: abs
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jul 08 13:18:01 +0000 2000
>Closed-Date: Tue Nov 07 18:42:25 +0000 2000
>Last-Modified: Tue Nov 07 18:42:25 +0000 2000
>Originator: Mike Pumford
>Release: 1.5ALPHA
>Organization:
>Environment:
System: NetBSD black-star.demon.co.uk 1.5_ALPHA NetBSD 1.5_ALPHA (BLACK-STAR) #3: Mon Jul 3 01:51:03 BST 2000 mpumford@black-star.demon.co.uk:/usr/src/netbsd/sys/arch/arm32/compile/BLACK-STAR arm32
>Description:
The system will hang on booting at the point where it attempts to
probe the SCSI bus attached via the Acorn SCSI card.
>How-To-Repeat:
Boot a RiscPC system with an Acorn SCSI card installed in it.
>Fix:
The following patch will fixes the hang and returns the SCSI bus
to normal behavior. It was derived from a fix made to a driver
for the same chip in the architecture specific portion of another
port.
Index: sbic.c
===================================================================
RCS file: /overflow/cvsrep/netbsd/sys/arch/arm32/podulebus/sbic.c,v
retrieving revision 1.1.1.7
diff -c -r1.1.1.7 sbic.c
*** sbic.c 2000/07/01 18:38:56 1.1.1.7
--- sbic.c 2000/07/02 19:51:16
***************
*** 533,543 ****
dev->target = slp->scsipi_scsi.target;
dev->lun = slp->scsipi_scsi.lun;
if ( flags & XS_CTL_POLL || ( !sbic_parallel_operations
! && (/*phase == STATUS_PHASE ||*/
! sbicdmaok(dev, xs) == 0) ) )
stat = sbicicmd(dev, slp->scsipi_scsi.target, slp->scsipi_scsi.lun, &acb->cmd,
acb->clen, acb->sc_kv.dc_addr, acb->sc_kv.dc_count);
! else if (sbicgo(dev, xs) == 0) {
SBIC_TRACE(dev);
return;
} else
--- 533,542 ----
dev->target = slp->scsipi_scsi.target;
dev->lun = slp->scsipi_scsi.lun;
if ( flags & XS_CTL_POLL || ( !sbic_parallel_operations
! && (sbicdmaok(dev, xs) == 0) ) )
stat = sbicicmd(dev, slp->scsipi_scsi.target, slp->scsipi_scsi.lun, &acb->cmd,
acb->clen, acb->sc_kv.dc_addr, acb->sc_kv.dc_count);
! else if (sbicgo(dev, xs) == 0 && xs->error != XS_SELTIMEOUT) {
SBIC_TRACE(dev);
return;
} else
***************
*** 722,728 ****
struct sbic_softc *dev;
struct scsipi_xfer *xs;
{
! if (sbic_no_dma || xs->datalen & 0x1 || (u_int)xs->data & 0x3)
return(0);
/*
* controller supports dma to any addresses?
--- 721,727 ----
struct sbic_softc *dev;
struct scsipi_xfer *xs;
{
! if (sbic_no_dma || !xs->datalen || xs->datalen & 0x1 || (u_int)xs->data & 0x3)
return(0);
/*
* controller supports dma to any addresses?
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback
State-Changed-By: abs
State-Changed-When: Wed Nov 1 04:21:53 PST 2000
State-Changed-Why:
Patch applied to -current. Waiting for confirmation that it works ok under 1.5_BETA before requesting pullup (which may not make 1.5)
Responsible-Changed-From-To: port-arm32-maintainer->abs
Responsible-Changed-By: abs
Responsible-Changed-When: Wed Nov 1 04:21:53 PST 2000
Responsible-Changed-Why:
State-Changed-From-To: feedback->closed
State-Changed-By: abs
State-Changed-When: Tue Nov 7 10:42:16 PST 2000
State-Changed-Why:
Committed to -current and pulled up into 1.5
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.