]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
USB: don't register endpoints for interfaces that are going away
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 29 Oct 2008 19:16:58 +0000 (15:16 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 13 Nov 2008 22:45:00 +0000 (14:45 -0800)
This patch (as1155) fixes a bug in usbcore.  When interfaces are
deleted, either because the device was disconnected or because of a
configuration change, the extra attribute files and child endpoint
devices may get left behind.  This is because the core removes them
before calling device_del().  But during device_del(), after the
driver is unbound the core will reinstall altsetting 0 and recreate
those extra attributes and children.

The patch prevents this by adding a flag to record when the interface
is in the midst of being unregistered.  When the flag is set, the
attribute files and child devices will not be created.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@kernel.org> [2.6.27, 2.6.26, 2.6.25]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

No differences found