linux/drivers/usb/gadget
Valentin Longchamp d834508e15 USB: fsl_qe_udc: send ZLP when zero flag and length % maxpacket == 0
The driver did not take the zero flag in the USB request. If the
request length is the same as the endpoint's maxpacket, an additional
ZLP with no data has to be transmitted.

The method used here is inspired to what is done in fsl_udc_core.c
(and pxa27x_udc.c and at91_udc.c) where this is supported.

There already was a discussion about this topic with people from
Keymile, and I propose here a better implementation:

http://thread.gmane.org/gmane.linux.usb.general/38951

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-13 15:57:19 -07:00
..
Kconfig Merge branch 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-16 19:05:40 -07:00
Makefile Merge branch 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-16 19:05:40 -07:00
amd5536udc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
amd5536udc.h Fix common misspellings 2011-03-31 11:26:23 -03:00
at91_udc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
at91_udc.h
atmel_usba_udc.c USB: atmel_usba_udc: fix freeing irq in usba_udc_remove() 2010-12-16 13:36:12 -08:00
atmel_usba_udc.h
audio.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
cdc2.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
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: Add test mode support for ci13xxx_udc 2011-02-25 11:33:57 -08:00
ci13xxx_udc.h USB: gadget: Add test mode support for ci13xxx_udc 2011-02-25 11:33:57 -08:00
composite.c Fix common misspellings 2011-03-31 11:26:23 -03:00
config.c
dbgp.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
dummy_hcd.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
epautoconf.c USB: Gadget: Initialize wMaxPacketSize if not already set 2011-02-04 11:42:52 -08:00
ether.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_acm.c USB: Change acm_iad_descriptor bFunctionProtocol to USB_CDC_ACM_PROTO_AT_V25TER 2010-10-22 10:21:35 -07:00
f_audio.c usb/gadget: don't leak hs_descriptors 2011-04-13 15:44:03 -07:00
f_ecm.c
f_eem.c usb: gadget: eem: fix echo command processing 2011-04-13 15:44:01 -07:00
f_fs.c USB: gadget: f_fs: even zero-length packets require a buffer 2011-02-04 11:57:22 -08:00
f_hid.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
f_loopback.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_mass_storage.c USB, Mass Storage, composite, gadget: Fix build failure and memset of a struct 2011-02-04 12:38:14 -08:00
f_ncm.c Fix common misspellings 2011-03-31 11:26:23 -03:00
f_obex.c
f_phonet.c f_phonet: avoid pskb_pull(), fix OOPS with CONFIG_HIGHMEM 2011-02-28 12:36:39 -08:00
f_rndis.c
f_serial.c
f_sourcesink.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
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 usb: gadget/fsl_mxc_udc: Detect the CPU type in run-time 2011-02-04 11:42:52 -08:00
fsl_qe_udc.c USB: fsl_qe_udc: send ZLP when zero flag and length % maxpacket == 0 2011-04-13 15:57:19 -07:00
fsl_qe_udc.h Fix common misspellings 2011-03-31 11:26:23 -03:00
fsl_udc_core.c Fix common misspellings 2011-03-31 11:26:23 -03:00
fsl_usb2_udc.h Fix common misspellings 2011-03-31 11:26:23 -03:00
fusb300_udc.c usb: fusb300_udc: add more "ep%d" names 2011-02-17 10:47:55 -08:00
fusb300_udc.h usb: udc: add Faraday fusb300 driver 2011-01-22 19:45:36 -08:00
g_ffs.c usb: gadget: g_fs: Fix compilation warning 2010-11-17 13:24:46 -08:00
g_zero.h
gadget_chips.h ARM: lh7a40x: remove unmaintained platform support 2011-01-24 19:05:19 +00:00
gmidi.c Fix common misspellings 2011-03-31 11:26:23 -03:00
goku_udc.c usb: gadget: goku_udc: Fix error path 2010-10-22 10:22:04 -07:00
goku_udc.h usb: gadget: goku_udc: add registered flag bit, fixing build 2010-11-11 06:57:24 -08:00
hid.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
imx_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -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 USB: usb-gadget: unlock data->lock mutex on error path in ep_read() 2011-04-13 15:43:59 -07:00
langwell_udc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
langwell_udc.h USB: langwell: USB Client driver memory handling 2010-10-22 10:21:19 -07:00
m66592-udc.c usb: m66592-udc: Fixed bufnum of Bulk 2011-02-25 11:33:00 -08:00
m66592-udc.h
mass_storage.c USB: gadget: f_mass_storage: code style clean ups 2010-11-11 05:58:49 -08:00
multi.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
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 Fix common misspellings 2011-03-31 11:26:23 -03:00
mv_udc_phy.c USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
ncm.c usb: gadget: g_ncm added 2010-12-10 14:29:43 -08:00
ndis.h
net2280.c Fix common misspellings 2011-03-31 11:26:23 -03:00
net2280.h
nokia.c Fix common misspellings 2011-03-31 11:26:23 -03:00
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: unlock on allocation failure 2011-04-13 15:44:05 -07:00
printer.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pxa25x_udc.c ARM: pxa25x_udc: stop handling gpio-vbus internally 2011-03-16 16:33:34 +08:00
pxa25x_udc.h
pxa27x_udc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pxa27x_udc.h
r8a66597-udc.c usb: r8a66597-udc: fix spinlock usage 2011-04-13 15:44:00 -07:00
r8a66597-udc.h USB: r8a66597-udc: Initialize uninitialized variable, fix compile warning 2010-10-22 10:21:34 -07:00
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 Fix common misspellings 2011-03-31 11:26:23 -03:00
s3c2410_udc.c USB: s3c2410_udc: Add common implementation for GPIO controlled pullups 2011-03-07 12:23:22 -08:00
s3c2410_udc.h
serial.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
storage_common.c block: check bdev_read_only() from blkdev_get() 2010-11-13 11:55:17 +01: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 warning in ethernet 2011-03-02 19:52:29 -05:00
u_ether.h usb: gadget: f_ncm.c added 2010-12-10 14:29:43 -08:00
u_phonet.h
u_serial.c usb: subtle increased memory usage in u_serial 2010-11-11 07:03:48 -08:00
u_serial.h
usbstring.c
uvc.h
uvc_queue.c
uvc_queue.h
uvc_v4l2.c
uvc_video.c
webcam.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
zero.c usb gadget: don't save bind callback in struct usb_composite_driver 2010-10-22 10:21:25 -07:00