Re: [PATCH] megaraid_sas: init tasklet earlier

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

 



On 26.8.2015 15:15, Sumit Saxena wrote:
>> -----Original Message-----
>> From: Tomas Henzl [mailto:thenzl@xxxxxxxxxx]
>> Sent: Tuesday, August 25, 2015 7:02 PM
>> To: linux-scsi@xxxxxxxxxxxxxxx
>> Cc: kashyap.desai@xxxxxxxxxxxxx; kiran-kumar.kasturi@xxxxxxxxxxxxx;
>> Sumit.Saxena@xxxxxxxxxxxxx
>> Subject: [PATCH] megaraid_sas: init tasklet earlier
>>
>> It may happen (kdump), that an interrupt is invoked just after the
> setup_irqs
>> function was called but before the tasklet was initialised.
>> At this phase the hw ints should have been disabled, but for unknown
> reason this
>> mechanism seems to not work properly.
>>
>> Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx>
>> ---
>>  drivers/scsi/megaraid/megaraid_sas_base.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
>> b/drivers/scsi/megaraid/megaraid_sas_base.c
>> index 71b884dae2..c8e0c6de80 100644
>> --- a/drivers/scsi/megaraid/megaraid_sas_base.c
>> +++ b/drivers/scsi/megaraid/megaraid_sas_base.c
>> @@ -4627,6 +4627,9 @@ static int megasas_init_fw(struct megasas_instance
>> *instance)
>>  		"current msix/online cpus\t: (%d/%d)\n",
>>  		instance->msix_vectors, (unsigned int)num_online_cpus());
>>
>> +	tasklet_init(&instance->isr_tasklet, instance->instancet->tasklet,
>> +		(unsigned long)instance);
>> +
>>  	if (instance->msix_vectors ?
>>  		megasas_setup_irqs_msix(instance, 1) :
>>  		megasas_setup_irqs_ioapic(instance))
>> @@ -4647,9 +4650,6 @@ static int megasas_init_fw(struct megasas_instance
>> *instance)
>>  	if (instance->instancet->init_adapter(instance))
>>  		goto fail_init_adapter;
>>
>> -	tasklet_init(&instance->isr_tasklet, instance->instancet->tasklet,
>> -		(unsigned long)instance);
>> -
>>  	instance->instancet->enable_intr(instance);
>>
>>  	printk(KERN_ERR "megasas: INIT adapter done\n");
>
> Patch looks harmless and it fixes your problem then it's fine. But we need
> to know the reason why interrupts are coming even if they are not enabled
> by that time. Can you provide controller's FW version ? I would like to
> try this locally.

It is a "PERC 6/i Integrated" with
FW Version         : 1.22.02-0612
BIOS Version       : 2.04.00
------------------

Even when you'll be able to fix it by another means, we can take
my patch too, just because it calls the init functions in proper order and so it
is safe(r). 

>
>> --
>> 2.4.3
> --
> 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

--
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