Hello,
Our static analysis tool finds a possible double lock in ql4_nx.c in
Linux 5.14.0-rc3:
ha->hw_lock is first locked in:
418: write_lock_irqsave(&ha->hw_lock, flags);
And then the function qla4_82xx_crb_win_lock() is called:
419: qla4_82xx_crb_win_lock(ha);
In this function, the function qla4_82xx_rd_32() is called:
389: done = qla4_82xx_rd_32(ha, QLA82XX_PCIE_REG(PCIE_SEM7_LOCK));
In this function, ha->hw_lock is locked again:
442: write_lock_irqsave(&ha->hw_lock, flags);
I am not quite sure whether this possible double lock is real and how to
fix it if it is real.
Any feedback would be appreciated, thanks!
Reported-by: TOTE Robot <oslab@xxxxxxxxxxxxxxx>
Best wishes,
Tuo Li