linux/drivers/net/wimax/i2400m
Inaky Perez-Gonzalez fd5c565c0c wimax/i2400m: support extended data RX protocol (no need to reallocate skbs)
Newer i2400m firmwares (>= v1.4) extend the data RX protocol so that
each packet has a 16 byte header. This header is mainly used to
implement host reordeing (which is addressed in later commits).

However, this header also allows us to overwrite it (once data has
been extracted) with an Ethernet header and deliver to the networking
stack without having to reallocate the skb (as it happened in fw <=
v1.3) to make room for it.

- control.c: indicate the device [dev_initialize()] that the driver
  wants to use the extended data RX protocol. Also involves adding the
  definition of the needed data types in include/linux/wimax/i2400m.h.

- rx.c: handle the new payload type for the extended RX data
  protocol. Prepares the skb for delivery to
  netdev.c:i2400m_net_erx().

- netdev.c: Introduce i2400m_net_erx() that adds the fake ethernet
  address to a prepared skb and delivers it to the networking
  stack.

- cleanup: in most instances in rx.c, the variable 'single' was
  renamed to 'single_last' for it better conveys its meaning.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-03-02 03:10:26 -08:00
..
Kconfig i2400m: Makefile and Kconfig 2009-01-07 10:00:22 -08:00
Makefile wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
control.c wimax/i2400m: support extended data RX protocol (no need to reallocate skbs) 2009-03-02 03:10:26 -08:00
debug-levels.h wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
debugfs.c wimax: fix build issue when debugfs is disabled 2009-01-29 17:18:31 -08:00
driver.c wimax: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-02 03:10:26 -08:00
fw.c wimax/i2400m: add the ability to fallback to other firmware files if the default is not there 2009-03-02 03:10:23 -08:00
i2400m-sdio.h i2400m/SDIO: header for the SDIO subdriver 2009-01-07 10:00:22 -08:00
i2400m-usb.h i2400m/USB: header for the USB bus driver 2009-01-07 10:00:21 -08:00
i2400m.h wimax/i2400m: support extended data RX protocol (no need to reallocate skbs) 2009-03-02 03:10:26 -08:00
netdev.c wimax/i2400m: support extended data RX protocol (no need to reallocate skbs) 2009-03-02 03:10:26 -08:00
op-rfkill.c i2400m: Generic probe/disconnect, reset and message passing 2009-01-07 10:00:18 -08:00
rx.c wimax/i2400m: support extended data RX protocol (no need to reallocate skbs) 2009-03-02 03:10:26 -08:00
sdio-debug-levels.h i2400m/SDIO: header for the SDIO subdriver 2009-01-07 10:00:22 -08:00
sdio-fw.c i2400m/SDIO: firmware upload backend 2009-01-07 10:00:22 -08:00
sdio-rx.c i2400m/SDIO: TX and RX path backends 2009-01-07 10:00:22 -08:00
sdio-tx.c i2400m/SDIO: TX and RX path backends 2009-01-07 10:00:22 -08:00
sdio.c wimax/i2400m: add the ability to fallback to other firmware files if the default is not there 2009-03-02 03:10:23 -08:00
sysfs.c wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
tx.c i2400m: RX and TX data/control paths 2009-01-07 10:00:19 -08:00
usb-debug-levels.h i2400m/USB: header for the USB bus driver 2009-01-07 10:00:21 -08:00
usb-fw.c i2400m/USB: firmware upload backend 2009-01-07 10:00:21 -08:00
usb-notif.c wimax: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-02 03:10:26 -08:00
usb-rx.c wimax/i2400m: error paths that need to free an skb should use kfree_skb() 2009-01-19 17:58:08 -08:00
usb-tx.c i2400m/USB: TX and RX path backends 2009-01-07 10:00:21 -08:00
usb.c wimax/i2400m: add the ability to fallback to other firmware files if the default is not there 2009-03-02 03:10:23 -08:00