From: David Woodhouse Now that we coalesce ACKs for outgoing packets, the v.110 code needs to look at the size it's given rather than assuming it'll get precisely one callback for each packet sent... --- 25-akpm/drivers/isdn/i4l/isdn_v110.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff -puN drivers/isdn/i4l/isdn_v110.c~ISDN-v110-fix drivers/isdn/i4l/isdn_v110.c --- 25/drivers/isdn/i4l/isdn_v110.c~ISDN-v110-fix Fri Feb 20 17:13:45 2004 +++ 25-akpm/drivers/isdn/i4l/isdn_v110.c Fri Feb 20 17:13:45 2004 @@ -535,13 +535,15 @@ isdn_v110_stat_callback(int idx, isdn_ct if (!(v = dev->v110[idx])) return 0; atomic_inc(&dev->v110use[idx]); - if (v->skbidle > 0) { - v->skbidle--; - ret = 1; - } else { - if (v->skbuser > 0) - v->skbuser--; - ret = 0; + for (i=0; i * v->framelen < c->parm.length; i++) { + if (v->skbidle > 0) { + v->skbidle--; + ret = 1; + } else { + if (v->skbuser > 0) + v->skbuser--; + ret = 0; + } } for (i = v->skbuser + v->skbidle; i < 2; i++) { struct sk_buff *skb; _