]> git.baikalelectronics.ru Git - kernel.git/commit
usbcore: khubd and busy-port handling
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 11 Aug 2006 20:52:39 +0000 (16:52 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 27 Sep 2006 18:58:54 +0000 (11:58 -0700)
commit00e0e5b2bfcd15c69b8a7645452836f64886a43a
tree98869f0db85e1f257c5ddd13a2afda934626153a
parent6fdba22668fa3a048bb3fa01bfd4a47fa7f05d1b
usbcore: khubd and busy-port handling

We don't want khubd to start interfering in the device-resume process
merely because the PORT_STATUS_C_SUSPEND feature happens to be set.
Ports need to be marked as busy while a resume is taking place.

In addition, so long as ports are marked as busy, khubd won't be able to
clear their various status-change features.  On an interrupt-driven root
hub this could lead to an interrupt storm.  Root hub IRQs should not be
re-enabled until the busy_bits value is equal to 0.

This patch (as765) fixes these two potential problems.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hub.c
drivers/usb/core/hub.h