From: Ivan Vecera <[email protected]>
Date: Tue, 18 Oct 2016 08:16:03 +0200
> Functions bnx2_reg_rd_ind(), bnx2_reg_wr_ind() and bnx2_ctx_wr()
> can be called with IRQs disabled when netconsole is enabled. So they
> should use spin_{,un}lock_irq{save,restore} instead of _bh variants.
>
> Example call flow:
> bnx2_poll()
> ->bnx2_poll_link()
> ->bnx2_phy_int()
> ->bnx2_set_remote_link()
> ->bnx2_shmem_rd()
> ->bnx2_reg_rd_ind()
> -> spin_lock_bh(&bp->indirect_lock);
> spin_unlock_bh(&bp->indirect_lock);
> ...
> -> __local_bh_enable_ip
>
> static inline void __local_bh_enable_ip(unsigned long ip)
> WARN_ON_ONCE(in_irq() || irqs_disabled()); <<<<<< WARN
>
> Cc: Sony Chacko <[email protected]>
> Cc: [email protected]
> Signed-off-by: Ivan Vecera <[email protected]>
Applied, thanks Ivan.