Re: [PATCH v2 2/6] qla2xxx: Simplify the code for aborting SCSI commands

Daniel Wagner
2020-01-24T10:44:12Z

Hi Bart,

On Thu, Jan 23, 2020 at 07:12:04PM -0800, Bart Van Assche wrote:
> >> +/*
> >> + * The caller must ensure that no completion interrupts will happen
> >> + * while this function is in progress.
> >> + */
> >
> > So could we add something like WARN_ON(irqs_disabled())?
>
> qla2x00_abort_all_cmds() is typically called after the kernel driver
> discovered that the firmware stopped processing commands. If the
> firmware has stopped processing commands it is safe to call this
> function without disabling interrupts. Even if the caller would disable
> interrupts, that would only disable interrupts on the local CPU but not
> on other CPUs. Additionally, disabling interrupts is not a proper
> solution because if a completion interrupt arrives after a command has
> been aborted that will cause trouble if the command handle has already
> been associated with another command.

Thanks for the explenation. I understood the comment as 'interrupts'
have to be disabled when calling this function.

Thanks,
Daniel