Subject: Re: Regression: Recent networking (qdisc?) patches break irda_get_next_speed()

From: Jarek Poplawski <[email-masked]>
Date: Tue, 21 Oct 2008 21:37:37 +0200

Alex Villacís Lasso wrote, On 10/21/2008 08:20 PM:

> A regression has been introduced in 2.6.27 in the networking code, which 
> breaks the irda_get_next_speed() function used by some IrDA drivers, 
> including ks959-sir, written by me. I have filed a bug at:
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=11795
> 
> to keep track of this. I am still performing bisection to locate the 
> exact commit that broke the code, but the bug involves an overwriting of 
> the beginning of a structure with extraneous data that makes the 
> LAP_MAGIC check fail. I have tried searching the netdev archives, but 
> there is no mention at all of regressions caused by this code. Milan 
> Plzik at irda-users mentions the same problem affecting pxaficp_ir, and 
> mentions recent qdisc patches as possible culprits.  Vasily Khoruzhick 
> reported this bug at irda-users, and a quick hack (not a proper fix) 
> proposed by him involves padding "struct irda_skb_cb" with 4 bytes at 
> the beginning of the structure to move everything else past the buggy 
> scribbling.

Looks like the patch below could fit to your description.

Jarek P.

commit 175f9c1bba9b825d22b142d183c9e175488b260c
Author: Jussi Kivilinna <[email-masked]>
Date:   Sun Jul 20 00:08:47 2008 -0700

    net_sched: Add size table for qdiscs

    Add size table functions for qdiscs and calculate packet size in
    qdisc_enqueue().

    Based on patch by Patrick McHardy
     http://marc.info/?l=linux-netdev&m=115201979221729&w=2

    Signed-off-by: Jussi Kivilinna <[email-masked]>
    Signed-off-by: David S. Miller <[email-masked]>