From owner-svn-src-head@FreeBSD.ORG Fri Jul 12 08:03:10 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C33BC845; Fri, 12 Jul 2013 08:03:10 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9B7DF130D; Fri, 12 Jul 2013 08:03:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6C83A9B016524; Fri, 12 Jul 2013 08:03:10 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r6C83ACp016523; Fri, 12 Jul 2013 08:03:10 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201307120803.r6C83ACp016523@svn.freebsd.org> From: Craig Rodrigues Date: Fri, 12 Jul 2013 08:03:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r253255 - head/sys/netgraph/bluetooth/drivers/ubt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jul 2013 08:03:10 -0000 Author: rodrigc Date: Fri Jul 12 08:03:10 2013 New Revision: 253255 URL: http://svnweb.freebsd.org/changeset/base/253255 Log: PR: kern/168520 Submitted by: "YAMAMOTO, Shigeru" Reviewed by: adrian In PC-BSD 9.1, VIMAGE is enabled in the kernel config. For laptops with Bluetooth capability, such as the HP Elitebook 8460p, the kernel will panic upon bootup, because curthread->td_vnet is not initialized. Properly initialize curthread->td_vnet when initializing the Bluetooth stack. This allows laptops such as the HP Elitebook 8460p laptop to properly boot with VIMAGE kernels. Modified: head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c Modified: head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c ============================================================================== --- head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c Fri Jul 12 07:43:56 2013 (r253254) +++ head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c Fri Jul 12 08:03:10 2013 (r253255) @@ -109,7 +109,9 @@ #include #include #include +#include #include +#include #include "usbdevs.h" #include @@ -123,6 +125,7 @@ #include #include +#include #include #include #include @@ -487,13 +490,14 @@ ubt_attach(device_t dev) sc->sc_dev = dev; sc->sc_debug = NG_UBT_WARN_LEVEL; - + CURVNET_SET(TD_TO_VNET(curthread)); /* * Create Netgraph node */ if (ng_make_node_common(&typestruct, &sc->sc_node) != 0) { UBT_ALERT(sc, "could not create Netgraph node\n"); + CURVNET_RESTORE(); return (ENXIO); } @@ -501,10 +505,12 @@ ubt_attach(device_t dev) if (ng_name_node(sc->sc_node, device_get_nameunit(dev)) != 0) { UBT_ALERT(sc, "could not name Netgraph node\n"); NG_NODE_UNREF(sc->sc_node); + CURVNET_RESTORE(); return (ENXIO); } NG_NODE_SET_PRIVATE(sc->sc_node, sc); NG_NODE_FORCE_WRITER(sc->sc_node); + CURVNET_RESTORE(); /* * Initialize device softc structure @@ -631,8 +637,10 @@ ubt_detach(device_t dev) /* Destroy Netgraph node */ if (node != NULL) { sc->sc_node = NULL; + CURVNET_SET(node->nd_vnet); NG_NODE_REALLY_DIE(node); ng_rmnode_self(node); + CURVNET_RESTORE(); } /* Make sure ubt_task in gone */