On Thu, 2008-06-19 at 17:45 +0300, Tomas Winkler wrote: > On Thu, Jun 19, 2008 at 4:24 PM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: > > On Thu, 2008-06-19 at 16:08 +0300, Tomas Winkler wrote: > >> On Thu, Jun 19, 2008 at 3:23 PM, Johannes Berg > >> <johannes@xxxxxxxxxxxxxxxx> wrote: > >> > > >> >> > Now it crashes in the driver...maybe the txinfo to cb changes. Looking into it. > >> >> > Tomas > >> >> Looks like this is the second part keyconf is null > >> > > >> > Part? You mean fragment? What encryption algorithm? I've quickly looked > >> > and all of them seem to do the control.hw_key assignment in their > >> > respective _skb handler so it should be done for all fragments. > >> > >> The problem is w/o crypto > >> I think this is not set on each fragment > >> info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT; > > > > Ouch, you're right, the whole tx info isn't properly initialised for > > fragments. > > > > Can you try putting > > > > memcpy(frag->cb, first->cb, sizeof(first->cb)); > > > > at around line 690 of tx.c where this code is? > > > > frag->priority = first->priority; > > skb_reserve(frag, tx->local->tx_headroom + > > IEEE80211_ENCRYPT_HEADROOM); > > > > > > [now I know what the cause is. I had another patch that used skb_segment > > to do the fragmentation, but that was dropped and skb_segment does copy > > skb->cb while our code doesn't] > > No crash but still not at home. No fragmented traffic on the air...grrr. Hmm, ok. I'll give it a try later. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part