From owner-freebsd-acpi@FreeBSD.ORG Mon Apr 7 20:26:04 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B72E1065673 for ; Mon, 7 Apr 2008 20:26:04 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: from yw-out-2324.google.com (yw-out-2324.google.com [74.125.46.30]) by mx1.freebsd.org (Postfix) with ESMTP id 425248FC1D for ; Mon, 7 Apr 2008 20:26:03 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: by yw-out-2324.google.com with SMTP id 2so258859ywt.13 for ; Mon, 07 Apr 2008 13:26:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=BqyE8CtpH2u/+lXPKY/6cATzijQcrP3JA/o4zJVssKw=; b=BezkF9S59SVnzw+8+3t8YEz1Mldj+Cp1+THhen64ENisweGFY3OC+fCzTvFTYyW7pCtm42y88vJlzkYxhdi4NR1x1L6TBNTSIYRwe2zJOSksbZJYHhEPeo/7q0bBuGgnJm8NVUGPbw9MFMNsXGfZL/RAIrn3hIAcns92IUQ2+BY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Hm99ZSwMHUqArySlNuKFOjABgM8qn3ravmaaxzuBLvEKLomLrAmmZ5wgw9bxAQ4kwahjYJ7OuJ3leR7CfLPLtnlBbiTjyZiNzSEEw4jFBSpYkQDMQBO0a17HQHsbmeoGG2DLo8R/YWyWIHojWqzdTk7XrO+Rfn80odrzI1ts2Zs= Received: by 10.114.135.1 with SMTP id i1mr6478089wad.88.1207598394238; Mon, 07 Apr 2008 12:59:54 -0700 (PDT) Received: by 10.114.174.20 with HTTP; Mon, 7 Apr 2008 12:59:54 -0700 (PDT) Message-ID: <2a41acea0804071259g28f2e2a7tc687a97e3c9d3988@mail.gmail.com> Date: Mon, 7 Apr 2008 12:59:54 -0700 From: "Jack Vogel" To: "Takanori Watanabe" In-Reply-To: <200804071841.m37IfukE027475@sana.init-main.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200804071841.m37IfukE027475@sana.init-main.com> Cc: jfv@freebsd.org, freebsd-acpi@freebsd.org Subject: Re: if_em locking issue in resume path. X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Apr 2008 20:26:04 -0000 Yes, thanks for noticing this, however rather than fix it as your patch I think I prefer just doing the CORE work, and then calling em_start(), it checks for the interface being up and gets the TX LOCK. I'll make the change as soon as I can. Jack On Mon, Apr 7, 2008 at 11:41 AM, Takanori Watanabe wrote: > This patch resolve a problem which will cause lock assertion > in resume path. Comment? > > > --- if_em.c.~1.190.~ 2008-02-29 21:50:10.000000000 +0000 > +++ if_em.c 2008-04-08 03:04:05.000000000 +0000 > @@ -915,12 +915,13 @@ > EM_CORE_LOCK(adapter); > em_init_locked(adapter); > em_init_manageability(adapter); > + EM_CORE_UNLOCK(adapter); > > + EM_TX_LOCK(adapter); > if ((ifp->if_flags & IFF_UP) && > (ifp->if_drv_flags & IFF_DRV_RUNNING)) > em_start_locked(ifp); > - > - EM_CORE_UNLOCK(adapter); > + EM_TX_UNLOCK(adapter); > > return bus_generic_resume(dev); > } >