diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2006-11-22 16:55:54 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-12-01 14:25:52 -0800 |
commit | ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd (patch) | |
tree | 310d11b695b631c091c9f442d566400ba9a86de9 /drivers/usb/serial | |
parent | d25450c68767481f7c9cc4823a6da8235db40be6 (diff) | |
download | linux-ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd.tar.gz linux-ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd.tar.bz2 linux-ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd.zip |
USB: keep count of unsuspended children
This patch (as818b) simplifies autosuspend processing by keeping track
of the number of unsuspended children of each USB hub. This will
permit us to avoid a good deal of unnecessary work all the time; we
will no longer have to create a bunch of workqueue entries to carry
out autosuspend requests, only to have them fail because one of the
hub's children isn't suspended.
The basic idea is simple. There already is a usage counter in the
usb_device structure for preventing autosuspends. The patch just
increments that counter for every unsuspended child. There's only one
tricky part: When a device disconnects we need to remember whether it
was suspended at the time (leave the counter alone) or not (decrement
the counter).
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial')
0 files changed, 0 insertions, 0 deletions