diff options
| author | Steve French <sfrench@us.ibm.com> | 2005-10-31 08:36:11 -0800 | 
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2005-10-31 08:36:11 -0800 | 
| commit | 53b2ec5518aa2623e8c0cb36f1c304a797988a46 (patch) | |
| tree | 465d8631ade6c2fcbd7576ff9813d00116c6a1e8 /drivers/usb/core/urb.c | |
| parent | 0753ca7bc2b876dd136e9db11a20f85cbe4e08b1 (diff) | |
| parent | 581c1b14394aee60aff46ea67d05483261ed6527 (diff) | |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/usb/core/urb.c')
| -rw-r--r-- | drivers/usb/core/urb.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c index c846fefb738..f2a1fed2a80 100644 --- a/drivers/usb/core/urb.c +++ b/drivers/usb/core/urb.c @@ -60,7 +60,7 @@ void usb_init_urb(struct urb *urb)   *   * The driver must call usb_free_urb() when it is finished with the urb.   */ -struct urb *usb_alloc_urb(int iso_packets, unsigned mem_flags) +struct urb *usb_alloc_urb(int iso_packets, gfp_t mem_flags)  {  	struct urb *urb; @@ -224,7 +224,7 @@ struct urb * usb_get_urb(struct urb *urb)   *      GFP_NOIO, unless b) or c) apply   *   */ -int usb_submit_urb(struct urb *urb, unsigned mem_flags) +int usb_submit_urb(struct urb *urb, gfp_t mem_flags)  {  	int			pipe, temp, max;  	struct usb_device	*dev; @@ -237,7 +237,8 @@ int usb_submit_urb(struct urb *urb, unsigned mem_flags)  	    (dev->state < USB_STATE_DEFAULT) ||  	    (!dev->bus) || (dev->devnum <= 0))  		return -ENODEV; -	if (dev->state == USB_STATE_SUSPENDED) +	if (dev->bus->controller->power.power_state.event != PM_EVENT_ON +			|| dev->state == USB_STATE_SUSPENDED)  		return -EHOSTUNREACH;  	if (!(op = dev->bus->op) || !op->submit_urb)  		return -ENODEV;  | 
