![]() | |||||||||||||
Messages in this thread |
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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-08-20 12:07 [from the cache] ©2003-2008 | |||||||||||||