On Tue, Sep 29, 2020 at 10:25:25PM +0200, Thomas Gleixner wrote: > From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > > 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 <bigeasy@xxxxxxxxxxxxx> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Martin Habets <mhabets@xxxxxxxxxxxxxx> > --- > 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;