From owner-cvs-all@FreeBSD.ORG Wed Jun 11 22:56:38 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5E2DF37B401; Wed, 11 Jun 2003 22:56:38 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A4F943F3F; Wed, 11 Jun 2003 22:56:37 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.8/8.12.3) with ESMTP id h5C5uakA026964; Wed, 11 Jun 2003 23:56:36 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Wed, 11 Jun 2003 23:56:22 -0600 (MDT) Message-Id: <20030611.235622.75446360.imp@bsdimp.com> To: nate@root.org From: "M. Warner Losh" In-Reply-To: <20030611225111.E42109@root.org> References: <20030612033735.0B7D337B495@hub.freebsd.org> <20030611225111.E42109@root.org> X-Mailer: Mew version 2.1 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/pccbb pccbb.c pccbbvar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jun 2003 05:56:38 -0000 In message: <20030611225111.E42109@root.org> Nate Lawson writes: : On Wed, 11 Jun 2003, Warner Losh wrote: : > Modified files: : > sys/dev/pccbb pccbb.c pccbbvar.h : > Log: : > Make cbb interrupts MPSAFE: : : We need to have you at bsdcon 24/7. ;-) : : > --- src/sys/dev/pccbb/pccbb.c:1.75 Sat Jun 7 13:47:35 2003 : > +++ src/sys/dev/pccbb/pccbb.c Wed Jun 11 20:37:28 2003 : > @@ -1080,7 +1087,11 @@ : > } : > if (sc->flags & CBB_CARD_OK) { : > STAILQ_FOREACH(ih, &sc->intr_handlers, entries) { : > + if ((ih->flags & INTR_MPSAFE) != 0) : > + mtx_lock(&Giant); : > (*ih->intr)(ih->arg); : > + if ((ih->flags & INTR_MPSAFE) != 0) : > + mtx_lock(&Giant); : > } : > } : > } : : Isn't that second call supposed to be an unlock? Yes. I don't know how my system is working at all with that :-(