diff mbox series

[net,1/2] ocelot: Don't sleep in atomic context (irqs_disabled())

Message ID 1555426319-8768-1-git-send-email-claudiu.manoil@nxp.com
State Accepted
Delegated to: David Miller
Headers show
Series [net,1/2] ocelot: Don't sleep in atomic context (irqs_disabled()) | expand

Commit Message

Claudiu Manoil April 16, 2019, 2:51 p.m. UTC
Preemption disabled at:
 [<ffff000008cabd54>] dev_set_rx_mode+0x1c/0x38
 Call trace:
 [<ffff00000808a5c0>] dump_backtrace+0x0/0x3d0
 [<ffff00000808a9a4>] show_stack+0x14/0x20
 [<ffff000008e6c0c0>] dump_stack+0xac/0xe4
 [<ffff0000080fe76c>] ___might_sleep+0x164/0x238
 [<ffff0000080fe890>] __might_sleep+0x50/0x88
 [<ffff0000082261e4>] kmem_cache_alloc+0x17c/0x1d0
 [<ffff000000ea0ae8>] ocelot_set_rx_mode+0x108/0x188 [mscc_ocelot_common]
 [<ffff000008cabcf0>] __dev_set_rx_mode+0x58/0xa0
 [<ffff000008cabd5c>] dev_set_rx_mode+0x24/0x38

Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")

Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
---
 drivers/net/ethernet/mscc/ocelot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller April 17, 2019, 4:44 a.m. UTC | #1
From: Claudiu Manoil <claudiu.manoil@nxp.com>
Date: Tue, 16 Apr 2019 17:51:58 +0300

>  Preemption disabled at:
>  [<ffff000008cabd54>] dev_set_rx_mode+0x1c/0x38
>  Call trace:
>  [<ffff00000808a5c0>] dump_backtrace+0x0/0x3d0
>  [<ffff00000808a9a4>] show_stack+0x14/0x20
>  [<ffff000008e6c0c0>] dump_stack+0xac/0xe4
>  [<ffff0000080fe76c>] ___might_sleep+0x164/0x238
>  [<ffff0000080fe890>] __might_sleep+0x50/0x88
>  [<ffff0000082261e4>] kmem_cache_alloc+0x17c/0x1d0
>  [<ffff000000ea0ae8>] ocelot_set_rx_mode+0x108/0x188 [mscc_ocelot_common]
>  [<ffff000008cabcf0>] __dev_set_rx_mode+0x58/0xa0
>  [<ffff000008cabd5c>] dev_set_rx_mode+0x24/0x38
> 
> Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")
> 
> Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c
index a1d0d6e42533..6cb2f03b67e6 100644
--- a/drivers/net/ethernet/mscc/ocelot.c
+++ b/drivers/net/ethernet/mscc/ocelot.c
@@ -613,7 +613,7 @@  static int ocelot_mact_mc_add(struct ocelot_port *port,
 			      struct netdev_hw_addr *hw_addr)
 {
 	struct ocelot *ocelot = port->ocelot;
-	struct netdev_hw_addr *ha = kzalloc(sizeof(*ha), GFP_KERNEL);
+	struct netdev_hw_addr *ha = kzalloc(sizeof(*ha), GFP_ATOMIC);
 
 	if (!ha)
 		return -ENOMEM;