From owner-freebsd-stable@FreeBSD.ORG Mon Apr 2 16:16:04 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A2EF91065670; Mon, 2 Apr 2012 16:16:04 +0000 (UTC) (envelope-from ambrisko@ambrisko.com) Received: from mail.ambrisko.com (mail.ambrisko.com [70.91.206.90]) by mx1.freebsd.org (Postfix) with ESMTP id 7610E8FC08; Mon, 2 Apr 2012 16:16:04 +0000 (UTC) X-Ambrisko-Me: Yes Received: from server2.ambrisko.com (HELO internal.ambrisko.com) ([192.168.1.2]) by ironport.ambrisko.com with ESMTP; 02 Apr 2012 09:16:10 -0700 Received: from ambrisko.com (localhost [127.0.0.1]) by internal.ambrisko.com (8.14.4/8.14.4) with ESMTP id q32GG3OQ001977; Mon, 2 Apr 2012 09:16:03 -0700 (PDT) (envelope-from ambrisko@ambrisko.com) Received: (from ambrisko@localhost) by ambrisko.com (8.14.4/8.14.4/Submit) id q32GG3Yr001976; Mon, 2 Apr 2012 09:16:03 -0700 (PDT) (envelope-from ambrisko) From: Doug Ambrisko Message-Id: <201204021616.q32GG3Yr001976@ambrisko.com> In-Reply-To: <201204021100.15742.jhb@freebsd.org> To: John Baldwin Date: Mon, 2 Apr 2012 09:16:03 -0700 (PDT) X-Mailer: ELM [version 2.4ME+ PL124d (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="US-ASCII" Cc: freebsd-stable@freebsd.org Subject: Re: [stable-ish 9] Dell R815 ipmi(4) attach failure X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Apr 2012 16:16:04 -0000 John Baldwin writes: | On Saturday, March 31, 2012 3:25:48 pm Doug Ambrisko wrote: | > Sean Bruno writes: | > | Noting a failure to attach to the onboard IPMI controller with this dell | > | R815. Not sure what to start poking at and thought I'd though this over | > | here for comment. | > | | > | -bash-4.2$ dmesg |grep ipmi | > | ipmi0: KCS mode found at io 0xca8 on acpi | > | ipmi1: on isa0 | > | device_attach: ipmi1 attach returned 16 | > | ipmi1: on isa0 | > | device_attach: ipmi1 attach returned 16 | > | ipmi0: Timed out waiting for GET_DEVICE_ID | > | > I've run into this recently. A quick hack to fix it is: | > | > Index: ipmi.c | > =================================================================== | > RCS file: /cvs/src/sys/dev/ipmi/ipmi.c,v | > retrieving revision 1.14 | > diff -u -p -r1.14 ipmi.c | > --- ipmi.c 14 Apr 2011 07:14:22 -0000 1.14 | > +++ ipmi.c 31 Mar 2012 19:18:35 -0000 | > @@ -695,7 +695,6 @@ ipmi_startup(void *arg) | > if (error == EWOULDBLOCK) { | > device_printf(dev, "Timed out waiting for GET_DEVICE_ID\n"); | > ipmi_free_request(req); | > - return; | > } else if (error) { | > device_printf(dev, "Failed GET_DEVICE_ID: %d\n", error); | > ipmi_free_request(req); | > | > The issue is that the wakeup doesn't actually wake up the msleep | > in ipmi_submit_driver_request. The error being reported is that | > the msleep timed out. This doesn't seem to be critical problem | > since after this things seemed to work work. I saw this on 9.X. | > Haven't seen it on 8.2. Not sure about -current. | > | > It doesn't happen on all machines. | | Hmm, are you seeing the KCS thread manage the request but the wakeup() is | lost? It was a couple of weeks ago that I played with it. I put printf's around the msleep and wakeup. I saw the wakeup called but the sleep not get it. I can try the test again later today. Right now my main work machine is recovering from a power outage. This was with 9.0 when I first saw it. This issue seems to only happen at boot time. If I kldload the module after the system is booted then it seems to work okay. The KCS part was working fine and got the data okay from the request. I haven't seen or heard any issues with 8.2. Thanks, Doug A.