From owner-cvs-src-old@FreeBSD.ORG Wed May 12 22:42:49 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8B3C10657EA for ; Wed, 12 May 2010 22:42:49 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from repoman.freebsd.org (unknown [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D65868FC19 for ; Wed, 12 May 2010 22:42:49 +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 o4CMgneE088026 for ; Wed, 12 May 2010 22:42:49 GMT (envelope-from thompsa@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o4CMgnIZ088024 for cvs-src-old@freebsd.org; Wed, 12 May 2010 22:42:49 GMT (envelope-from thompsa@repoman.freebsd.org) Message-Id: <201005122242.o4CMgnIZ088024@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to thompsa@repoman.freebsd.org using -f From: Andrew Thompson Date: Wed, 12 May 2010 22:42:35 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/usb usb_device.c usb_device.h usb_generic.c usb_hub.c usb_request.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 May 2010 22:42:50 -0000 thompsa 2010-05-12 22:42:35 UTC FreeBSD src repository Modified files: sys/dev/usb usb_device.c usb_device.h usb_generic.c usb_hub.c usb_request.c Log: SVN rev 208008 on 2010-05-12 22:42:35Z by thompsa If a USB device is suspended and a USB set config request is issued when the USB enumeration lock is locked, then the USB stack fails to resume the device because locking the USB enumeration lock is part of the resume procedure. To solve this issue a new lock is introduced which only protects the suspend and resume callbacks, which can be dropped inside the usbd_do_request_flags() function, to allow suspend and resume during so-called enumeration operations. Submitted by: Hans Petter Selasky Revision Changes Path 1.61 +30 -3 src/sys/dev/usb/usb_device.c 1.33 +3 -0 src/sys/dev/usb/usb_device.h 1.24 +24 -4 src/sys/dev/usb/usb_generic.c 1.36 +83 -41 src/sys/dev/usb/usb_hub.c 1.29 +18 -6 src/sys/dev/usb/usb_request.c