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