qla3xxx: sleep in atomic
Subsystems (2)
Hi,
stanse found a potential sleep inside atomic context. ql_sem_spinlock must be called with hw_lock which is spinlock (locked with irq disabled btw.), but ql_sem_spinlock calls ssleep when the HW spinlock cannot be taken. Could you fix that somehow. E.g. unlock; sleep; lock; if not called from irq context at all. Or alternatively lower the sleep interval to usecs and use udelay as it seems it never trigerred (the hw lock never failed), because people would get deadlocks otherwise.
regards,
Signature · 1 line
js
Quoted 2 lines · Jiri Slaby
stanse found a potential sleep inside atomic context.
ql_sem_spinlockmust be called withhw_lockwhich is spinlock (locked with irq disabled
I've sent it too early. I overlooked another report before. The same holds for ql_wait_for_drvr_lock.
Signature · 1 line
js
Quoted 6 lines · Jiri Slaby
Quoted 2 lines · Jiri Slaby
stanse found a potential sleep inside atomic context.
ql_sem_spinlockmust be called withhw_lockwhich is spinlock (locked with irq disabledI've sent it too early. I overlooked another report before. The same holds for
ql_wait_for_drvr_lock.
Fuck, and for ql_adapter_reset from both qla3xxx and qlge plus ql_sem_trylock from the latter.
Signature · 1 line
js