On Tue, Sep 29, 2020 at 10:25:25PM +0200, Thomas Gleixner wrote:
> From: Sebastian Andrzej Siewior <[email protected]>
>
> efx_ef10_try_update_nic_stats_vf() is now only invoked from thread context
> and can sleep after efx::stats_lock is dropped.
>
> Change the allocation mode from GFP_ATOMIC to GFP_KERNEL.
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
> Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: Martin Habets <[email protected]>
> ---
> V2: Adjust to Edward's stats update split
> ---
> drivers/net/ethernet/sfc/ef10.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/net/ethernet/sfc/ef10.c
> +++ b/drivers/net/ethernet/sfc/ef10.c
> @@ -1873,7 +1873,7 @@ static int efx_ef10_try_update_nic_stats
>
> efx_ef10_get_stat_mask(efx, mask);
>
> - rc = efx_nic_alloc_buffer(efx, &stats_buf, dma_len, GFP_ATOMIC);
> + rc = efx_nic_alloc_buffer(efx, &stats_buf, dma_len, GFP_KERNEL);
> if (rc) {
> spin_lock_bh(&efx->stats_lock);
> return rc;