Subject: Re: kernel panic with port-i386 and IEEE1394-SBP2
To: noguchi <ngc@ff.iij4u.or.jp>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: tech-kern
Date: 07/06/2003 16:28:14
This is a multipart MIME message.

--==_Exmh_8334017420310
Content-Type: text/plain; charset=us-ascii


ngc@ff.iij4u.or.jp said:
> db> trace sbp2_abort(c0632444,c054a020,0,0,c0632400) at
> netbsd:sbp2_abort+0x33
> sbp2_free(c0632400,c0631980,c75dfcac,c01e8ab4,c7
> 5dfd08) at  netbsd:sbp2_free+0x41
> sbpscsi_match(c0622800,c03470fc,c054a020,c0378c40,c03470fc) at  

I've seen this.
The appended patch did help at some point.
(Atm, I don't have a fw device to test with.)

best regards
Matthias


--==_Exmh_8334017420310
Content-Type: text/plain ; name="sbp.txt"; charset=us-ascii
Content-Description: sbp.txt
Content-Disposition: attachment; filename="sbp.txt"

Index: sbp2.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ieee1394/sbp2.c,v
retrieving revision 1.18
diff -u -r1.18 sbp2.c
--- sbp2.c	2003/06/29 22:30:18	1.18
+++ sbp2.c	2003/07/06 14:21:41
@@ -669,12 +669,15 @@
 	while (CIRCLEQ_FIRST(&sbp2->orbs) != (void *)&sbp2->orbs) {
 		orb = CIRCLEQ_FIRST(&sbp2->orbs);
 		(void)sbp2_abort(orb);
+		CIRCLEQ_REMOVE(&sbp2->orbs, orb, orb_list);
 		sbp2_free_orb(orb);
 	}
+#if 0
 	orb = CIRCLEQ_FIRST(&sbp2->orbs);
 	(void)sbp2_abort(orb);
 	CIRCLEQ_REMOVE(&sbp2->orbs, orb, orb_list);
 	sbp2_free_orb(orb);
+#endif
 
 	while (TAILQ_FIRST(&sbp2->luns) != NULL) {
 		lun = TAILQ_FIRST(&sbp2->luns);

--==_Exmh_8334017420310--