Re: [PATCH] qla2xxx: Drop srb reference before waiting for completion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 10/1/10 2:10 PM, "Mike Christie" <michaelc@xxxxxxxxxxx> wrote:

> On 10/01/2010 04:01 PM, Mike Christie wrote:
>> On 10/01/2010 07:18 AM, Hannes Reinecke wrote:
>>> 
>>> This patch fixes a regression introduced by commit
>>> 083a469db4ecf3b286a96b5b722c37fc1affe0be
>>> 
>>> qla2xxx_eh_wait_on_command() is waiting for an srb to
>>> complete, which will never happen as the routine took
>>> a reference to the srb previously and will only drop it
>>> after this function. So every command abort will fail.
>>> 
>>> Signed-off-by: Hannes Reinecke<hare@xxxxxxx>
>>> Cc: Andrew Vasquez<andrew.vasquez@xxxxxxxxxx>
>>> 
>>> diff --git a/drivers/scsi/qla2xxx/qla_os.c
>>> b/drivers/scsi/qla2xxx/qla_os.c
>>> index 1e4bff6..0af7549 100644
>>> --- a/drivers/scsi/qla2xxx/qla_os.c
>>> +++ b/drivers/scsi/qla2xxx/qla_os.c
>>> @@ -883,6 +883,9 @@ qla2xxx_eh_abort(struct scsi_cmnd *cmd)
>>> }
>>> spin_unlock_irqrestore(&ha->hardware_lock, flags);
>>> 
>>> + if (got_ref)
>>> + qla2x00_sp_compl(ha, sp);
>>> +
>> 
>> You can just get rid of got_ref, because if you just move the compl call
>> up a little more you know that in that code path we always get a ref.
>> And there is no need to hold the ref to where it is above. See attached
>> patch.
>> 
> 
> Sorry. Last patch had some other iscsi dev loss stuff in there. See this
> patch.

Mike,

The whole purpose of completing the command after the delay is to give
sufficient time for firmware to complete the original command and abort
command issued through interrupt. This makes sure that commands of concern
are no longer with firmware/hardware before completing it to upper layers. I
feel it is better to call qla2x00_sp_compl after waiting.

-- Giri




--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux