alistair23-linux/drivers/usb/gadget
Richard Röjfors ff176a4e29 usb: pch_udc: Fix setup transfers with data out
This patch fixes an issue where the driver does not handle out data in
setup transactions.

The per endpoint cached status register is cleared in the
pch_udc_svc_control_out function. When there is out data available the
function pch_udc_svc_data_out is called which tries to pick it up the
status, which now is cleared to 0. When the status is 0, the function
doesn't start reading the data from the FIFO.

There is a second bug in all this, pch_udc_svc_data_out takes the
endpoint number (0 for EP0), while pch_udc_svc_control_out passes the
endpoint index (1 for EP0). Effectively pch_udc_svc_data_out picks up
the wrong internal ep structure.

This patch makes sure to put back the cached status and pass the
endpoint number rather than index when calling pch_udc_svc_data_out.

Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-10 14:28:29 -08:00
..
amd5536udc.c USB: gadget: amd5536udc.c: delete double assignment 2010-11-11 05:51:15 -08:00
amd5536udc.h
at91_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
at91_udc.h
atmel_usba_udc.c USB: atmel_usba_udc: force vbus_pin at -EINVAL when gpio_request failled 2010-10-22 10:21:47 -07:00
atmel_usba_udc.h
audio.c
cdc2.c
ci13xxx_msm.c USB: gadget: Implement runtime PM for MSM bus glue driver 2010-12-10 14:23:34 -08:00
ci13xxx_pci.c USB: gadget: Introduce ci13xxx_udc_driver struct 2010-12-10 14:23:33 -08:00
ci13xxx_udc.c USB: gadget: Implement runtime PM for ci13xxx gadget 2010-12-10 14:23:34 -08:00
ci13xxx_udc.h USB: gadget: Introduce ci13xxx_udc_driver struct 2010-12-10 14:23:33 -08:00
composite.c usb: composite gadget: set vbus_draw current limitation during suspend 2010-11-30 16:46:34 -08:00
config.c
dbgp.c
dummy_hcd.c usb: dummy_hcd code simplification 2010-11-11 06:19:35 -08:00
epautoconf.c
ether.c
f_acm.c
f_audio.c
f_ecm.c
f_eem.c
f_fs.c usb: gadget: f_fs: Remove redundant unlikely() 2010-12-10 14:18:36 -08:00
f_hid.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
f_loopback.c
f_mass_storage.c USB: gadget: f_mass_storage: code style clean ups 2010-11-11 05:58:49 -08:00
f_obex.c
f_phonet.c
f_rndis.c
f_serial.c
f_sourcesink.c
f_subset.c
f_uvc.c
f_uvc.h
file_storage.c USB: gadget: file_storage: put_device() in error recovery 2010-11-11 05:58:48 -08:00
fsl_mxc_udc.c mxc_udc: add workaround for ENGcm09152 for i.MX35 2010-10-22 10:22:17 -07:00
fsl_qe_udc.c
fsl_qe_udc.h
fsl_udc_core.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
fsl_usb2_udc.h
g_ffs.c usb: gadget: g_fs: Fix compilation warning 2010-11-17 13:24:46 -08:00
g_zero.h
gadget_chips.h USB: gadget: Add USB controller driver for MSM SoC 2010-12-10 14:23:33 -08:00
gmidi.c
goku_udc.c usb: gadget: goku_udc: Fix error path 2010-10-22 10:22:04 -07:00
goku_udc.h
hid.c
imx_udc.c usb: gadget/imx-udc: fix interrupt name again 2010-12-10 14:18:35 -08:00
imx_udc.h usb: gadget/imx-udc: remove usage of deprecated symbol USBD_INT0 2010-11-11 05:51:15 -08:00
inode.c convert get_sb_single() users 2010-10-29 04:16:28 -04:00
Kconfig USB: gadget: Add USB controller driver for MSM SoC 2010-12-10 14:23:33 -08:00
langwell_udc.c usb: gadget: langwell_udc: add usb test mode support 2010-11-30 16:50:36 -08:00
langwell_udc.h
lh7a40x_udc.c
lh7a40x_udc.h
m66592-udc.c
m66592-udc.h
Makefile USB: gadget: Add USB controller driver for MSM SoC 2010-12-10 14:23:33 -08:00
mass_storage.c USB: gadget: f_mass_storage: code style clean ups 2010-11-11 05:58:49 -08:00
multi.c
mv_udc.h USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
mv_udc_core.c USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
mv_udc_phy.c USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
ndis.h
net2280.c
net2280.h
nokia.c
omap_udc.c Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2010-10-25 13:46:56 -07:00
omap_udc.h
pch_udc.c usb: pch_udc: Fix setup transfers with data out 2010-12-10 14:28:29 -08:00
printer.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-10-22 20:30:48 -07:00
pxa25x_udc.c
pxa25x_udc.h
pxa27x_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
pxa27x_udc.h
r8a66597-udc.c usb: r8a66597-udc: Add processing when USB was removed. 2010-10-22 10:22:18 -07:00
r8a66597-udc.h
rndis.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
rndis.h
s3c-hsotg.c
s3c2410_udc.c
s3c2410_udc.h
serial.c
storage_common.c USB: gadget: storage: reuse definitions from scsi.h header file 2010-10-22 10:22:07 -07:00
u_audio.c usb: g_audio: Fix crash at driver removal 2010-12-03 12:05:35 -08:00
u_audio.h
u_ether.c USB: gadget: fix ethernet gadget crash in gether_setup 2010-10-28 11:47:52 -07:00
u_ether.h
u_phonet.h
u_serial.c
u_serial.h
usbstring.c
uvc.h
uvc_queue.c
uvc_queue.h
uvc_v4l2.c
uvc_video.c
webcam.c
zero.c