An error occurred fetching the project authors.
  1. 08 Jun, 2004 1 commit
  2. 07 Jun, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB: rndis (2/4) fix memory leaks · ebf02028
      David Brownell authored
      Tao Huang wrote:
      > I'm writing udc driver for S3C2410. I found RNDIS almost not call my
      > driver's free_request and free_buffer. So after run my driver about 3
      > hours the system will out of memory.
      >
      > This patch will fix the memory leak.
      >
      > There will still have memory leak when driver unload, but I don't known
      > where is the proper place to fix it.
      > 1) rndis.c should free resp_queue when it unload
      > 2) ether.c should free tx_reqs and rx_reqs when it unload (as
      > eth_reset_config)
      
      Thanks ... this is a nice patch to have.
      
      
      From:          Tao Huang <huangt@star-net.cn>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      ebf02028
  3. 03 Jun, 2004 1 commit
  4. 02 Jun, 2004 1 commit
  5. 17 May, 2004 2 commits
    • David Brownell's avatar
      [PATCH] USB: ethernet/rndis gadget address params · 331a2d82
      David Brownell authored
      This resolves a FIXME by adding module parameters that can
      be used to provide stable (vs random) addresses, and gets
      rid of a runtime error from obsolete module parameter usage
      in the RNDIS code.
      
      The stable ethernet addresses are nice to hosts, which will
      normally want to save them away in config databases.  For
      example, without stable addresses Windows XP will end up
      recording quite a lot of RNDIS devices.
      331a2d82
    • David Brownell's avatar
      [PATCH] USB: RNDIS (and CDC) filter flag handling · eaab83eb
      David Brownell authored
      This should fix the problem David Meggy found, where RNDIS was setting
      the OID_GEN_CURRENT_PACKET_FILTER state incorrectly.  It's the same
      issue Andrew Morton noticed a while back, for that matter, but with
      more than just a "now compiles on 64 bit" fix.
      
      Basically the code needs to interpret 32 bits provided in the request
      from the (Windows) host, rather than 8 bits of other memory that's got
      some irrelevant value.
      
      The fix is just to save the 32 bits.  I did the same thing with the
      CDC Ethernet filter, which should eventually be used the same way:  to
      limit what packets get sent to the host.  Also defined a couple more
      of the CDC requests.
      eaab83eb
  6. 22 Apr, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB: rndis gadget driver updates · 920f873a
      David Brownell authored
      Various build fixes:  64bit (Andrew Morton), static linking,
      broken on big-endian, etc.
      
      Tighten up the integration with the main "ether" driver, so
      state transitions and host ethernet addresses are shared too.
      Add missing spinlock calls around RNDIS command outcall,
      fix GET_INTERFACE issue, host mustn't clobber netdev flags.
      
      Minor code cleanups.
      920f873a
  7. 09 Apr, 2004 1 commit
  8. 02 Apr, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB Gadget: ethernet/rndis gadget updates · c8b17776
      David Brownell authored
      This fixes an oops during "ifconfig usb0 down" after unplug
      from a Windows box.  It also shrinks the driver size to something
      much more reasonable by leaving out debug messaging, and adds
      a few missing newlines.
      c8b17776
  9. 30 Mar, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB Gadget: RNDIS/Ethernet Gadget Driver (2/2) · 394d7256
      David Brownell authored
      This updates the existing Ethernet gadget driver to
      support an additional RNDIS configuration on all
      current USB controllers that can support one.
      
      It also includes a bit more work to address the complex
      autoconfiguration of this driver.  Needs testing on PXA.
      
      Patch (mostly) contributed by Robert Schwebel, and developed
      with support from Auerswald GmbH.
      394d7256
  10. 26 Mar, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB: g_ether does endpoint autoconfig too · 7ab4b6bc
      David Brownell authored
      Here's an update for the Ethernet gadget that corresponds
      to the earlier one for Gadget Zero ... it gets rid of almost
      all the remaining controller-specific #ifdefs in this driver.
      (And also lets the driver initialize using "dummy_hcd".)
      
      This is a significant step towards doing hardware-specific
      configuration at run time (or at least init-time) rather
      than compile time, but other patches will be needed to take
      it the rest of the way there.   (Especially considering the
      RNDIS support...)  The runtime footprint of the driver shrank
      a bit, mostly because things moved into the init section.
      7ab4b6bc
  11. 10 Mar, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB gadget: dualspeed {run,compile}-time flags · 2328fb17
      David Brownell authored
      This is the first several autoconfig patches; please merge.
      This particular one abstracts dual-speed (high and full)
      support.
      
      
      Support some more autoconfiguration for gadget drivers.
      
          Run-time:
      	* Add gadget->is_dualspeed flag for controllers to set.
      	* Tested by "ethernet" gadget, to decide whether certain
      	  operations are errors or not.
      	* Turned on by net2280.
      
          Compile-time
      	* Generic CONFIG_USB_GADGET_DUALSPEED, not net2280-specific.
      	* Used by "ethernet" gadget, to decide whether to
      	  include extra code and data for dual-speed support.
      	* Turned on by net2280.
      
      The basic idea behind this, and other autoconfig patches yet to come,
      is minimizing the controller-specific compile-time configuration
      needed by gadget drivers.
      2328fb17
  12. 27 Feb, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB Gadget: gadget config buffer utilities · 01ddaf62
      David Brownell authored
      Adds two new gadget-side utility functions, to support a declarative
      style of managing usb configuration descriptors.  The functions fill
      buffers from null-terminated vectors of usb descriptors, which are
      simple to build or update.
      
      The "ethernet" gadget driver currently has the most interesting config
      descriptors.  This uses those functions to replace some complex code with
      simpler static declarations; result, it's cleaner.  (And it'll be easier
      to add RNDIS configurations later, too.)
      
      Memory savings (or cost, depending on config) was less than 50 bytes;
      nothing worth worrying about.
      01ddaf62
  13. 05 Feb, 2004 1 commit
    • David Brownell's avatar
      [PATCH] USB Gadget: ethernet gadget locking tweaks · eb9c3a28
      David Brownell authored
      [USB] ethernet gadget, locking tweaks
      
      This problem showed pretty quickly on an SMP system.  Basically,
      access to the freelist (tx more than rx) needs a spinlock.
      
      Stop repeating some alloc_etherdev() work.  Disable DEBUG messages.
      eb9c3a28
  14. 23 Jan, 2004 1 commit
  15. 10 Jan, 2004 1 commit
  16. 29 Dec, 2003 1 commit
  17. 23 Sep, 2003 1 commit
    • David Brownell's avatar
      [PATCH] USB: usb "ether" net gadget · b680dcc3
      David Brownell authored
      Minor updates:
      
        - Reduce memory utilization in two ways:
      
           * Dynamically, by pre-allocating all the usb_request objects
             that will be used; if the pre-allocated ones are in use,
             then tx will throttle down.  This behaves better under
             heavy load.
      
           * Statically, by pre-allocating fewer such requests in the
             typical "no DMA queueing" case ... the best we can do is
             make sure that when the next completion IRQ fires, the
             controller already has a transfer ready.  Having queues
             deeper than two elements only helps if the CPU doesn't
             need to start each transfer by hand (as with net2280).
      
        - Diagnostics look more like other network driver diagnostics;
          they use the network interface name.
      b680dcc3
  18. 19 Aug, 2003 1 commit
    • Stephen Hemminger's avatar
      [NET]: free_netdev - fix leaky drivers · 953fc0bd
      Stephen Hemminger authored
      When doing the audit for this change, it was obvious that several drivers
      allocate but never free the net_device.
      
      This fixes these drivers.  This patch is riskier than the earlier
      ones, because it isn't just a simple substitution and maybe there
      is a reason they never free.
      953fc0bd
  19. 16 Jul, 2003 1 commit
  20. 15 Jul, 2003 1 commit
    • David Brownell's avatar
      [PATCH] USB: ethernet gadget learns about pxa2xx udc · 4299c871
      David Brownell authored
      The original code needed some updates to work properly with
      the USB Device Controller found in Intel's PXA 2xx processors.
      
         - SET_INTERFACE is effectively unusable.  So the driver
           now has a "minimalist" mode, with none of the bells and
           whistles of CDC.
      
         - The config symbol will be CONFIG_USB_PXA2XX, since the
           same controller (modulo errata) is in several processors
           other than the "older" pxa250.
      
      For the record, that "minimalist" mode was the original idea
      behind this driver ... implementing CDC was a win for interop
      since most non-MSFT host operating systems support it already,
      without needing a new driver.
      
      There were also a few other minor updates:
      
         - Net2280:  queue depth shrank a bit, don't use the same
           endpoint numbers for the IN and OUT sides.  (CATC doesn't
           let filters consider direction, just numbers.)
      
         - Join the Jihad!  Abolish register_netdev()!!  This just
           nests the gadget-private data structures inside the
           netdev data structure, instead of the other way around.
      
         - Minor cleanups.
      4299c871
  21. 29 May, 2003 1 commit
    • David Brownell's avatar
      [PATCH] USB: ethernet "gadget", rx overflows happen · fdf45852
      David Brownell authored
      I tightened up rx overflow logic in the net2280 driver
      a while back, and it broke MTU size packets in this
      driver (host pads them out).  This patch accomodates it
      by allocating a slightly larger buffer (almost 3*512).
      fdf45852
  22. 23 May, 2003 1 commit
  23. 11 May, 2003 1 commit
    • David Brownell's avatar
      [PATCH] Fix big-endian USB gadget build · e5f78c74
      David Brownell authored
      Initializers must be constant expressions, and thus we can't use the
      complex expression "cpu_to_le*()" - the end result of which may have a
      constant _value_ but the expression itself isn't a constant expression.
      
      So use the explicitly constant "__constant_cpu_to_*()" expression
      instead.
      e5f78c74
  24. 08 May, 2003 2 commits
    • David Brownell's avatar
      [PATCH] USB: gadget cleanup of #ifdefs · 4166c817
      David Brownell authored
      > can you get rid of all of the #ifdef HAVE_DRIVER_MODEL stuff?
      
      Done.  Now this code "knows" it's running in a 2.5
      environment, and needs modifications to run on 2.4.
      
      I also changed the file modes in the module_parm()
      calls so the parameters will be writable when they
      eventually show up in sysfs; and fixed a typo.
      
      Compile-tested with and without DEBUG enabled.
      4166c817
    • David Brownell's avatar
      [PATCH] USB Ethernet Gadget (4/6) · 194709e1
      David Brownell authored
      This patch adds an "Ethernet Gadget" driver, implementing
      the CDC Ethernet model (drivers/usb/gadget/ether.c).
      
      It interops with the current CDC Ether drivers on Linux,
      both 2.4 (CDCEther, using Marcelo's latest) and 2.5
      (cdc-ether with recent patches, or on 2.5.68 "usbnet")
      
      On a net2280, this has successfully streamed dozens of
      megabytes per second using "ttcp" (high speed, and using
      "usbnet" on the host side), for days at a time.  And no
      problems using SSH/NFS/etc in lighter duty testing.
      
      It's possible this will need tweaking to cope with UDC
      bugs on Intel's pxa25x controllers, presenting itself
      as a non-CDC device. (I'm told altsettings are even
      more broken than originally specified to be.)
      194709e1