mirror of
https://github.com/torvalds/linux.git
synced 2026-07-11 07:38:02 +02:00
The PM core reacts badly when the return code from usb_runtime_suspend() is not 0, -EAGAIN, or -EBUSY. The PM core regards this as a fatal error, and refuses to run anymore PM helper functions. In particular, usbfs_open() and other usbfs functions will fail because the PM core will return an error code when usb_autoresume_device() is called. This causes libusb and/or lsusb to either hang or segfault. If a USB device cannot suspend for some reason (e.g. a hub doesn't report it has remote wakeup capabilities), we still want lsusb and other userspace programs to work. So return -EBUSY, which will fill people's log files with failed tries, but will ensure userspace still works. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> |
||
|---|---|---|
| .. | ||
| buffer.c | ||
| config.c | ||
| devices.c | ||
| devio.c | ||
| driver.c | ||
| endpoint.c | ||
| file.c | ||
| generic.c | ||
| hcd-pci.c | ||
| hcd.c | ||
| hub.c | ||
| inode.c | ||
| Kconfig | ||
| Makefile | ||
| message.c | ||
| notify.c | ||
| otg_whitelist.h | ||
| quirks.c | ||
| sysfs.c | ||
| urb.c | ||
| usb.c | ||
| usb.h | ||