From owner-freebsd-hackers Sun May 26 21:10:47 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id C395D37B400 for ; Sun, 26 May 2002 21:10:43 -0700 (PDT) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g4R4AgY16906; Sun, 26 May 2002 22:10:42 -0600 (MDT) (envelope-from imp@village.org) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g4R4AfG20093; Sun, 26 May 2002 22:10:41 -0600 (MDT) (envelope-from imp@village.org) Date: Sun, 26 May 2002 22:10:29 -0600 (MDT) Message-Id: <20020526.221029.14977685.imp@village.org> To: rivers@dignus.com Cc: freebsd-hackers@freebsd.org Subject: Re: more info on pccard insertion hang... From: "M. Warner Losh" In-Reply-To: <200205270214.g4R2Ef483353@lakes.dignus.com> References: <200205270214.g4R2Ef483353@lakes.dignus.com> X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <200205270214.g4R2Ef483353@lakes.dignus.com> Thomas David Rivers writes: : Warner - any ideas? : pci_write_config(..., bcr,2); <<<< hangs Interesting.... So this pretty much confirms what I'd expect. We establish the interrupt handler, then turn on the interrupts, then hang. I suspect that there's an interrupt in the bridge that isn't being acked. Maybe there's something in the pcic_pci_intr that should do that it isn't. There's also one thing that I've been thinking about in the back of my mind that you might want to check. I read in the mindshare books that the we're supposed to mask one of the interrupts while we're powering the card up. Maybe that's left over and we're not clearing it properly. Does adding for (i = 0; i < 0x40) sp->getb(sp, i); at the end pcic_pci_intr do anything for you? The PCIC_STAT_CHG should do that, but I'm not sure why it isn't. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message