b7dea03346
the host share them. Before breaking out of the loop over descriptors in gem_rint(), DMA-resynchronize the first Rx descriptor we found that does not belong to the host. We must avoid a cached descriptor "covering" a descriptor in RAM, because the cached descriptor may say that the descriptor still belongs to the NIC, when that is not true, and the driver will hang. XXX I believe this driver only works by luck on hosts that both XXX have a cacheline size greater than the size of a descriptor XXX (16 bytes) and lack DMA/cache coherency. I need to add some XXX trickery to make sure that we don't scribble over the NIC's XXX changes to a descriptor when we flush a cached descriptor to XXX RAM with bus_dmamap_sync(9).