Commit eca765b0 authored by David Brownell's avatar David Brownell Committed by Greg Kroah-Hartman

[PATCH] USB usbnet: dynamic config, cdc-ether, net1080

This patch:

   - Makes "usbnet" pay attention to device descriptors in
     the most common cases; there's less need to embed device
     hardware details.  This lets it work with high speed
     devices, and should help interop with the newer ARM/PXA
     kernels "usb-eth" (same vid/pid, but different endpoints).

   - Adds some new CDC Ethernet support, which is partly enabled:
     the Zaurus SL-5500 code uses it, with the current FRAMING_Z
     flag overriding normal CDC framing on-the-wire.  (Most of
     the other "minidrivers" use CDC framing, except Net1080
     and GeneSys.)

   - Merges a patch from Johannes to recover from some net1080
     framing errors by flushing the fifos ... the chip gets into
     a wierd mode, this makes the link more robust.  (Thanks!)

   - Gets rid of a family of cpu/logfile saturating loops that
     could show up in early stages of disconnect processing,
     while we're getting rx/tx errors continuously since khubd
     hasn't tried to disconnect() us yet.  (Pathological case,
     with lots of logging enabled: khubd never gets scheduled!)

   - Uses deeper queues at high speed, so the host controllers
     can stay busy transferring packets even when IRQs get held
     off for several milliseconds.  That pipelining gives better
     throughput too -- 4x more with one device, says TTCP.

With the possible exception of multicast support, this code
should be a fine replacement to "cdc-ether" ... certainly
its faster for high speed devices.  Some later patch should
likely do a switch-over.  (Which would  also resolve a Zaurus
hotplugging bug:  "cdc-ether" doesn't blacklist it.)
parent 22a8591b
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment