History log of /drivers/net/wimax/i2400m/usb-tx.c
Revision Date Author Comments
d1d182e00d72300e05b18e28372fab003d8d4a58 16-Dec-2011 Dan Carpenter <dan.carpenter@oracle.com> wimax/i2400m: remove an unused variable

"result" isn't used. We ignore errors here because there is not much we
can do about them.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
faf57162e462eafe87458e21bf641f9d138f8171 20-Oct-2009 Inaky Perez-Gonzalez <inaky@linux.intel.com> wimax/i2400m: handle USB stalls

When the device stalls, clear it and retry; if it keeps failing too
often, reset the device.

This specially happens when running on virtual machines; the real
hardware doesn't seem to trip on stalls too much, except for a few
reports in the mailing list (still to be confirmed this is the cause,
although it seems likely.

NOTE: it is not clear if the URB has to be resubmitted fully or start
only at the offset of the first transaction sent. Can't find
documentation to clarify one end or the other.

Tests that just resubmit the whole URB seemed to work in my
environment.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
296bd4bdd0a43c5e56ee310bcb9b4722e5d52db8 20-Oct-2009 Inaky Perez-Gonzalez <inaky@linux.intel.com> wimax/i2400m: Fix USB timeout specifications (to ms from HZ)

The USB code was incorrectly specifiying timeouts to be in jiffies vs
msecs. On top of that, lower it to 200ms, as 1s is really too long
(doesn't allow the watchdog to trip a reset if the device timesout too
often).

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
4a78fd9a736db4c871bc8b583d66b61c38abd299 08-Oct-2009 Inaky Perez-Gonzalez <inaky@linux.intel.com> wimax/i2400m: fix oops caused by race condition when exiting USB kthreads

Current i2400m USB code had to threads (one for processing RX, one for
TX). When calling i2400m_{tx,rx}_release(), it would crash if the
thread had exited already due to an error.

So changed the code to have the thread fill in/out
i2400mu->{tx,rx}_kthread under a spinlock; then the _release()
function will call kthread_stop() only if {rx,tx}_kthread is still
set.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
2093586de29418820b89aae05746511392f8ad73 12-Aug-2009 Dirk Brandewie <dirk.j.brandewie@intel.com> wimax/i2400m: USB driver uses a configurable endpoint map

Newer generations of the i2400m USB WiMAX device use a different
endpoint map; in order to make it easy to support it, we make the
endpoint-to-function mapeable instead of static.

Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
a8ebf98f541463107bb9544a1b611981dc2477e7 21-Dec-2008 Inaky Perez-Gonzalez <inaky@linux.intel.com> i2400m/USB: TX and RX path backends

Implements the backend so that the generic driver can TX/RX to/from
the USB device.

TX is implemented with a kthread sitting in a never-ending loop that
when kicked by the generic driver's TX code will pull data from the TX
FIFO and send it to the device until it drains it. Then it goes back
sleep, waiting for another kick.

RX is implemented in a similar fashion, but reads are kicked in by the
device notifying in the interrupt endpoint that data is ready. Device
reset notifications are also sent via the notification endpoint.

We need a thread contexts to run USB autopm functions (blocking) and
to process the received data (can get to be heavy in processing
time).

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>