@@ -173,10 +173,10 @@ struct page_pool {
int cpuid;
u32 pages_state_hold_cnt;
- bool has_init_callback:1; /* slow::init_callback is set */
+ bool dma_sync; /* Perform DMA sync for device */
+ bool dma_sync_for_cpu:1; /* Perform DMA sync for cpu */
bool dma_map:1; /* Perform DMA mapping */
- bool dma_sync:1; /* Perform DMA sync for device */
- bool dma_sync_for_cpu:1; /* Perform DMA sync for cpu */
+ bool has_init_callback:1; /* slow::init_callback is set */
#ifdef CONFIG_PAGE_POOL_STATS
bool system:1; /* This is a global percpu pool */
#endif
@@ -463,7 +463,7 @@ page_pool_dma_sync_for_device(const struct page_pool *pool,
netmem_ref netmem,
u32 dma_sync_size)
{
- if (pool->dma_sync && dma_dev_need_sync(pool->p.dev))
+ if (READ_ONCE(pool->dma_sync) && dma_dev_need_sync(pool->p.dev))
__page_pool_dma_sync_for_device(pool, netmem, dma_sync_size);
}