diff options
author | Ivan Vecera <ivecera@redhat.com> | 2016-10-18 08:16:03 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-18 10:01:51 -0400 |
commit | 6bc80629eefc3731f5881092bed610d994e05763 (patch) | |
tree | 47a8fc55a1b12951ac92df7f658d5babb6cf31a5 /crypto/aead.c | |
parent | 3dfcb4f56f35663bdf0629d066bfde665b1ddff9 (diff) | |
download | linux-6bc80629eefc3731f5881092bed610d994e05763.tar.bz2 |
bnx2: fix locking when netconsole is used
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 <sony.chacko@qlogic.com>
Cc: Dept-HSGLinuxNICDev@qlogic.com
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'crypto/aead.c')
0 files changed, 0 insertions, 0 deletions