linux/drivers/usb/core
Ole Andre Vadla Ravnas ad55d71a3d rndis_host learns ActiveSync basics
Windows Mobile 5 based devices described as supporting "ActiveSync":

 - Speak RNDIS but lack the CDC and union descriptors.  This patch
   updates the cdc ethernet code to fake ACM descriptors we need.

 - Require RNDIS_MSG_QUERY messages to include a buffer of the size the
   response should generate.  This patch updates the rndis host code to
   pass this will-be-ignored data.

The resulting RNDIS host code has been reported to work with several
WM5 based devices.

(Note that a fancier patch is available at synce.sf.net.)


Some bugfixes, affecting not just ActiveSync:
    (a)	when cleaning up after RNDS init fails, scrub the second interface
	just like cdc_ether does, so disconnect won't oops.
    (b)	handle peripherals that use the pad-to-end-of-packet option; some
	devices can't talk to us if that option doesn't work.
    (c)	when choosing configurations, don't forget about an RNDIS config
	just because the RNDIS driver is dynamically linked.

Cleanup, streamlining, bugfixes, Kconfig, and matching hub driver update.
Also for paranoia's sake, refuse to talk to something that looks like a
real modem instead of RNDIS.

Signed-off-by: Ole Andre Vadla Ravnaas <oleavr@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-02-07 15:44:33 -08:00
..
buffer.c [PATCH] slab: remove SLAB_DMA 2006-12-07 08:39:24 -08:00
config.c usb: deal with broken config descriptors 2006-09-27 11:58:55 -07:00
devices.c USB: indicate active altsetting in proc/bus/usb/devices file 2007-02-07 15:44:33 -08:00
devio.c USB: devio.c add missing INIT_LIST_HEAD() 2007-02-07 15:44:33 -08:00
driver.c usbcore: remove unused argument in autosuspend 2006-12-01 14:25:53 -08:00
endpoint.c USB: Fixed bug in endpoint release function. 2007-01-05 12:19:09 -08:00
file.c USB: convert usb class devices to real devices 2007-02-07 15:44:31 -08:00
generic.c rndis_host learns ActiveSync basics 2007-02-07 15:44:33 -08:00
hcd-pci.c USB: Properly unregister reboot notifier in case of failure in ehci hcd 2006-09-27 11:58:54 -07:00
hcd.c usb hub: fix root hub code so it takes more than 15 devices per root hub 2006-12-01 14:23:26 -08:00
hcd.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
hub.c USB: disable USB_MULTITHREAD_PROBE 2007-01-22 11:55:17 -08:00
hub.h USB: Move private hub declarations out of public header file 2006-12-01 14:23:30 -08:00
inode.c [PATCH] struct path: convert usb 2006-12-08 08:28:50 -08:00
Kconfig USB: disable USB_MULTITHREAD_PROBE 2007-01-22 11:55:17 -08:00
Makefile usbcore: move code among source files 2006-09-27 11:58:50 -07:00
message.c usbcore: remove unneeded error check 2007-02-07 15:44:33 -08:00
notify.c usbfs: private mutex for open, release, and remove 2006-09-27 11:58:49 -07:00
otg_whitelist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs.c USB: fix __must_check warnings in drivers/usb/core/ 2006-09-27 11:58:57 -07:00
urb.c USB: Remove unneeded void * casts in core files 2006-09-27 11:58:59 -07:00
usb.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
usb.h usbcore: remove unused argument in autosuspend 2006-12-01 14:25:53 -08:00