From owner-p4-projects@FreeBSD.ORG Fri Jul 4 13:21:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7233E1065671; Fri, 4 Jul 2008 13: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 35612106564A for ; Fri, 4 Jul 2008 13: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 23B838FC14 for ; Fri, 4 Jul 2008 13: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.1/8.14.1) with ESMTP id m64DLLig011941 for ; Fri, 4 Jul 2008 13:21:21 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64DLKSO011939 for perforce@freebsd.org; Fri, 4 Jul 2008 13:21:20 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 13:21:20 GMT Message-Id: <200807041321.m64DLKSO011939@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 144614 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, 04 Jul 2008 13:21:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=144614 Change 144614 by hselasky@hselasky_laptop001 on 2008/07/04 13:20:43 If port power failed once it is likely to fail again. Only set port power if there was no previous port power failure. This is will improve the situation when you unplug the USB HUB too early. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#9 (text+ko) ==== @@ -736,10 +736,11 @@ if (!UHD_NOT_REMOV(&hubdesc, portno)) { removable++; } - /* turn the power on */ - err = usb2_req_set_port_feature - (udev, &Giant, portno, UHF_PORT_POWER); - + if (!err) { + /* turn the power on */ + err = usb2_req_set_port_feature + (udev, &Giant, portno, UHF_PORT_POWER); + } if (err) { DPRINTF(-1, "port %d power on failed, %s\n", portno, usb2_errstr(err));