Thread (5 messages) 5 messages, 4 authors, 2008-07-23

Re: [Bugme-new] [Bug 11144] New: dhcp doesn't work with iwl4965

From: François Valenduc <hidden>
Date: 2008-07-23 15:58:07
Also in: linux-wireless

Possibly related (same subject, not in this thread)

Patrick McHardy a écrit :
François Valenduc wrote:
quoted
Patrick McHardy a écrit :
quoted
quoted
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.
That didn't work, neither with -12 or -16.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help