kernel_optimize_test/drivers/net/wimax/i2400m
Inaky Perez-Gonzalez 4e5b6d006b wimax/i2400m: fix device crash: fix optimization in _roq_queue_update_ws
When the i2400m receives data and the device indicates there has to be
reordering, we keep an sliding window implementation to sort the
packets before sending them to the network stack.

One of the "operations" that the device indicates is "queue a packet
and update the window start". When the queue is empty, this is
equivalent to "deliver the packet and update the window start".

That case was optimized in i2400m_roq_queue_update_ws() so that we
would not pointlessly queue and dequeue a packet. However, when the
optimization was active, it wasn't updating the window start. That
caused the reorder management code to get confused later on with what
seemed to be wrong reorder requests from the device.

Thus the fix implemented is to do the right thing and update the
window start in both cases, when the queue is empty (and the
optimization is done) and when not.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
2009-05-14 18:00:32 -07:00
..
control.c wimax/i2400m: implement RX reorder support 2009-03-02 03:10:28 -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/i2400m: implement RX reorder support 2009-03-02 03:10:28 -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: implement RX reorder support 2009-03-02 03:10:28 -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
netdev.c wimax: fix i2400m printk formats 2009-03-11 23:24:03 -07:00
op-rfkill.c
rx.c wimax/i2400m: fix device crash: fix optimization in _roq_queue_update_ws 2009-05-14 18:00:32 -07: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