linux/drivers/usb/gadget
Robert Baldyga d18f7116a5 usb: gadget: s3c-hsotg: fix disconnect handling
This patch moves s3c_hsotg_disconnect function call from USBSusp interrupt
handler to SET_ADDRESS request handler.

It's because disconnected state can't be detected directly, because this
hardware doesn't support Disconnected interrupt for device mode. For both
Suspend and Disconnect events there is one interrupt USBSusp, but calling
s3c_hsotg_disconnect from this interrupt handler causes config reset in
composite layer, which is not undesirable for Suspended state.

For this reason s3c_hsotg_disconnect is called from SET_ADDRESS request
handler, which occurs always after disconnection, so we do disconnect
immediately before we are connected again. It's probably only way we
can do handle disconnection correctly.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-11-25 10:25:58 -06:00
..
acm_ms.c usb: gadget: acm_ms: convert to new interface of f_mass_storage 2013-10-10 10:24:31 -05:00
amd5536udc.c usb: gadget: amd5536udc: remove unnecessary pci_set_drvdata() 2013-10-01 09:31:16 -05:00
amd5536udc.h usb: gadget: amd5536udc: remove unused structure member 2013-03-18 11:16:56 +02:00
at91_udc.c usb: gadget: at91_udc: add usb_clk for transition to common clk framework 2013-08-02 15:17:03 +03:00
at91_udc.h usb: gadget: at91_udc: add usb_clk for transition to common clk framework 2013-08-02 15:17:03 +03:00
atmel_usba_udc.c usb: gadget: double unlocks on error in atmel_usba_start() 2013-08-27 15:05:35 -05:00
atmel_usba_udc.h USB: gadget: atmel_usba: add DT support 2013-05-24 07:14:45 +08:00
audio.c
bcm63xx_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
cdc2.c usb: gadget: cdc2: fix conversion to new interface of f_ecm 2013-09-17 10:38:52 -05:00
composite.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
config.c usb: gadget: always update HS/SS descriptors and create a copy of them 2012-10-31 15:09:44 +02:00
configfs.c usb: gadget: configfs: add a method to unregister the gadget 2013-10-01 09:50:22 -05:00
configfs.h usb: gadget: configfs: add a method to unregister the gadget 2013-10-01 09:50:22 -05:00
dbgp.c usb: gadget: allocate & giveback serial ports instead hard code them 2013-01-21 20:52:43 +02:00
dummy_hcd.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
epautoconf.c
ether.c usb: gadget: ether: put_usb_function on unbind 2013-07-25 20:35:23 +03:00
f_acm.c usb: acm gadget: Null termintate strings table 2013-08-30 11:10:36 -07:00
f_ecm.c usb: gadget: f_ecm: Staticize ecm_alloc 2013-09-17 11:06:44 -05:00
f_eem.c usb: gadget: f_eem: Staticize eem_alloc 2013-09-17 11:06:50 -05:00
f_fs.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
f_hid.c usb: gadget: always update HS/SS descriptors and create a copy of them 2012-10-31 15:09:44 +02:00
f_loopback.c usb: gadget: convert source sink and loopback to new function interface 2013-01-21 20:52:40 +02:00
f_mass_storage.c usb/gadget: f_mass_storage: use string literal as format in dev_set_name 2013-10-25 09:12:14 +01:00
f_mass_storage.h usb: gadget: f_mass_storage: remove compatibility layer 2013-10-10 10:24:53 -05:00
f_midi.c usb: gadget: always update HS/SS descriptors and create a copy of them 2012-10-31 15:09:44 +02:00
f_ncm.c usb/gadget: free opts struct on error recovery 2013-07-25 11:32:15 -07:00
f_obex.c usb: gadget: f_obex: remove compatibility layer 2013-06-10 17:29:08 +03:00
f_phonet.c usb: gadget: f_phonet: remove unused preprocessor conditional 2013-07-29 14:15:23 +03:00
f_rndis.c usb/gadget: free opts struct on error recovery 2013-07-25 11:32:15 -07:00
f_serial.c usb: gadget: f_serial: add configfs support 2013-04-03 14:43:35 +03:00
f_sourcesink.c usb: gadget: f_sourcesink.c: correct a copy-paste misnomer 2013-04-23 14:12:02 +03:00
f_subset.c usb/gadget: free opts struct on error recovery 2013-07-25 11:32:15 -07:00
f_uac1.c usb: gadget: f_uac1: Staticize local functions 2013-08-09 16:34:19 +03:00
f_uac2.c USB: gadget: f_uac2: Fix broken prm to uac2 mapping 2013-06-10 17:10:23 +03:00
f_uvc.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-07-13 12:09:57 -07:00
f_uvc.h usb: gadget: uvc: Fix coding style issues introduced by SS support 2013-03-18 11:18:18 +02:00
fotg210-udc.c USB: Faraday fotg210: fix email addresses 2013-09-17 09:36:10 -07:00
fotg210.h usb: gadget: add Faraday fotg210_udc driver 2013-06-10 17:58:11 +03:00
fsl_mxc_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
fsl_qe_udc.c drivers: clean-up prom.h implicit includes 2013-10-09 20:04:04 -05:00
fsl_qe_udc.h
fsl_udc_core.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
fsl_usb2_udc.h usb: gadget: fsl_mxc_udc: replace MX35_IO_ADDRESS to ioremap 2013-01-18 14:08:21 +02:00
functions.c usb: gadget: add a forward pointer from usb_function to its "instance" 2013-01-21 20:52:46 +02:00
fusb300_udc.c USB: Faraday fotg210: fix email addresses 2013-09-17 09:36:10 -07:00
fusb300_udc.h usb: gadget: fusb300_udc: add FUSB300_EPSET0_STL_CLR for clearing EP0 stall 2013-04-02 16:57:24 +03:00
g_ffs.c usb: g_ffs: fix compilation warning 2013-10-10 09:40:28 -05:00
g_zero.h usb: gadget: convert source sink and loopback to new function interface 2013-01-21 20:52:40 +02:00
gadget_chips.h
gmidi.c usb: gadget: consider link speed for bMaxPower 2013-01-10 12:38:52 +02:00
goku_udc.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
goku_udc.h usb: gadget: goku_udc: let udc-core manage gadget->dev 2013-03-18 11:16:45 +02:00
hid.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
inode.c Merge git://git.kvack.org/~bcrl/aio-next 2013-09-13 10:55:58 -07:00
Kconfig usb: gadget: Make VERBOSE_DEBUG enableable via Kconfig 2013-10-11 13:50:36 -05:00
lpc32xx_udc.c DMA-API: usb: use dma_set_coherent_mask() 2013-10-31 14:49:01 +00:00
m66592-udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
m66592-udc.h usb: gadget: m66592-udc: convert to udc_start/udc_stop 2013-01-24 21:11:29 +02:00
Makefile usb: gadget: Make VERBOSE_DEBUG enableable via Kconfig 2013-10-11 13:50:36 -05:00
mass_storage.c usb: gadget: mass_storage: convert to new interface of f_mass_storage 2013-10-10 10:24:10 -05:00
multi.c usb: gadget: multi: convert to new interface of f_mass_storage 2013-10-10 10:24:49 -05:00
mv_u3d_core.c usb: gadget: mv_u3d_core: remove deprecated IRQF_DISABLED 2013-10-10 09:40:31 -05:00
mv_u3d.h
mv_udc_core.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
mv_udc.h usb: gadget: mv_udc_core: remove unused clock 2013-04-02 11:42:45 +03:00
ncm.c usb: gadget: ncm: convert to new function interface 2013-06-10 17:12:52 +03:00
ndis.h
net2272.c USB: gadget: audit sysfs attribute permissions 2013-08-27 12:50:53 -07:00
net2272.h
net2280.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
net2280.h
nokia.c usb: gadget: nokia: convert to new interface of f_ecm 2013-06-10 17:32:23 +03:00
omap_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
omap_udc.h
pch_udc.c usb: gadget: pch_udc: remove unnecessary pci_set_drvdata() 2013-10-01 09:31:17 -05:00
printer.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
pxa25x_udc.c usb: gadget: pxa25x_udc: fix deferred probe from __init 2013-09-23 14:29:49 -05:00
pxa25x_udc.h usb: gadget: pxa25x_udc: convert to udc_start/udc_stop 2013-01-24 21:11:31 +02:00
pxa27x_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
pxa27x_udc.h usb: gadget: pxa27x_udc: convert to udc_start/udc_stop 2013-01-24 21:11:31 +02:00
r8a66597-udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
r8a66597-udc.h
rndis.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
rndis.h usb: gadget: rndis: init & exit rndis at module load/unload 2013-06-10 17:58:09 +03:00
s3c2410_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
s3c2410_udc.h usb: gadget: s3c2410: convert to udc_start/udc_stop 2013-01-24 21:11:32 +02:00
s3c-hsotg.c usb: gadget: s3c-hsotg: fix disconnect handling 2013-11-25 10:25:58 -06:00
s3c-hsotg.h
s3c-hsudc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
serial.c usb: gadget: serial: convert to new interface of f_obex 2013-04-03 14:43:36 +03:00
storage_common.c usb: gadget: storage_common: pass filesem to fsg_store_cdrom 2013-10-15 06:52:08 -05:00
storage_common.h usb: gadget: storage_common: pass filesem to fsg_store_cdrom 2013-10-15 06:52:08 -05:00
tcm_usb_gadget.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2013-11-22 10:52:03 -08:00
tcm_usb_gadget.h
u_ecm.h usb: gadget: f_ecm: add configfs support 2013-06-10 17:27:54 +03:00
u_eem.h usb: gadget: f_eem: add configfs support 2013-06-10 17:58:00 +03:00
u_ether_configfs.h usb: gadget: add helpers for configfs support for USB Ethernet 2013-06-10 17:15:43 +03:00
u_ether.c usb: gadget: u_ether: allow getting binary-form host address 2013-06-10 17:57:45 +03:00
u_ether.h usb: gadget: f_eem: remove compatibility layer 2013-06-10 17:57:47 +03:00
u_gether.h usb: gadget: f_subset: add configfs support 2013-06-10 17:58:08 +03:00
u_ncm.h usb: gadget: f_ncm: add configfs support 2013-06-10 17:15:02 +03:00
u_phonet.h usb: gadget: f_phonet: remove compatibility layer 2013-06-10 17:31:55 +03:00
u_rndis.h usb: gadget: f_rndis: add configfs support 2013-06-10 17:58:10 +03:00
u_serial.c usb: gadget: u_serial: fix typo which cause build warning 2013-03-14 12:47:53 +02:00
u_serial.h usb: gadget: nokia: use function framework for ACM 2013-04-03 14:43:20 +03:00
u_uac1.c usb: gadget: u_uac1: add __user annotation 2013-08-09 16:34:13 +03:00
u_uac1.h
udc-core.c usb: gadget: udc-core: Do not report -EISNAM error from gadgetfs 2013-10-04 09:44:43 -05:00
usbstring.c
uvc_queue.c usb: gadget: uvc: Fix error handling in uvc_queue_buffer() 2013-08-09 17:40:54 +03:00
uvc_queue.h usb: gadget/uvc: Port UVC webcam gadget to use videobuf2 framework 2013-04-02 11:42:48 +03:00
uvc_v4l2.c usb: gadget/uvc: Add support for 'get_unmapped_area' for MMUless architectures 2013-04-02 11:42:49 +03:00
uvc_video.c usb: gadget/uvc: Port UVC webcam gadget to use videobuf2 framework 2013-04-02 11:42:48 +03:00
uvc.h [media] f_uvc: add v4l2_device and replace parent with v4l2_dev 2013-06-21 11:04:47 -03:00
webcam.c usb: gadget: consider link speed for bMaxPower 2013-01-10 12:38:52 +02:00
zero.c usb: gadget: zero: Add flexible auto remote wakeup test method 2013-10-01 09:31:15 -05:00