From owner-freebsd-current@FreeBSD.ORG Thu Jul 13 00:56:23 2006 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 45E9116A4DF for ; Thu, 13 Jul 2006 00:56:23 +0000 (UTC) (envelope-from nate@root.org) Received: from ylpvm12.prodigy.net (ylpvm12-ext.prodigy.net [207.115.57.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id D760143D58 for ; Thu, 13 Jul 2006 00:56:22 +0000 (GMT) (envelope-from nate@root.org) Received: from pimout7-ext.prodigy.net (pimout7-int.prodigy.net [207.115.4.147]) by ylpvm12.prodigy.net (8.12.10 outbound/8.12.10) with ESMTP id k6D0uKTZ020913 for ; Wed, 12 Jul 2006 20:56:20 -0400 X-ORBL: [67.119.74.222] Received: from [10.0.0.53] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by pimout7-ext.prodigy.net (8.13.6 out.dk/8.13.6) with ESMTP id k6D0uHhN114722; Wed, 12 Jul 2006 20:56:18 -0400 Message-ID: <44B59A22.7000407@root.org> Date: Wed, 12 Jul 2006 17:56:02 -0700 From: Nate Lawson User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: current Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: cbb hangs during suspend if ath card active X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Jul 2006 00:56:23 -0000 I've seen a recent regression in the past few months when suspending my laptop. When I have an ath0 card inserted in a cardbus slot and then press the sleep button, the system hangs. If I eject the card, it continues going into suspend and everything works as normal. If the card is up (ifconfig up), this process hangs. If it's down, no hang and it suspends normally. I did some debugging by starting the suspend, waiting for the hang, hitting "break to ddb", and then ejecting the card. The eject causes an interrupt which causes ddb to be entered. With ps, I can see that the thread on the acpi_taskq is running the button event and then calling bus_generic_suspend(), which eventually calls cbb_detach(), which then calls a power routine in pccbb.c. This routine calls tsleep() (wchan "cbbP3") which never wakes up. Any idea why tsleep() is not waking up now? It seems tsleep() calls mi_switch() and never returns. -- Nate