Messages in this thread | | | Date | Tue, 30 Oct 2012 11:22:51 -0700 | Subject | Re: [PATCH v3 06/10] net/macb: clean up ring buffer logic | From | Håvard Skinnemoen <> |
| |
On Tue, Oct 30, 2012 at 4:12 AM, David Laight <David.Laight@aculab.com> wrote: >> Instead of masking head and tail every time we increment them, just let them >> wrap through UINT_MAX and mask them when subscripting. Add simple accessor >> functions to do the subscripting properly to minimize the chances of messing >> this up. > ... >> +static unsigned int macb_tx_ring_avail(struct macb *bp) >> +{ >> + return TX_RING_SIZE - (bp->tx_head - bp->tx_tail); >> +} > > That one doesn't look quite right to me. > Surely it should be masking with 'TX_RING_SIZE - 1'
Why is that? head and tail can never be more than TX_RING_SIZE apart, so it shouldn't make any difference.
Havard
| |