From owner-freebsd-hackers Thu May 27 9:32:12 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.26.10.9]) by hub.freebsd.org (Postfix) with ESMTP id 2EDE914C0C; Thu, 27 May 1999 09:32:03 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id CAA15122; Fri, 28 May 1999 02:31:48 +1000 Date: Fri, 28 May 1999 02:31:48 +1000 From: Bruce Evans Message-Id: <199905271631.CAA15122@godzilla.zeta.org.au> To: bde@zeta.org.au, bob@anet.donetsk.ua, freebsd-hardware@FreeBSD.ORG, mboers@datacompusa.com Subject: Re: Multiproc kernel 3.1-Release & Cyclades Cyclom 8Yep PCI Cc: freebsd-hackers@FreeBSD.ORG Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >>There seems to be a problem with nested locks. What was the panic >>message? > >I have the same problem with my Cyclom Ye cards (both the isa & pci >variety) > >The kernel panics with: > >panic messages: >--- >panic: rslock: cpu: 0, addr: 0xf026a15c, lock: 0x00000001 >mp_lock = 00000001; cpuid = 0; lapic.id = 00000000 That's the problem with nested locks. >after crash debugging shows that the value of com is 0x3 at the time of >crash. Since com is a pointer, I think we know that it is wrong. I have >added a printf statement to a varitation of cy.c that shows that just >before the call to commctl, the value of com is correct (not 3). I don't think that's the problem. >Any help towards getting the cy driver up and running on the smp kernel >would be appreciated. See hints in my previous mail. The main problem is that disable_intr() isn't doesn't nest properly and I only avoided this problem for !SMP case. The SMP disable_intr() is an evil macro that calls a locking function which crashes if the lock is already held. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message