Project

General

Profile

Actions

Bug #14371

open

usb auto-wakeup should support USB 3.0 devices

Added by Jason King 12 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
driver - device drivers
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The usb auto-wakeup feature allows a USB device to wake a system that has been suspended. Currently, on devices that advertise support of auto-wakeup, usb_handle_remote_wakeup is called during device attach, which sets the USB_DEV_REMOTE_WAKEUP feature (corresponding to DEVICE_REMOTE_WAKEUP in the USB spec).

Per the USB 3.[12] spec sec 9.2.5.4, the DEVICE_REMOTE_WAKEUP feature is ignored for enhanced super-speed devices. Instead, a flag is set when issuing the suspend request. We should update our USB stack to do this for USB 3.0 devices.

For comparison, FreeBSD doesn't enable the DEVICE_REMOTE_WAKEUP feature until it's preparing to suspend the system. This allows it to handle both USB 2.0 and 3.0 devices (since it can instead just set the 'auto-wakeup' bits instead of enabling the DEVICE_REMOTE_WAKEUP feature).

No data to display

Actions

Also available in: Atom PDF