On Sunday 20 August 2006 08:31, Benjamin Herrenschmidt wrote: > > card->low_watermark->next->dmac_cmd_status |= SPIDER_NET_DESCR_TXDESFLG; > > mb(); > > card->low_watermark->dmac_cmd_status &= ~SPIDER_NET_DESCR_TXDESFLG; > > card->low_watermark = card->low_watermark->next; > > > > when we queue another frame for TX. > > I would have expected those to be racy vs. the hardware... what if the > hardware is updating dmac_cmd_status just as your are trying to and the > bit out of it ?
Right, that doesn't work. It is the only bit we use in that byte though, so maybe it can be done with a single byte write. Arnd <>< - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html