From: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx> Date: Thu, 19 Sep 2013 17:13:51 +0100 > This bug fix is only for stable branches older than 3.10. The bug was > fixed upstream by commit 2768935a4660 ('sfc: reuse pages to avoid DMA > mapping/unmapping costs'), but that change is totally unsuitable for > stable. > > Commit b590ace09d51 ('sfc: Fix efx_rx_buf_offset() in the presence of > swiotlb') added an explicit page_offset member to struct > efx_rx_buffer, which must be set consistently with the u.page and > dma_addr fields. However, it failed to add the necessary assignment > in efx_resurrect_rx_buffer(). It also did not correct the calculation > of efx_rx_buffer::dma_addr in efx_resurrect_rx_buffer(), which assumes > that DMA-mapping a page will result in a page-aligned DMA address > (exactly what swiotlb violates). > > Add the assignment of efx_rx_buffer::page_offset and change the > calculation of dma_addr to make use of it. No objections. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html