669d32a293
This patch fixes 2 bugs in the USB-IrDA code. The first one is a buffer overrun in the RX path. We are now using IRDA_SKB_MAX_MTU when initializing the Rx URB. The second one is a potential stack recursion when unplugging the USB dongle. It seems that first we get the Rx URB with a generic error code, and after a while the Rx URB comes again with a "disconnect" error code. Since we are resubmitting the Rx URB immediately after receiving the first error one, we might enter an endless loop. When getting an error Rx URB, the patch defers the Rx URB resubmitting so that it gives us a chance to catch the disconnect one, in case the dongle has juts been unplugged. Tested against 2.6.16-rc2. Patch from Jean Tourrilhes Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
act200l-sir.c | ||
act200l.c | ||
actisys-sir.c | ||
actisys.c | ||
ali-ircc.c | ||
ali-ircc.h | ||
au1k_ir.c | ||
au1000_ircc.h | ||
donauboe.c | ||
donauboe.h | ||
ep7211_ir.c | ||
esi-sir.c | ||
esi.c | ||
girbil-sir.c | ||
girbil.c | ||
irda-usb.c | ||
irda-usb.h | ||
irport.c | ||
irport.h | ||
irtty-sir.c | ||
irtty-sir.h | ||
Kconfig | ||
litelink-sir.c | ||
litelink.c | ||
ma600-sir.c | ||
ma600.c | ||
Makefile | ||
mcp2120-sir.c | ||
mcp2120.c | ||
nsc-ircc.c | ||
nsc-ircc.h | ||
old_belkin-sir.c | ||
old_belkin.c | ||
pxaficp_ir.c | ||
sa1100_ir.c | ||
sir_dev.c | ||
sir_dongle.c | ||
sir_kthread.c | ||
sir-dev.h | ||
smsc-ircc2.c | ||
smsc-ircc2.h | ||
smsc-sio.h | ||
stir4200.c | ||
tekram-sir.c | ||
tekram.c | ||
via-ircc.c | ||
via-ircc.h | ||
vlsi_ir.c | ||
vlsi_ir.h | ||
w83977af_ir.c | ||
w83977af_ir.h | ||
w83977af.h |