Use of schedule() function while holding a lock in ql4_nx.c

From: Vaishali Thakkar
Date: Mon Sep 12 2016 - 01:19:33 EST


Hello,

I was wondering about the call to schedule in function qla4_82xx_crb_win_lock for driver
drivers/scsi/qla4xxx/ql4_nx.c. It is called in 2 functions [qla4_82xx_rd_32 and
qla4_82xx_wr_32] while holding a write_lock_irqsave. Normally we avoid using sleeping
functions while holding a lock.

Is there some reason that I am overlooking? Why it is OK in this case? Are we using
schedule() here intentionally?

Thank you.


--
Vaishali