On Sat, 20 Apr 2013, Michael Büsch wrote:

> On Sat, 20 Apr 2013 21:47:10 +0200 (CEST)
> Thommy Jakobsson <thom...@gmail.com> wrote:
> 
> > > And I think you need to set ring->current_slot to the value of 
> > > ring->ops->get_current_slot().
> > > Not 100% sure, though, since it is years since I worked on that code.
> > > 
> > Is that really needed? They should already be the same since the device 
> > has thrown the underflow interrupt
> 
> Hm not sure. But should be easy to verify.
I did check it in the beginning when I was testing the patch, just printed 
the indexes in the kernel log. But of course if there is a race condition
it could be hard to catch. Have used the patch for several weeks 
and several 100Gb now, so it does seem to work. 

The reason for getting this interrupt is that the current descriptor 
pointer (RXDPTR) has the same value as the descriptor index (RXINDEX). The 
descriptor index is set at the end of b43_dma_rx with 
ops->set_current_rxslot. At the next line, and with the same value, the 
ring->current slot is set. So in my opinion I don't need to set it. But I 
could have missed something.

BR,
Thommy
_______________________________________________
b43-dev mailing list
b43-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to