linux-stable/drivers/usb/musb
Daniel Mack 0fca91b8a4 usb: musb: dsps: move debugfs_remove_recursive()
When the platform initialization fails due to missing resources, it will
return -EPROBE_DEFER after dsps_musb_init() has been called.

dsps_musb_init() calls dsps_musb_dbg_init() to allocate the debugfs
nodes. At a later point in time, the probe will be retried, and
dsps_musb_dbg_init() will be called again. debugfs_create_dir() will
fail this time, as the node already exists, and so the entire device
probe will fail with -ENOMEM.

Fix this by moving debugfs_remove_recursive() from dsps_remove() to the
plaform's exit function, so it will be cleanly torn down when the probe
fails. It also feels more natural this way, as .exit is the counterpart
to .init.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2014-04-16 10:11:46 -05:00
..
Kconfig usb: musb: USB_MUSB_DUAL_ROLE/USB_MUSB_GADGET should depend on HAS_DMA 2014-03-05 09:44:48 -06:00
Makefile usb: musb: add support for JZ4740 usb device controller 2013-12-20 09:53:24 -06:00
am35x.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
blackfin.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
blackfin.h
cppi_dma.c usb: musb: dma: merge ->start/stop into create/destroy 2013-07-29 13:53:18 +03:00
cppi_dma.h
da8xx.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
davinci.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
davinci.h
jz4740.c usb: musb: add support for JZ4740 usb device controller 2013-12-20 09:53:24 -06:00
musb_am335x.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
musb_core.c usb: patches for v3.15 2014-03-07 16:47:36 -08:00
musb_core.h usb: musb: finish suspend/reset work independently from musb_hub_control() 2013-12-19 10:31:11 -06:00
musb_cppi41.c usb: musb: musb_cppi41: Dont reprogram DMA if tear down is initiated 2014-03-05 14:40:05 -06:00
musb_debug.h
musb_debugfs.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
musb_dma.h usb: musb dma: add cppi41 dma driver 2013-08-09 17:40:16 +03:00
musb_dsps.c usb: musb: dsps: move debugfs_remove_recursive() 2014-04-16 10:11:46 -05:00
musb_gadget.c usb: musb: fix setting JZ4740 gadget periphal mode on reset 2013-12-20 09:53:59 -06:00
musb_gadget.h usb: musb: add Kconfig options for HOST, GAGDET or DUAL_ROLE modes 2013-05-28 19:22:23 +03:00
musb_gadget_ep0.c usb: musb: gadget: read ep0 fifo only if rxcount is non zero 2013-04-02 11:42:50 +03:00
musb_host.c usb: patches for v3.15 2014-03-07 16:47:36 -08:00
musb_host.h usb: musb: fix prototype for musb_port_reset 2013-12-20 15:05:43 -06:00
musb_io.h usb: musb: use io{read,write}*_rep accessors 2012-12-17 17:15:13 -08:00
musb_regs.h
musb_virthub.c usb: musb: correct use of schedule_delayed_work() 2014-02-20 09:17:24 -06:00
musbhsdma.c usb: musb: dma: merge ->start/stop into create/destroy 2013-07-29 13:53:18 +03:00
musbhsdma.h usb: musb: remove generic_interrupt 2012-11-06 15:32:13 +02:00
omap2430.c usb: musb: omap2430: make sure clocks are enabled when running mailbox 2014-04-15 12:08:02 -05:00
omap2430.h usb: start using the control module driver 2013-01-25 12:27:24 +02:00
tusb6010.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
tusb6010.h
tusb6010_omap.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ux500.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ux500_dma.c usb: musb: ux500_dma: fix potential NULL dereference error 2013-12-17 13:17:42 -06:00