From owner-p4-projects@FreeBSD.ORG Fri Aug 8 15:21:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 948161065682; Fri, 8 Aug 2008 15:21:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 588F01065680 for ; Fri, 8 Aug 2008 15:21:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 46A1F8FC20 for ; Fri, 8 Aug 2008 15:21:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m78FLL7W078495 for ; Fri, 8 Aug 2008 15:21:21 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m78FLL0a078493 for perforce@freebsd.org; Fri, 8 Aug 2008 15:21:21 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 8 Aug 2008 15:21:21 GMT Message-Id: <200808081521.m78FLL0a078493@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146914 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Aug 2008 15:21:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=146914 Change 146914 by hselasky@hselasky_laptop001 on 2008/08/08 15:21:17 Set "subdev" before probe and attach so that "devd" gets the information it needs. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#19 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#19 (text+ko) ==== @@ -974,12 +974,17 @@ device_set_ivars(uaa->temp_dev, uaa); device_quiet(uaa->temp_dev); } - if (device_probe_and_attach(uaa->temp_dev) == 0) { + /* + * Set "subdev" before probe and attach so that "devd" gets + * the information it needs. + */ + iface->subdev = uaa->temp_dev; + + if (device_probe_and_attach(iface->subdev) == 0) { /* * The USB attach arguments are only available during probe * and attach ! */ - iface->subdev = uaa->temp_dev; uaa->temp_dev = NULL; device_set_ivars(iface->subdev, NULL); @@ -988,6 +993,9 @@ device_printf(iface->subdev, "Suspend failed\n"); } return (0); /* success */ + } else { + /* No USB driver found */ + iface->subdev = NULL; } return (1); /* failure */ }