From e3fb2f641f421662ebda48763f2f03cb9bd29e82 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Fri, 13 Jan 2006 11:06:46 +0100 Subject: [PATCH] USBATM: handle urbs containing partial cells The receive logic has always assumed that urbs contain an integral number of ATM cells, which is a bit naughty, though it never caused any problems with bulk transfers. Isochronous urbs spank us soundly for this. Fixed thanks to this patch, mostly by Stanislaw Gruszka. Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman --- drivers/usb/atm/usbatm.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/usb/atm/usbatm.h') diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h index 0e2caa0967c..bdff534b941 100644 --- a/drivers/usb/atm/usbatm.h +++ b/drivers/usb/atm/usbatm.h @@ -187,6 +187,13 @@ struct usbatm_data { struct sk_buff_head sndqueue; struct sk_buff *current_skb; /* being emptied */ + struct usbatm_vcc_data *cached_vcc; + int cached_vci; + short cached_vpi; + + unsigned char *cell_buf; /* holds partial rx cell */ + unsigned int buf_usage; + struct urb *urbs[0]; }; -- cgit v1.2.3