Revert "USB: Work around BIOS bugs by quiescing USB controllers earlier"
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 11 Oct 2009 22:57:57 +0000 (15:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 11 Oct 2009 22:57:57 +0000 (15:57 -0700)
commitd93a8f829fe1d2f3002f2c6ddb553d12db420412
treec6a2c4c287af50bc37292a7cbceaacea07b67b1c
parent161291396e76e0832c08f617eb9bd364d1648148
Revert "USB: Work around BIOS bugs by quiescing USB controllers earlier"

This reverts commit db8be50c4307dac2b37305fc59c8dc0f978d09ea, as per

http://bugzilla.kernel.org/show_bug.cgi?id=14374
http://marc.info/?l=linux-kernel&m=125446885705223&w=4

We simply can't do the USB handoff at FIXUP_HEADER time, since it will
often require us to have valid IO mappings etc.  But that in turn
requires a whole different approach, not this trivial one-liner.

Maybe we could teach all the USB quirk handoff handlers to only do the
quirk if the device has all its registers set up (since if it isn't
initialized, it's unlikely to be active), but regardless that will need
a whole lot more code than just saying "let's do it really early".

The proper fix is almost certainly to just leave the legacy IOMMU
mappings active until after all devices have been initialized.

Reported-by: Nick Piggin <npiggin@suse.de>
Cc: David Woodhouse <David.Woodhouse@intel.com>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/usb/host/pci-quirks.c