Skip to contentSkip to conversation

qla3xxx: sleep in atomic

DISCUSSION Jiri Slaby 1 participant 3 messages Jan 13, 2010

Subsystems (2)
lore
Share & tools
lore

Jiri Slaby

author
#0 lore raw

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
author
#1 lore raw
Quoted 2 lines · Jiri Slaby

stanse found a potential sleep inside atomic context. ql_sem_spinlock must be called with hw_lock which 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
author
#2 lore raw
Quoted 6 lines · Jiri Slaby
Quoted 2 lines · Jiri Slaby

stanse found a potential sleep inside atomic context. ql_sem_spinlock must be called with hw_lock which 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.

Fuck, and for ql_adapter_reset from both qla3xxx and qlge plus ql_sem_trylock from the latter.

Signature · 1 line
js