RE: [PATCH] megaraid_sas: init tasklet earlier

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

 



> -----Original Message-----
> From: Tomas Henzl [mailto:thenzl@xxxxxxxxxx]
> Sent: Wednesday, August 26, 2015 7:45 PM
> To: Sumit Saxena; linux-scsi@xxxxxxxxxxxxxxx
> Cc: Kashyap Desai; Kiran Kumar Kasturi
> Subject: Re: [PATCH] megaraid_sas: init tasklet earlier
>
> 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).
Looks good.
Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx>

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