Re: [Question] Calling request_firmware under the spinlocks in file advansys.c

From: Vaishali Thakkar
Date: Tue Sep 27 2016 - 07:26:57 EST

On Tuesday 13 September 2016 02:48 PM, Vaishali Thakkar wrote:
> Hi,
> In the file drivers/scsi/advansys.c we are calling function AdvISR at 2 instances
> [in the function advansys_reset and advansys_interrupt] while holding spinlock.
> Function AdvISR eventually calls request_firmware following this sequence of
> routines:
> AdvISR -> adv_async_callback -> AdvResetChipAndSB -> AdvInitAsc3550Driver ->
> request_firmware
> According to the definition of request_firmware it should be called from user
> context where sleeping is allowed. And usually sleeping under the spin lock is
> not allowed. Is it really necessary to call AdvISR under spinlocks here? Are
> we taking care of sleeping related concern of request_firmware or am I
> overlooking something here?


Any comments on this?


> Thank you.