[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <488753C6.2090807@trash.net>
Date: Wed, 23 Jul 2008 17:52:38 +0200
From: Patrick McHardy <kaber@...sh.net>
To: François Valenduc
<francois.valenduc@...ablenet.be>
CC: Andrew Morton <akpm@...ux-foundation.org>,
bugme-daemon@...zilla.kernel.org, linux-wireless@...r.kernel.org,
"John W. Linville" <linville@...driver.com>,
Linux Netdev List <netdev@...r.kernel.org>,
Jussi Kivilinna <jussi.kivilinna@...et.fi>
Subject: Re: [Bugme-new] [Bug 11144] New: dhcp doesn't work with iwl4965
François Valenduc wrote:
> Patrick McHardy a écrit :
>>> I think I know whats happening (Jussi CCed). That commit introduced
>>> a qdisc_skb_cb, which conflicts with the mac80211 usage of skb->cb.
>>> mac80211 seems to expect the CB to survive the qdisc layer, which
>>> is wrong. One possibility to fix this (or just test my theory)
>>> would be to make sure they don't clash by adding the struct
>>> ieee80211_tx_info to qdisc_skb_cb->data. Something like this patch.
>>>
>>
> I tested your last patch. Unfortunately, I get the following compile error:
>
> In file included from net/mac80211/main.c:11:
> include/net/mac80211.h: In function ‘IEEE80211_SKB_CB’:
> include/net/mac80211.h:347: erreur: size of array ‘type name’ is negative
I was afraid that might happen. This means skb->cb is not large
enough to hold both the qdisc and the ieee80211 structs.
Just for testing, changing (include/net/mac80211.h):
#define IEEE80211_TX_INFO_DRIVER_DATA_SIZE \
(sizeof(((struct sk_buff *)0)->cb) - 8)
to
#define IEEE80211_TX_INFO_DRIVER_DATA_SIZE \
(sizeof(((struct sk_buff *)0)->cb) - 12)
might help to get it to compile. If that doesn't work, try -16.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists