[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-netdev
Subject:    Re: bcm43xx dma and txb's
From:       Michael Buesch <mbuesch () freenet ! de>
Date:       2006-03-06 0:11:28
Message-ID: 200603060111.29099.mbuesch () freenet ! de
[Download RAW message or body]

On Monday 06 March 2006 00:43, you wrote:
> > +		txb->fragments[i] = NULL; /* Take skb from ieee80211_txb_free */
> > +		dma_tx_fragment(ring, skb, i);
> >  		//TODO: handle failure of dma_tx_fragment
> >  	}
> >  
> > +	ieee80211_txb_free(txb);
> 
> This seems even more wrong to me than the current code.

Oh, I'm sorry. I did not see you were NULLing the fragment here
before calling ieee80211_txb_free().
So, ok. This might work.

But: This shows us that the struct ieee80211_txb is useless
and should be eliminated. Look at how d80211 handles fragments.
It sends every single fragment in an skb to the driver. I think
this is _much_ more painless and sane, in the first place.
I am pretty sure Jiri Benc will second my opinion. ;)

But in the meantime, I can apply and test your patch.
In the long term, we should get rid of struct ieee80211_txb
(and also introduce something like the TX control structure,
which d80211 also has).

-- 
Greetings Michael.

[Attachment #3 (application/pgp-signature)]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic