From owner-p4-projects@FreeBSD.ORG Fri Aug 7 17:50:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59E1E1065706; Fri, 7 Aug 2009 17:50:34 +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 D1B411065700 for ; Fri, 7 Aug 2009 17:50:33 +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 C0C9D8FC2A for ; Fri, 7 Aug 2009 17:50:33 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n77HoXuc066263 for ; Fri, 7 Aug 2009 17:50:33 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n77HoXZY066261 for perforce@freebsd.org; Fri, 7 Aug 2009 17:50:33 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 7 Aug 2009 17:50:33 GMT Message-Id: <200908071750.n77HoXZY066261@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 167092 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, 07 Aug 2009 17:50:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=167092 Change 167092 by hselasky@hselasky_laptop001 on 2009/08/07 17:50:13 USB CORE: - Leave device unconfigured instead of disabling the USB port when Huawei Autoinstall disk detection triggers. This should fix problems that the Huawei device is not detected after Autoinstall eject is issued. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#48 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#48 (text+ko) ==== @@ -1777,7 +1777,8 @@ } } else if (usb_test_huawei_autoinst_p(udev, &uaa) == 0) { DPRINTFN(0, "Found Huawei auto-install disk!\n"); - err = USB_ERR_STALLED; /* fake an error */ + /* leave device unconfigured */ + usb_unconfigure(udev, USB_UNCFG_FLAG_FREE_SUBDEV); } } else { err = 0; /* set success */ @@ -2452,7 +2453,7 @@ void usbd_enum_lock(struct usb_device *udev) { - newbus_xlock(); + newbus_slock(); sx_xlock(udev->default_sx + 1); } @@ -2462,7 +2463,7 @@ usbd_enum_unlock(struct usb_device *udev) { sx_xunlock(udev->default_sx + 1); - newbus_xunlock(); + newbus_sunlock(); } /*