1. 08 2月, 2007 1 次提交
    • O
      rndis_host learns ActiveSync basics · ad55d71a
      Ole Andre Vadla Ravnas 提交于
      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: NOle Andre Vadla Ravnaas <oleavr@gmail.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      ad55d71a
  2. 04 10月, 2006 1 次提交
  3. 28 9月, 2006 6 次提交
    • A
      usbcore: non-hub-specific uses of autosuspend · 01d883d4
      Alan Stern 提交于
      This patch (as741) makes the non-hub parts of usbcore actually use the
      autosuspend facilities added by an earlier patch.
      
      	Devices opened through usbfs are autoresumed and then
      	autosuspended upon close.
      
      	Likewise for usb-skeleton.
      
      	Devices are autoresumed for usb_set_configuration.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      01d883d4
    • A
      usbcore: fix up device and power state tests · 114b368c
      Alan Stern 提交于
      This patch (as734) rationalizes the various tests of device state and
      power states.  There are duplications and mistaken tests in several
      places.
      
      Perhaps the most interesting challenge is where the hub driver tests to
      see that all the child devices are suspended before allowing itself to
      be suspended.  When CONFIG_USB_SUSPEND is set the test is
      straightforward, since we expect that the children _will_ be suspended.
      But when CONFIG_USB_SUSPEND isn't set, it's not so clear what should be
      done.  The code compromises by checking the child's
      power.power_state.event field.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      114b368c
    • A
      usbcore: resume device resume recursion · a8e7c565
      Alan Stern 提交于
      This patch (as717b) removes the existing recursion in hub resume code:
      Resuming a hub will no longer automatically resume the devices attached
      to the hub.
      
      At the same time, it adds one level of recursion: Suspending a USB
      device will automatically suspend all the device's interfaces.  Failure
      at an intermediate stage will cause all the already-suspended interfaces
      to be resumed. Attempts to suspend or resume an interface by itself will
      do nothing, although they won't return an error.  Thus the regular
      system-suspend and system-resume procedures should continue to work as
      before; only runtime PM will be affected.
      
      The patch also removes the code that tests state of the interfaces
      before suspending a device.  It's no longer needed, since everything
      gets suspended together.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a8e7c565
    • A
      usbcore: make usb_generic a usb_device_driver · 782da727
      Alan Stern 提交于
      This patch (as714b) makes usb_generic into a usb_device_driver capable
      of being probed and unbound, just like other drivers.  A fair amount of
      the work that used to get done during discovery or removal of a USB
      device have been moved to the probe and disconnect methods of
      usb_generic: creating the sysfs attributes and selecting an initial
      configuration.  However the normal behavior should continue to be the
      same as before.
      
      We will now have the possibility of creating other USB device drivers,
      They will assist with exporting devices to remote systems
      (USB-over-TCPIP) or to paravirtual guest operating systems.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      782da727
    • A
      usbcore: add usb_device_driver definition · 8bb54ab5
      Alan Stern 提交于
      This patch (as732) adds a usb_device_driver structure, for representing
      drivers that manage an entire USB device as opposed to just an
      interface.  Support routines like usb_register_device_driver,
      usb_deregister_device_driver, usb_probe_device, and usb_unbind_device
      are also added.
      
      Unlike an earlier version of this patch, the new code is type-safe.  To
      accomplish this, the existing struct driver embedded in struct
      usb_driver had to be wrapped in an intermediate wrapper.  This enables
      the core to tell at runtime whether a particular struct driver belongs
      to a device driver or to an interface driver.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8bb54ab5
    • A
      usbcore: move code among source files · 36e56a34
      Alan Stern 提交于
      This revised patch (as713b) moves a few routines among source files in
      usbcore.  Some driver-related code in usb.c (claiming interfaces and
      matching IDs) is moved to driver.c, where it belongs.  Also the
      usb_generic stuff in driver.c is moved to a new source file: generic.c.
      (That's the reason for revising the patch.)  Although not very big now,
      it will get bigger in a later patch.
      
      None of the code has been changed; it has only been re-arranged.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      36e56a34