On 4/7/19 5:58 AM, Tetsuo Handa wrote: > Since wilc_set_multicast_list() is called with dev->addr_list_lock > spinlock held, we can't use GFP_KERNEL memory allocation. > > Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > Fixes: e624c58cf8eb5116 ("staging: wilc1000: refactor code to avoid use of wilc_set_multicast_list global") > Cc: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx> Reviewed-by: Adham Abozaeid <adham.abozaeid@xxxxxxxxxxxxx> Thanks, Adham > --- > drivers/staging/wilc1000/wilc_netdev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/wilc1000/wilc_netdev.c b/drivers/staging/wilc1000/wilc_netdev.c > index 1787154..ba78c08 100644 > --- a/drivers/staging/wilc1000/wilc_netdev.c > +++ b/drivers/staging/wilc1000/wilc_netdev.c > @@ -708,7 +708,7 @@ static void wilc_set_multicast_list(struct net_device *dev) > return; > } > > - mc_list = kmalloc_array(dev->mc.count, ETH_ALEN, GFP_KERNEL); > + mc_list = kmalloc_array(dev->mc.count, ETH_ALEN, GFP_ATOMIC); > if (!mc_list) > return; >