Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Aug 2012 18:40:09 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-usb@FreeBSD.org
Subject:   Re: usb/170606: commit references a PR
Message-ID:  <201208131840.q7DIe9lG075152@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/170606; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: usb/170606: commit references a PR
Date: Mon, 13 Aug 2012 18:34:16 +0000 (UTC)

 Author: hselasky
 Date: Mon Aug 13 18:34:04 2012
 New Revision: 239240
 URL: http://svn.freebsd.org/changeset/base/239240
 
 Log:
   Fix for missing locks due to recent change.
   
   PR:		usb/170606
   MFC after:	2 weeks
 
 Modified:
   head/sys/dev/usb/usb_device.c
 
 Modified: head/sys/dev/usb/usb_device.c
 ==============================================================================
 --- head/sys/dev/usb/usb_device.c	Mon Aug 13 18:10:52 2012	(r239239)
 +++ head/sys/dev/usb/usb_device.c	Mon Aug 13 18:34:04 2012	(r239240)
 @@ -2777,8 +2777,15 @@ usbd_set_endpoint_mode(struct usb_device
      uint8_t ep_mode)
  {   
  	usb_error_t error;
 +	uint8_t do_unlock;
  
 -	sx_assert(&udev->enum_sx, SA_LOCKED);
 +	/* automatic locking */
 +	if (usbd_enum_is_locked(udev)) {
 +		do_unlock = 0;
 +	} else {
 +		do_unlock = 1;
 +		usbd_enum_lock(udev);
 +	}
  
  	if (udev->bus->methods->set_endpoint_mode != NULL) {
  		error = (udev->bus->methods->set_endpoint_mode) (
 @@ -2792,6 +2799,9 @@ usbd_set_endpoint_mode(struct usb_device
  	/* only set new mode regardless of error */
  	ep->ep_mode = ep_mode;
  
 +	if (do_unlock)
 +		usbd_enum_unlock(udev);
 +
  	return (error);
  }
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208131840.q7DIe9lG075152>