linux/drivers/usb/host
Aleksey Gorelov 64a21d025d USB: Properly unregister reboot notifier in case of failure in ehci hcd
If some problem occurs during ehci startup, for instance, request_irq fails,
echi hcd driver tries it best to cleanup, but fails to unregister reboot
notifier, which in turn leads to crash on reboot/poweroff.

The following patch resolves this problem by not using reboot notifiers
anymore, but instead making ehci/ohci driver get its own shutdown method.  For
PCI, it is done through pci glue, for everything else through platform driver
glue.

One downside: sa1111 does not use platform driver stuff, and does not have its
own shutdown hook, so no 'shutdown' is called for it now.  I'm not sure if it
is really necessary on that platform, though.

Signed-off-by: Aleks Gorelov <dared1st@yahoo.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27 11:58:54 -07:00
..
ehci-au1xxx.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ehci-dbg.c [PATCH] swsusp: switch pm_message_t to struct 2005-09-05 00:06:16 -07:00
ehci-fsl.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ehci-fsl.h [PATCH] USB: EHCI for Freescale 83xx 2006-03-20 14:49:55 -08:00
ehci-hcd.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ehci-hub.c [PATCH] USB: EHCI and NF2 quirk 2006-03-20 14:49:55 -08:00
ehci-mem.c [PATCH] USB: kzalloc() conversion for rest of drivers/usb 2006-03-20 14:49:59 -08:00
ehci-pci.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ehci-q.c [PATCH] USB core and HCDs: don't put_device while atomic 2006-03-20 14:49:58 -08:00
ehci-sched.c [PATCH] improved TT scheduling for EHCI 2006-06-21 15:04:13 -07:00
ehci.h USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
hc_crisv10.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hc_crisv10.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isp116x-hcd.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
isp116x.h [PATCH] USB: isp116x-hcd: cleanup 2006-01-04 13:48:29 -08:00
Kconfig USB: kill usb kconfig warning 2006-09-27 11:58:48 -07:00
Makefile [PATCH] USB: hcd uses EXTRA_CFLAGS for -DDEBUG 2006-01-04 13:48:30 -08:00
ohci-at91.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-au1xxx.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-dbg.c USB: OHCI avoids root hub timer polling 2006-09-27 11:58:48 -07:00
ohci-ep93xx.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-hcd.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-hub.c USB: OHCI avoids root hub timer polling 2006-09-27 11:58:48 -07:00
ohci-lh7a404.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-mem.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-omap.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-pci.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-pnx4008.c USB OHCI controller support for PNX4008 2006-09-27 11:58:48 -07:00
ohci-ppc-soc.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-pxa27x.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-q.c [PATCH] USB: OHCI on Compaq Aramada 7400 2005-04-18 17:39:30 -07:00
ohci-s3c2410.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
ohci-sa1111.c USB: OHCI avoids root hub timer polling 2006-09-27 11:58:48 -07:00
ohci.h USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
pci-quirks.c [PATCH] USB: Kill compiler warning in quirk_usb_handoff_ohci 2006-07-12 16:03:22 -07:00
pci-quirks.h [PATCH] USB: pci-quirks.c: proper prototypes 2006-04-14 11:12:20 -07:00
sl811_cs.c [PATCH] USB: move hardware-specific <linux/usb_*.h> to <linux/usb/*.h> 2006-06-21 15:04:18 -07:00
sl811-hcd.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
sl811.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uhci-debug.c USB: Make file operations structs in drivers/usb const. 2006-09-27 11:58:52 -07:00
uhci-hcd.c [PATCH] Really ignore kmem_cache_destroy return value 2006-09-27 08:26:10 -07:00
uhci-hcd.h [PATCH] UHCI: Improve FSBR-off timing 2006-06-21 15:04:16 -07:00
uhci-hub.c [PATCH] UHCI: remove hc_inaccessible flag 2006-06-21 15:04:16 -07:00
uhci-q.c uhci-hcd: fix list access bug 2006-08-31 18:04:30 -07:00