From owner-svn-src-all@FreeBSD.ORG Sun Sep 13 23:52:08 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 384711065672; Sun, 13 Sep 2009 23:52:08 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 782638FC13; Sun, 13 Sep 2009 23:52:06 +0000 (UTC) Received: from [IPv6:::1] (pooker.samsco.org [168.103.85.57]) (authenticated bits=0) by pooker.samsco.org (8.14.2/8.14.2) with ESMTP id n8DNq2hU082429; Sun, 13 Sep 2009 17:52:02 -0600 (MDT) (envelope-from scottl@samsco.org) Mime-Version: 1.0 (Apple Message framework v1075.2) Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes From: Scott Long In-Reply-To: <200909131508.n8DF8JwI024189@svn.freebsd.org> Date: Sun, 13 Sep 2009 17:52:01 -0600 Content-Transfer-Encoding: 7bit Message-Id: References: <200909131508.n8DF8JwI024189@svn.freebsd.org> To: Attilio Rao X-Mailer: Apple Mail (2.1075.2) X-Spam-Status: No, score=-2.4 required=3.8 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r197165 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 23:52:08 -0000 Are we just just giving up on this for now? Also, I would have liked to have known that this was coming. Scott On Sep 13, 2009, at 9:08 AM, Attilio Rao wrote: > Author: attilio > Date: Sun Sep 13 15:08:19 2009 > New Revision: 197165 > URL: http://svn.freebsd.org/changeset/base/197165 > > Log: > Revert r196779 in order to implement a different scheme for newbus > locking > methodology. > > Requested by: imp > > Modified: > head/sys/kern/subr_bus.c > head/sys/sys/bus.h > > Modified: head/sys/kern/subr_bus.c > = > = > = > = > = > = > = > = > ====================================================================== > --- head/sys/kern/subr_bus.c Sun Sep 13 14:47:31 2009 (r197164) > +++ head/sys/kern/subr_bus.c Sun Sep 13 15:08:19 2009 (r197165) > @@ -2625,16 +2625,10 @@ device_attach(device_t dev) > { > int error; > > - if (dev->state >= DS_ATTACHING) > - return (0); > device_sysctl_init(dev); > if (!device_is_quiet(dev)) > device_print_child(dev->parent, dev); > - dev->state = DS_ATTACHING; > if ((error = DEVICE_ATTACH(dev)) != 0) { > - KASSERT(dev->state == DS_ATTACHING, > - ("%s: %p device state must not been changing", __func__, > - dev)); > printf("device_attach: %s%d attach returned %d\n", > dev->driver->name, dev->unit, error); > /* Unset the class; set in device_probe_child */ > @@ -2645,8 +2639,6 @@ device_attach(device_t dev) > dev->state = DS_NOTPRESENT; > return (error); > } > - KASSERT(dev->state == DS_ATTACHING, > - ("%s: %p device state must not been changing", __func__, dev)); > device_sysctl_update(dev); > dev->state = DS_ATTACHED; > devadded(dev); > @@ -2682,16 +2674,8 @@ device_detach(device_t dev) > if (dev->state != DS_ATTACHED) > return (0); > > - dev->state = DS_DETACHING; > - if ((error = DEVICE_DETACH(dev)) != 0) { > - KASSERT(dev->state == DS_DETACHING, > - ("%s: %p device state must not been changing", __func__, > - dev)); > - dev->state = DS_ATTACHED; > + if ((error = DEVICE_DETACH(dev)) != 0) > return (error); > - } > - KASSERT(dev->state == DS_DETACHING, > - ("%s: %p device state must not been changing", __func__, dev)); > devremoved(dev); > if (!device_is_quiet(dev)) > device_printf(dev, "detached\n"); > @@ -2746,7 +2730,7 @@ device_quiesce(device_t dev) > int > device_shutdown(device_t dev) > { > - if (dev->state < DS_ATTACHED || dev->state == DS_DETACHING) > + if (dev->state < DS_ATTACHED) > return (0); > return (DEVICE_SHUTDOWN(dev)); > } > > Modified: head/sys/sys/bus.h > = > = > = > = > = > = > = > = > ====================================================================== > --- head/sys/sys/bus.h Sun Sep 13 14:47:31 2009 (r197164) > +++ head/sys/sys/bus.h Sun Sep 13 15:08:19 2009 (r197165) > @@ -52,11 +52,8 @@ struct u_businfo { > typedef enum device_state { > DS_NOTPRESENT, /**< @brief not probed or probe failed */ > DS_ALIVE, /**< @brief probe succeeded */ > - DS_ATTACHING, /**< @brief attaching is in progress */ > DS_ATTACHED, /**< @brief attach method called */ > - DS_BUSY, /**< @brief device is open */ > - DS_DETACHING /**< @brief detaching is in progress */ > - > + DS_BUSY /**< @brief device is open */ > } device_state_t; > > /**