An error occurred fetching the project authors.
- 08 Jun, 2004 1 commit
-
-
David Brownell authored
Add byteswapping. Original version partially worked on PPC with Net2280, this version applies to the latest RNDIS code but hasn't been retested on big-endian. Ping should be working in at least one one direction. Also added a handful of other things from my BK: track suspend/resume (to eventually implement wake-on-lan), give a better rndis error message, and add missing declarations for PM-related OIDs (usage is #ifdeffed out by previous patch). From: Jon Neal <jon@ballardtech.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 07 Jun, 2004 1 commit
-
-
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: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 03 Jun, 2004 1 commit
-
-
Alexander Viro authored
->ifr_data users annotated.
-
- 02 Jun, 2004 1 commit
-
-
David Brownell authored
This fixes a problem that all pxa2xx_udc g_ether devices would run into. They'd give the wrong descriptors, like: > --------msg1- usbview ---------- > Device Descriptor: bcdUSB: 0x0200 > bDeviceClass: 0xFF > bDeviceSubClass: 0x00 > bDeviceProtocol: 0x00 > bMaxPacketSize0: 0x10 (16) Windows doesn't like RNDIS-supporting devices to point out that they're really vendor-specific. So this patch makes sure they don't. Signed-off-by: David Brownell <dbrownelL@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 17 May, 2004 2 commits
-
-
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.
-
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.
-
- 22 Apr, 2004 1 commit
-
-
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.
-
- 09 Apr, 2004 1 commit
-
-
Stephen Hemminger authored
-
- 02 Apr, 2004 1 commit
-
-
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.
-
- 30 Mar, 2004 1 commit
-
-
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.
-
- 26 Mar, 2004 1 commit
-
-
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.
-
- 10 Mar, 2004 1 commit
-
-
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.
-
- 27 Feb, 2004 1 commit
-
-
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.
-
- 05 Feb, 2004 1 commit
-
-
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.
-
- 23 Jan, 2004 1 commit
-
-
David Brownell authored
Autoconfigure ep0 maxpacket size, and simplify configuration for device power consumption. Use new boolean CONFIG_* symbols. SuperH UDC support.
-
- 10 Jan, 2004 1 commit
-
-
Alexander Viro authored
Mostly removing unneeded calls to ether_setup(), which alloc_etherdev() already does for us.
-
- 29 Dec, 2003 1 commit
-
-
David Brownell authored
This patch just adds TC86c001 (goku) UDC support to the "ether.c" gadget driver. This hardware supports a full speed CDC Ethernet interface.
-
- 23 Sep, 2003 1 commit
-
-
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.
-
- 19 Aug, 2003 1 commit
-
-
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.
-
- 16 Jul, 2003 1 commit
-
-
David Brownell authored
- #ifdefs out some code that never runs on the pxa - catches "alloc_etherdev Jihad" changes I somehow missed
-
- 15 Jul, 2003 1 commit
-
-
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.
-
- 29 May, 2003 1 commit
-
-
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).
-
- 23 May, 2003 1 commit
-
-
David Brownell authored
To handle control messaging in contexts other than the IRQ handler's setup() callback, a bit of automagic needed to be removed; and some minor bugs fixed.
-
- 11 May, 2003 1 commit
-
-
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.
-
- 08 May, 2003 2 commits
-
-
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.
-
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.)
-