diff options
Diffstat (limited to 'drivers/usb/class')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 7 | ||||
-rw-r--r-- | drivers/usb/class/cdc-wdm.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 93b28ee8e8bd..95ae6377d7e5 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -1255,6 +1255,7 @@ static void acm_disconnect(struct usb_interface *intf) | |||
1255 | tty_hangup(acm->tty); | 1255 | tty_hangup(acm->tty); |
1256 | } | 1256 | } |
1257 | 1257 | ||
1258 | #ifdef CONFIG_PM | ||
1258 | static int acm_suspend(struct usb_interface *intf, pm_message_t message) | 1259 | static int acm_suspend(struct usb_interface *intf, pm_message_t message) |
1259 | { | 1260 | { |
1260 | struct acm *acm = usb_get_intfdata(intf); | 1261 | struct acm *acm = usb_get_intfdata(intf); |
@@ -1320,6 +1321,8 @@ err_out: | |||
1320 | mutex_unlock(&acm->mutex); | 1321 | mutex_unlock(&acm->mutex); |
1321 | return rv; | 1322 | return rv; |
1322 | } | 1323 | } |
1324 | |||
1325 | #endif /* CONFIG_PM */ | ||
1323 | /* | 1326 | /* |
1324 | * USB driver structure. | 1327 | * USB driver structure. |
1325 | */ | 1328 | */ |
@@ -1375,10 +1378,14 @@ static struct usb_driver acm_driver = { | |||
1375 | .name = "cdc_acm", | 1378 | .name = "cdc_acm", |
1376 | .probe = acm_probe, | 1379 | .probe = acm_probe, |
1377 | .disconnect = acm_disconnect, | 1380 | .disconnect = acm_disconnect, |
1381 | #ifdef CONFIG_PM | ||
1378 | .suspend = acm_suspend, | 1382 | .suspend = acm_suspend, |
1379 | .resume = acm_resume, | 1383 | .resume = acm_resume, |
1384 | #endif | ||
1380 | .id_table = acm_ids, | 1385 | .id_table = acm_ids, |
1386 | #ifdef CONFIG_PM | ||
1381 | .supports_autosuspend = 1, | 1387 | .supports_autosuspend = 1, |
1388 | #endif | ||
1382 | }; | 1389 | }; |
1383 | 1390 | ||
1384 | /* | 1391 | /* |
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 1103ce7016b1..7e8e1235e4e5 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c | |||
@@ -750,12 +750,16 @@ static int wdm_suspend(struct usb_interface *intf, pm_message_t message) | |||
750 | dev_dbg(&desc->intf->dev, "wdm%d_suspend\n", intf->minor); | 750 | dev_dbg(&desc->intf->dev, "wdm%d_suspend\n", intf->minor); |
751 | 751 | ||
752 | mutex_lock(&desc->plock); | 752 | mutex_lock(&desc->plock); |
753 | #ifdef CONFIG_PM | ||
753 | if (interface_to_usbdev(desc->intf)->auto_pm && test_bit(WDM_IN_USE, &desc->flags)) { | 754 | if (interface_to_usbdev(desc->intf)->auto_pm && test_bit(WDM_IN_USE, &desc->flags)) { |
754 | rv = -EBUSY; | 755 | rv = -EBUSY; |
755 | } else { | 756 | } else { |
757 | #endif | ||
756 | cancel_work_sync(&desc->rxwork); | 758 | cancel_work_sync(&desc->rxwork); |
757 | kill_urbs(desc); | 759 | kill_urbs(desc); |
760 | #ifdef CONFIG_PM | ||
758 | } | 761 | } |
762 | #endif | ||
759 | mutex_unlock(&desc->plock); | 763 | mutex_unlock(&desc->plock); |
760 | 764 | ||
761 | return rv; | 765 | return rv; |