[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48884451.1090703@trash.net>
Date: Thu, 24 Jul 2008 10:58:57 +0200
From: Patrick McHardy <kaber@...sh.net>
To: David Miller <davem@...emloft.net>
CC: francois.valenduc@...ablenet.be, akpm@...ux-foundation.org,
bugme-daemon@...zilla.kernel.org, linux-wireless@...r.kernel.org,
linville@...driver.com, netdev@...r.kernel.org,
jussi.kivilinna@...et.fi
Subject: Re: [Bugme-new] [Bug 11144] New: dhcp doesn't work with iwl4965
David Miller wrote:
> From: Patrick McHardy <kaber@...sh.net>
> Date: Wed, 23 Jul 2008 18:25:48 +0200
>
>> We can't fit them into the cb together, I don't see a way to
>> shrink ieee80211_tx_info.
>>
>> Maybe one of the wireless folks can suggest something? Is it
>> really necessary to pass the full struct ieee80211_tx_info
>> through the qdisc layer, or could the struct be split? It
>> needs to find a way to co-exist peacefully with qdiscs'
>> skb->cb usage.
>
> This is another area that got mangled up in the ->select_queue()
> conversion of the WME bits, but in another aspect this problem
> existed beforehand as well.
>
> Specifically, when RX packets get requeued out to transmit in
> the code in net/mac80211/rx.c that resends packets back out the
> wireless device by setting a bit in the SKB CB then calling
> dev_queue_xmit().
>
> That's completely illegal :-)
It seems its doing even more illegal things that were also
present previously. The ieee80211_master_start_xmit function
expects to get a valid IEEE80211_SKB_CB, which means it
expects it to survive through the entire qdisc layer. I'm
not sure how packets get to the master device from the
subifs though, so I might be wrong.
--
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