diff options
| author | Andrew Thompson <thompsa@FreeBSD.org> | 2009-05-05 15:36:23 +0000 | 
|---|---|---|
| committer | Andrew Thompson <thompsa@FreeBSD.org> | 2009-05-05 15:36:23 +0000 | 
| commit | ec8f31275d52fa592305e9a9eca263ebfaed25e0 (patch) | |
| tree | 3b824f3d7cff91427680192e6b5410a43bc2846a /sys/dev/usb/usb_device.c | |
| parent | d1884d416a580919f8b7d6ddb58a83099234a85f (diff) | |
Notes
Diffstat (limited to 'sys/dev/usb/usb_device.c')
| -rw-r--r-- | sys/dev/usb/usb_device.c | 19 | 
1 files changed, 8 insertions, 11 deletions
diff --git a/sys/dev/usb/usb_device.c b/sys/dev/usb/usb_device.c index 0aff977abbfe..2463c1f2dba9 100644 --- a/sys/dev/usb/usb_device.c +++ b/sys/dev/usb/usb_device.c @@ -96,15 +96,12 @@ static const char* statestr[USB_STATE_MAX] = {  	[USB_STATE_POWERED]	= "POWERED",  	[USB_STATE_ADDRESSED]	= "ADDRESSED",  	[USB_STATE_CONFIGURED]	= "CONFIGURED", -	[USB_STATE_SUSPENDED]	= "SUSPENDED"  };  const char * -usb2_statestr(enum usb_dev_state state) +usb2_statestr(enum usb2_dev_state state)  { -	KASSERT(state < USB_STATE_MAX, ("invalid udev state")); - -	return (statestr[state]); +	return ((state < USB_STATE_MAX) ? statestr[state] : "UNKNOWN");  }  /*------------------------------------------------------------------------* @@ -999,7 +996,7 @@ usb2_detach_device_sub(struct usb2_device *udev, device_t *ppdev,  		    udev->port_no, udev->address);  		if (device_is_attached(dev)) { -			if (udev->state == USB_STATE_SUSPENDED) { +			if (udev->flags.peer_suspended) {  				err = DEVICE_RESUME(dev);  				if (err) {  					device_printf(dev, "Resume failed!\n"); @@ -1139,7 +1136,7 @@ usb2_probe_and_attach_sub(struct usb2_device *udev,  		uaa->temp_dev = NULL;  		device_set_ivars(iface->subdev, NULL); -		if (udev->state == USB_STATE_SUSPENDED) { +		if (udev->flags.peer_suspended) {  			err = DEVICE_SUSPEND(iface->subdev);  			if (err)  				device_printf(iface->subdev, "Suspend failed\n"); @@ -1360,12 +1357,12 @@ usb2_suspend_resume(struct usb2_device *udev, uint8_t do_suspend)  	USB_BUS_LOCK(udev->bus);  	/* filter the suspend events */ -	if ((udev->state == USB_STATE_SUSPENDED && do_suspend) || -	    (udev->state != USB_STATE_SUSPENDED && !do_suspend)) { +	if (udev->flags.peer_suspended == do_suspend) {  		USB_BUS_UNLOCK(udev->bus);  		/* nothing to do */  		return (0);  	} +	udev->flags.peer_suspended = do_suspend;  	USB_BUS_UNLOCK(udev->bus);  	/* do the suspend or resume */ @@ -2462,7 +2459,7 @@ usb2_peer_can_wakeup(struct usb2_device *udev)  }  void -usb2_set_device_state(struct usb2_device *udev, enum usb_dev_state state) +usb2_set_device_state(struct usb2_device *udev, enum usb2_dev_state state)  {  	KASSERT(state < USB_STATE_MAX, ("invalid udev state")); @@ -2472,7 +2469,7 @@ usb2_set_device_state(struct usb2_device *udev, enum usb_dev_state state)  	udev->state = state;  } -int +uint8_t  usb2_device_attached(struct usb2_device *udev)  {  	return (udev->state > USB_STATE_DETACHED);  | 
