All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066
@ 2016-04-26  6:30 Raghava Aditya Renukunta
  2016-04-26  6:30 ` [PATCH 01/10] aacraid: Removed unnecessary checks for NULL Raghava Aditya Renukunta
                   ` (10 more replies)
  0 siblings, 11 replies; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:30 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

This patchset contains the following changes(bug fixes, features and
code refactors) specific to the aacraid driver

---

Raghava Aditya Renukunta (10):
  [SCSI] aacraid: Removed unnecessary checks for NULL
  [SCSI] aacraid: Fix incorrectly named MACRO
  [SCSI] aacraid: Start adapter after updating number of MSIX vectors
  [SCSI] aacraid: Relinquish CPU during timeout wait
  [SCSI] aacraid: Disable MSI mode for series 6, 7, 8 cards
  [SCSI] aacraid: Fix for aac_command_thread hang
  [SCSI] aacraid: Log firmware AIF messages
  [SCSI] aacraid: Remove code to needlessly complete fib
  [SCSI] aacraid: Fix for KDUMP driver hang
  [SCSI] aacraid: Update driver version


 drivers/scsi/aacraid/aachba.c   |   22 --------------------
 drivers/scsi/aacraid/aacraid.h  |    9 ++++++--
 drivers/scsi/aacraid/comminit.c |   43 ++++++++++++++++++++++++---------------
 drivers/scsi/aacraid/commsup.c  |   39 ++++++++++++++++++++++++++++++++---
 drivers/scsi/aacraid/dpcsup.c   |    7 ++++--
 drivers/scsi/aacraid/linit.c    |    4 +++-
 drivers/scsi/aacraid/src.c      |    3 ++-
 7 files changed, 78 insertions(+), 49 deletions(-)

--
Signature

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 01/10] aacraid: Removed unnecessary checks for NULL
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
@ 2016-04-26  6:30 ` Raghava Aditya Renukunta
  2016-04-26  6:31 ` [PATCH 02/10] aacraid: Fix incorrectly named MACRO Raghava Aditya Renukunta
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:30 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

Current driver checks for NULL return from aac_fib_alloc_tag, but it not
possible for it to return NULL.

Fixed by: Remove all the checks for NULL returns from aac_fib_alloc_tag

Suggested-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/aachba.c |   22 ----------------------
 1 file changed, 22 deletions(-)

diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index 7dfd0fa..6678d1f 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -555,8 +555,6 @@ static int aac_get_container_name(struct scsi_cmnd * scsicmd)
 	dev = (struct aac_dev *)scsicmd->device->host->hostdata;
 
 	cmd_fibcontext = aac_fib_alloc_tag(dev, scsicmd);
-	if (!cmd_fibcontext)
-		return -ENOMEM;
 
 	aac_fib_init(cmd_fibcontext);
 	dinfo = (struct aac_get_name *) fib_data(cmd_fibcontext);
@@ -1037,8 +1035,6 @@ static int aac_get_container_serial(struct scsi_cmnd * scsicmd)
 	dev = (struct aac_dev *)scsicmd->device->host->hostdata;
 
 	cmd_fibcontext = aac_fib_alloc_tag(dev, scsicmd);
-	if (!cmd_fibcontext)
-		return -ENOMEM;
 
 	aac_fib_init(cmd_fibcontext);
 	dinfo = (struct aac_get_serial *) fib_data(cmd_fibcontext);
@@ -1950,10 +1946,6 @@ static int aac_read(struct scsi_cmnd * scsicmd)
 	 *	Alocate and initialize a Fib
 	 */
 	cmd_fibcontext = aac_fib_alloc_tag(dev, scsicmd);
-	if (!cmd_fibcontext) {
-		printk(KERN_WARNING "aac_read: fib allocation failed\n");
-		return -1;
-	}
 
 	status = aac_adapter_read(cmd_fibcontext, scsicmd, lba, count);
 
@@ -2048,16 +2040,6 @@ static int aac_write(struct scsi_cmnd * scsicmd)
 	 *	Allocate and initialize a Fib then setup a BlockWrite command
 	 */
 	cmd_fibcontext = aac_fib_alloc_tag(dev, scsicmd);
-	if (!cmd_fibcontext) {
-		/* FIB temporarily unavailable,not catastrophic failure */
-
-		/* scsicmd->result = DID_ERROR << 16;
-		 * scsicmd->scsi_done(scsicmd);
-		 * return 0;
-		 */
-		printk(KERN_WARNING "aac_write: fib allocation failed\n");
-		return -1;
-	}
 
 	status = aac_adapter_write(cmd_fibcontext, scsicmd, lba, count, fua);
 
@@ -2283,8 +2265,6 @@ static int aac_start_stop(struct scsi_cmnd *scsicmd)
 	 *	Allocate and initialize a Fib
 	 */
 	cmd_fibcontext = aac_fib_alloc_tag(aac, scsicmd);
-	if (!cmd_fibcontext)
-		return SCSI_MLQUEUE_HOST_BUSY;
 
 	aac_fib_init(cmd_fibcontext);
 
@@ -3184,8 +3164,6 @@ static int aac_send_srb_fib(struct scsi_cmnd* scsicmd)
 	 *	Allocate and initialize a Fib then setup a BlockWrite command
 	 */
 	cmd_fibcontext = aac_fib_alloc_tag(dev, scsicmd);
-	if (!cmd_fibcontext)
-		return -1;
 
 	status = aac_adapter_scsi(cmd_fibcontext, scsicmd);
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 02/10] aacraid: Fix incorrectly named MACRO
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
  2016-04-26  6:30 ` [PATCH 01/10] aacraid: Removed unnecessary checks for NULL Raghava Aditya Renukunta
@ 2016-04-26  6:31 ` Raghava Aditya Renukunta
  2016-04-27  9:14   ` Johannes Thumshirn
  2016-04-26  6:31 ` [PATCH 03/10] aacraid: Start adapter after updating number of MSIX vectors Raghava Aditya Renukunta
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:31 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

Suggested-by: Seymour, Shane M <shane.seymour@hpe.com>
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/aacraid.h  |    2 +-
 drivers/scsi/aacraid/comminit.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index efa493c..1936e08 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -720,7 +720,7 @@ struct sa_registers {
 };
 
 
-#define Sa_MINIPORT_REVISION			1
+#define SA_INIT_NUM_MSIXVECTORS		1
 
 #define sa_readw(AEP, CSR)		readl(&((AEP)->regs.sa->CSR))
 #define sa_readl(AEP, CSR)		readl(&((AEP)->regs.sa->CSR))
diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
index 2b4e753..35697c1 100644
--- a/drivers/scsi/aacraid/comminit.c
+++ b/drivers/scsi/aacraid/comminit.c
@@ -91,7 +91,7 @@ static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long co
 	init->InitStructRevision = cpu_to_le32(ADAPTER_INIT_STRUCT_REVISION);
 	if (dev->max_fib_size != sizeof(struct hw_fib))
 		init->InitStructRevision = cpu_to_le32(ADAPTER_INIT_STRUCT_REVISION_4);
-	init->Sa_MSIXVectors = cpu_to_le32(Sa_MINIPORT_REVISION);
+	init->Sa_MSIXVectors = cpu_to_le32(SA_INIT_NUM_MSIXVECTORS);
 	init->fsrev = cpu_to_le32(dev->fsrev);
 
 	/*


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 03/10] aacraid: Start adapter after updating number of MSIX vectors
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
  2016-04-26  6:30 ` [PATCH 01/10] aacraid: Removed unnecessary checks for NULL Raghava Aditya Renukunta
  2016-04-26  6:31 ` [PATCH 02/10] aacraid: Fix incorrectly named MACRO Raghava Aditya Renukunta
@ 2016-04-26  6:31 ` Raghava Aditya Renukunta
  2016-04-27  9:14   ` Johannes Thumshirn
  2016-04-26  6:31 ` [PATCH 04/10] aacraid: Relinquish CPU during timeout wait Raghava Aditya Renukunta
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:31 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

The adapter has to be started after updating the number of MSIX Vectors

Fixes: ecc479e00db8 (aacraid: Set correct MSIX count for EEH recovery)
Cc: stable@vger.kernel.org

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/linit.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index ff6caab..79a1cec 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -1431,8 +1431,8 @@ static int aac_acquire_resources(struct aac_dev *dev)
 		/* After EEH recovery or suspend resume, max_msix count
 		 * may change, therfore updating in init as well.
 		 */
-		aac_adapter_start(dev);
 		dev->init->Sa_MSIXVectors = cpu_to_le32(dev->max_msix);
+		aac_adapter_start(dev);
 	}
 	return 0;
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 04/10] aacraid: Relinquish CPU during timeout wait
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (2 preceding siblings ...)
  2016-04-26  6:31 ` [PATCH 03/10] aacraid: Start adapter after updating number of MSIX vectors Raghava Aditya Renukunta
@ 2016-04-26  6:31 ` Raghava Aditya Renukunta
  2016-04-27  9:31   ` Johannes Thumshirn
  2016-04-26  6:31 ` [PATCH 05/10] aacraid: Disable MSI mode for series 6, 7, 8 cards Raghava Aditya Renukunta
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:31 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

aac_fib_send has a special function case for initial commands during
driver initialization using wait < 0(pseudo sync mode). In this case,
the command does not sleep but rather spins checking for timeout.This
loop is calls cpu_relax() in an attempt to allow other processes/threads
to use the CPU, but this function does not relinquish the CPU and so the
command will hog the processor. This was observed in a KDUMP
"crashkernel" and that prevented the "command thread" (which is
responsible for completing the command from being timed out) from
starting because it could not get the CPU.

Fixed by replacing "cpu_relax()" call with "schedule()"
Cc: stable@vger.kernel.org

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/commsup.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
index 511bbc5..725aa78 100644
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -637,10 +637,10 @@ int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size,
 					}
 					return -EFAULT;
 				}
-				/* We used to udelay() here but that absorbed
-				 * a CPU when a timeout occured. Not very
-				 * useful. */
-				cpu_relax();
+				/*
+				 * Allow other processes / CPUS to use core
+				 */
+				schedule();
 			}
 		} else if (down_interruptible(&fibptr->event_wait)) {
 			/* Do nothing ... satisfy


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 05/10] aacraid: Disable MSI mode for series 6, 7, 8 cards
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (3 preceding siblings ...)
  2016-04-26  6:31 ` [PATCH 04/10] aacraid: Relinquish CPU during timeout wait Raghava Aditya Renukunta
@ 2016-04-26  6:31 ` Raghava Aditya Renukunta
  2016-04-27  9:16   ` Johannes Thumshirn
  2016-04-26  6:31 ` [PATCH 06/10] aacraid: Fix for aac_command_thread hang Raghava Aditya Renukunta
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:31 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

As the firmware for series 6, 7, 8 cards does not support msi, remove it
in the driver

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/comminit.c |   17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
index 35697c1..50d521a 100644
--- a/drivers/scsi/aacraid/comminit.c
+++ b/drivers/scsi/aacraid/comminit.c
@@ -378,21 +378,8 @@ void aac_define_int_mode(struct aac_dev *dev)
 			msi_count = i;
 		} else {
 			dev->msi_enabled = 0;
-			printk(KERN_ERR "%s%d: MSIX not supported!! Will try MSI 0x%x.\n",
-					dev->name, dev->id, i);
-		}
-	}
-
-	if (!dev->msi_enabled) {
-		msi_count = 1;
-		i = pci_enable_msi(dev->pdev);
-
-		if (!i) {
-			dev->msi_enabled = 1;
-			dev->msi = 1;
-		} else {
-			printk(KERN_ERR "%s%d: MSI not supported!! Will try INTx 0x%x.\n",
-					dev->name, dev->id, i);
+			dev_err(&dev->pdev->dev,
+			"MSIX not supported!! Will try INTX 0x%x.\n", i);
 		}
 	}
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 06/10] aacraid: Fix for aac_command_thread hang
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (4 preceding siblings ...)
  2016-04-26  6:31 ` [PATCH 05/10] aacraid: Disable MSI mode for series 6, 7, 8 cards Raghava Aditya Renukunta
@ 2016-04-26  6:31 ` Raghava Aditya Renukunta
  2016-04-27  9:32   ` Johannes Thumshirn
  2016-04-26  6:32 ` [PATCH 07/10] aacraid: Log firmware AIF messages Raghava Aditya Renukunta
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:31 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

Typically under error conditions, it is possible for aac_command_thread()
to miss the wakeup from kthread_stop() and go back to sleep, causing it
to hang aac_shutdown.

In the observed scenario, the adapter is not functioning correctly and so
aac_fib_send() never completes (or time-outs depending on how it was
called). Shortly after aac_command_thread() starts it performs
aac_fib_send(SendHostTime) which hangs. When aac_probe_one
/aac_get_adapter_info send time outs, kthread_stop is called which breaks
the command thread out of it's hang.

The code will still go back to sleep in schedule_timeout() without
checking kthread_should_stop() so it causes aac_probe_one to hang until
the schedule_timeout() which is 30 minutes.

Fixed by: Adding another kthread_should_stop() before schedule_timeout()
Cc: stable@vger.kernel.org

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/commsup.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
index 725aa78..bb7988d 100644
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -1996,6 +1996,10 @@ int aac_command_thread(void *data)
 		if (difference <= 0)
 			difference = 1;
 		set_current_state(TASK_INTERRUPTIBLE);
+
+		if (kthread_should_stop())
+			break;
+
 		schedule_timeout(difference);
 
 		if (kthread_should_stop())


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 07/10] aacraid: Log firmware AIF messages
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (5 preceding siblings ...)
  2016-04-26  6:31 ` [PATCH 06/10] aacraid: Fix for aac_command_thread hang Raghava Aditya Renukunta
@ 2016-04-26  6:32 ` Raghava Aditya Renukunta
  2016-04-27  9:21   ` Johannes Thumshirn
  2016-04-26  6:32 ` [PATCH 08/10] aacraid: Remove code to needlessly complete fib Raghava Aditya Renukunta
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:32 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

Firmware AIF messages about cache loss and data recovery are being missed
by the driver since currently they are not captured but rather let go.
This patch to capture those messages and log them for the user.

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/aacraid.h |    4 ++++
 drivers/scsi/aacraid/commsup.c |   27 +++++++++++++++++++++++++++
 drivers/scsi/aacraid/linit.c   |    2 ++
 drivers/scsi/aacraid/src.c     |    3 ++-
 4 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index 1936e08..b70f3eb 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -2065,6 +2065,10 @@ extern struct aac_common aac_config;
 #define			AifEnAddJBOD		30	/* JBOD created */
 #define			AifEnDeleteJBOD		31	/* JBOD deleted */
 
+#define			AifBuManagerEvent		42 /* Bu management*/
+#define			AifBuCacheDataLoss		10
+#define			AifBuCacheDataRecover	11
+
 #define		AifCmdJobProgress	2	/* Progress report */
 #define			AifJobCtrZero	101	/* Array Zero progress */
 #define			AifJobStsSuccess 1	/* Job completes */
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
index bb7988d..0aeecec 100644
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -901,6 +901,31 @@ void aac_printf(struct aac_dev *dev, u32 val)
 	memset(cp, 0, 256);
 }
 
+static inline int aac_aif_data(struct aac_aifcmd *aifcmd, uint32_t index)
+{
+	return le32_to_cpu(((__le32 *)aifcmd->data)[index]);
+}
+
+
+static void aac_handle_aif_bu(struct aac_dev *dev, struct aac_aifcmd *aifcmd)
+{
+	switch (aac_aif_data(aifcmd, 1)) {
+	case AifBuCacheDataLoss:
+		if (aac_aif_data(aifcmd, 2))
+			dev_info(&dev->pdev->dev, "Backup unit had cache data loss - [%d]\n",
+			aac_aif_data(aifcmd, 2));
+		else
+			dev_info(&dev->pdev->dev, "Backup Unit had cache data loss\n");
+		break;
+	case AifBuCacheDataRecover:
+		if (aac_aif_data(aifcmd, 2))
+			dev_info(&dev->pdev->dev, "DDR cache data recovered successfully - [%d]\n",
+			aac_aif_data(aifcmd, 2));
+		else
+			dev_info(&dev->pdev->dev, "DDR cache data recovered successfully\n");
+		break;
+	}
+}
 
 /**
  *	aac_handle_aif		-	Handle a message from the firmware
@@ -1154,6 +1179,8 @@ static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr)
 				  ADD : DELETE;
 				break;
 			}
+			case AifBuManagerEvent:
+				aac_handle_aif_bu(dev, aifcmd);
 			break;
 		}
 
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 79a1cec..a943bd2 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -1299,6 +1299,8 @@ static int aac_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
 	else
 		shost->this_id = shost->max_id;
 
+	aac_intr_normal(aac, 0, 2, 0, NULL);
+
 	/*
 	 * dmb - we may need to move the setting of these parms somewhere else once
 	 * we get a fib that can report the actual numbers
diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c
index bc0203f..28f8b8a 100644
--- a/drivers/scsi/aacraid/src.c
+++ b/drivers/scsi/aacraid/src.c
@@ -135,7 +135,8 @@ static irqreturn_t aac_src_intr_message(int irq, void *dev_id)
 
 	if (mode & AAC_INT_MODE_AIF) {
 		/* handle AIF */
-		aac_intr_normal(dev, 0, 2, 0, NULL);
+		if (dev->aif_thread && dev->fsa_dev)
+			aac_intr_normal(dev, 0, 2, 0, NULL);
 		if (dev->msi_enabled)
 			aac_src_access_devreg(dev, AAC_CLEAR_AIF_BIT);
 		mode = 0;


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 08/10] aacraid: Remove code to needlessly complete fib
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (6 preceding siblings ...)
  2016-04-26  6:32 ` [PATCH 07/10] aacraid: Log firmware AIF messages Raghava Aditya Renukunta
@ 2016-04-26  6:32 ` Raghava Aditya Renukunta
  2016-04-27  9:24   ` Johannes Thumshirn
  2016-04-26  6:32 ` [PATCH 09/10] aacraid: Fix for KDUMP driver hang Raghava Aditya Renukunta
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:32 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

Currently driver completes double completed or spurious interrupted fibs.
This  is not necessary and causes the SCSI mid layer to issue aborts and
resets, since completing a fib  prematurely might trigger a race condition
resulting in the driver not calling the scsi_done callback.

Fixed by removing the call to fib complete.

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/dpcsup.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c
index d677b52..7e83620 100644
--- a/drivers/scsi/aacraid/dpcsup.c
+++ b/drivers/scsi/aacraid/dpcsup.c
@@ -392,9 +392,10 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
 			if (likely(fib->callback && fib->callback_data)) {
 				fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
 				fib->callback(fib->callback_data, fib);
-			} else {
-				aac_fib_complete(fib);
-			}
+			} else
+				dev_info(&dev->pdev->dev,
+				"Invalid callback_fib[%d] (*%p)(%p)\n",
+				index, fib->callback, fib->callback_data);
 		} else {
 			unsigned long flagv;
 	  		dprintk((KERN_INFO "event_wait up\n"));


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 09/10] aacraid: Fix for KDUMP driver hang
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (7 preceding siblings ...)
  2016-04-26  6:32 ` [PATCH 08/10] aacraid: Remove code to needlessly complete fib Raghava Aditya Renukunta
@ 2016-04-26  6:32 ` Raghava Aditya Renukunta
  2016-04-27  9:29   ` Johannes Thumshirn
  2016-04-26  6:32 ` [PATCH 10/10] aacraid: Update driver version Raghava Aditya Renukunta
  2016-04-29 23:15 ` [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Martin K. Petersen
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:32 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

When KDUMP is triggered the driver first talks to the firmware in INTX
mode, but the adapter firmware is still in MSIX mode. Therefore the first
driver command hangs since the driver is waiting for an INTX response and
firmware gives a MSIX response. If when the OS is installed on a RAID
drive created by the adapter KDUMP will hang since the driver does not
receive a response in sync mode.

Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
sending the first sync command.
Cc: stable@vger.kernel.org

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/aacraid.h  |    1 +
 drivers/scsi/aacraid/comminit.c |   24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index b70f3eb..0ba8f61 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -29,6 +29,7 @@ enum {
 #define AAC_INT_MODE_MSI		(1<<1)
 #define AAC_INT_MODE_AIF		(1<<2)
 #define AAC_INT_MODE_SYNC		(1<<3)
+#define AAC_INT_MODE_MSIX		(1<<16)
 
 #define AAC_INT_ENABLE_TYPE1_INTX	0xfffffffb
 #define AAC_INT_ENABLE_TYPE1_MSIX	0xfffffffa
diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
index 50d521a..341ea32 100644
--- a/drivers/scsi/aacraid/comminit.c
+++ b/drivers/scsi/aacraid/comminit.c
@@ -37,6 +37,7 @@
 #include <linux/spinlock.h>
 #include <linux/slab.h>
 #include <linux/blkdev.h>
+#include <linux/delay.h>
 #include <linux/completion.h>
 #include <linux/mm.h>
 #include <scsi/scsi_host.h>
@@ -47,6 +48,20 @@ struct aac_common aac_config = {
 	.irq_mod = 1
 };
 
+static inline int aac_is_msix_mode(struct aac_dev *dev)
+{
+	u32 status;
+
+	status = src_readl(dev, MUnit.OMR);
+	return (status & AAC_INT_MODE_MSIX);
+}
+
+static inline void aac_change_to_intx(struct aac_dev *dev)
+{
+	aac_src_access_devreg(dev, AAC_DISABLE_MSIX);
+	aac_src_access_devreg(dev, AAC_ENABLE_INTX);
+}
+
 static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long commsize, unsigned long commalign)
 {
 	unsigned char *base;
@@ -414,6 +429,15 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
 	dev->comm_interface = AAC_COMM_PRODUCER;
 	dev->raw_io_interface = dev->raw_io_64 = 0;
 
+
+	/*
+	 * Enable INTX mode, if not done already Enabled
+	 */
+	if (aac_is_msix_mode(dev)) {
+		aac_change_to_intx(dev);
+		dev_info(&dev->pdev->dev, "Changed firmware to INTX mode");
+	}
+
 	if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES,
 		0, 0, 0, 0, 0, 0,
 		status+0, status+1, status+2, status+3, NULL)) &&


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 10/10] aacraid: Update driver version
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (8 preceding siblings ...)
  2016-04-26  6:32 ` [PATCH 09/10] aacraid: Fix for KDUMP driver hang Raghava Aditya Renukunta
@ 2016-04-26  6:32 ` Raghava Aditya Renukunta
  2016-04-27  9:30   ` Johannes Thumshirn
  2016-04-29 23:15 ` [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Martin K. Petersen
  10 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-26  6:32 UTC (permalink / raw)
  To: JBottomley, linux-scsi, martin.petersen
  Cc: aacraid, gana.sridaran, scott.benesh, vishal.josemannanal,
	RaghavaAditya.Renukunta

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
 drivers/scsi/aacraid/aacraid.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index 0ba8f61..8f90d9e 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -63,7 +63,7 @@ enum {
 #define	PMC_GLOBAL_INT_BIT0		0x00000001
 
 #ifndef AAC_DRIVER_BUILD
-# define AAC_DRIVER_BUILD 41052
+# define AAC_DRIVER_BUILD 41066
 # define AAC_DRIVER_BRANCH "-ms"
 #endif
 #define MAXIMUM_NUM_CONTAINERS	32


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [PATCH 02/10] aacraid: Fix incorrectly named MACRO
  2016-04-26  6:31 ` [PATCH 02/10] aacraid: Fix incorrectly named MACRO Raghava Aditya Renukunta
@ 2016-04-27  9:14   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:14 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:31:03PM -0700, Raghava Aditya Renukunta wrote:
> Suggested-by: Seymour, Shane M <shane.seymour@hpe.com>
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 03/10] aacraid: Start adapter after updating number of MSIX vectors
  2016-04-26  6:31 ` [PATCH 03/10] aacraid: Start adapter after updating number of MSIX vectors Raghava Aditya Renukunta
@ 2016-04-27  9:14   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:14 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:31:12PM -0700, Raghava Aditya Renukunta wrote:
> The adapter has to be started after updating the number of MSIX Vectors
> 
> Fixes: ecc479e00db8 (aacraid: Set correct MSIX count for EEH recovery)
> Cc: stable@vger.kernel.org
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 05/10] aacraid: Disable MSI mode for series 6, 7, 8 cards
  2016-04-26  6:31 ` [PATCH 05/10] aacraid: Disable MSI mode for series 6, 7, 8 cards Raghava Aditya Renukunta
@ 2016-04-27  9:16   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:16 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:31:43PM -0700, Raghava Aditya Renukunta wrote:
> As the firmware for series 6, 7, 8 cards does not support msi, remove it
> in the driver
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 07/10] aacraid: Log firmware AIF messages
  2016-04-26  6:32 ` [PATCH 07/10] aacraid: Log firmware AIF messages Raghava Aditya Renukunta
@ 2016-04-27  9:21   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:21 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:32:09PM -0700, Raghava Aditya Renukunta wrote:
> Firmware AIF messages about cache loss and data recovery are being missed
> by the driver since currently they are not captured but rather let go.
> This patch to capture those messages and log them for the user.
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 08/10] aacraid: Remove code to needlessly complete fib
  2016-04-26  6:32 ` [PATCH 08/10] aacraid: Remove code to needlessly complete fib Raghava Aditya Renukunta
@ 2016-04-27  9:24   ` Johannes Thumshirn
  2016-04-27 16:34     ` Raghava Aditya Renukunta
  0 siblings, 1 reply; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:24 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:32:26PM -0700, Raghava Aditya Renukunta wrote:
> Currently driver completes double completed or spurious interrupted fibs.
> This  is not necessary and causes the SCSI mid layer to issue aborts and
> resets, since completing a fib  prematurely might trigger a race condition
> resulting in the driver not calling the scsi_done callback.
> 
> Fixed by removing the call to fib complete.
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
> ---
>  drivers/scsi/aacraid/dpcsup.c |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c
> index d677b52..7e83620 100644
> --- a/drivers/scsi/aacraid/dpcsup.c
> +++ b/drivers/scsi/aacraid/dpcsup.c
> @@ -392,9 +392,10 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
>  			if (likely(fib->callback && fib->callback_data)) {
>  				fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
>  				fib->callback(fib->callback_data, fib);
> -			} else {
> -				aac_fib_complete(fib);
> -			}
> +			} else
> +				dev_info(&dev->pdev->dev,
> +				"Invalid callback_fib[%d] (*%p)(%p)\n",
> +				index, fib->callback, fib->callback_data);

I'm not sure INFO is the right logging level for this. WARN or ERROR might be
more suited.

>  		} else {
>  			unsigned long flagv;
>  	  		dprintk((KERN_INFO "event_wait up\n"));
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 09/10] aacraid: Fix for KDUMP driver hang
  2016-04-26  6:32 ` [PATCH 09/10] aacraid: Fix for KDUMP driver hang Raghava Aditya Renukunta
@ 2016-04-27  9:29   ` Johannes Thumshirn
  2016-04-27 16:49     ` Raghava Aditya Renukunta
  0 siblings, 1 reply; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:29 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:32:37PM -0700, Raghava Aditya Renukunta wrote:
> When KDUMP is triggered the driver first talks to the firmware in INTX
> mode, but the adapter firmware is still in MSIX mode. Therefore the first
> driver command hangs since the driver is waiting for an INTX response and
> firmware gives a MSIX response. If when the OS is installed on a RAID
> drive created by the adapter KDUMP will hang since the driver does not
> receive a response in sync mode.
> 
> Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
> sending the first sync command.
> Cc: stable@vger.kernel.org
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
> ---
>  drivers/scsi/aacraid/aacraid.h  |    1 +
>  drivers/scsi/aacraid/comminit.c |   24 ++++++++++++++++++++++++
>  2 files changed, 25 insertions(+)
> 
> diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
> index b70f3eb..0ba8f61 100644
> --- a/drivers/scsi/aacraid/aacraid.h
> +++ b/drivers/scsi/aacraid/aacraid.h
> @@ -29,6 +29,7 @@ enum {
>  #define AAC_INT_MODE_MSI		(1<<1)
>  #define AAC_INT_MODE_AIF		(1<<2)
>  #define AAC_INT_MODE_SYNC		(1<<3)
> +#define AAC_INT_MODE_MSIX		(1<<16)
>  
>  #define AAC_INT_ENABLE_TYPE1_INTX	0xfffffffb
>  #define AAC_INT_ENABLE_TYPE1_MSIX	0xfffffffa
> diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
> index 50d521a..341ea32 100644
> --- a/drivers/scsi/aacraid/comminit.c
> +++ b/drivers/scsi/aacraid/comminit.c
> @@ -37,6 +37,7 @@
>  #include <linux/spinlock.h>
>  #include <linux/slab.h>
>  #include <linux/blkdev.h>
> +#include <linux/delay.h>
>  #include <linux/completion.h>
>  #include <linux/mm.h>
>  #include <scsi/scsi_host.h>
> @@ -47,6 +48,20 @@ struct aac_common aac_config = {
>  	.irq_mod = 1
>  };
>  
> +static inline int aac_is_msix_mode(struct aac_dev *dev)
> +{
> +	u32 status;
> +
> +	status = src_readl(dev, MUnit.OMR);
> +	return (status & AAC_INT_MODE_MSIX);
> +}
> +
> +static inline void aac_change_to_intx(struct aac_dev *dev)
> +{
> +	aac_src_access_devreg(dev, AAC_DISABLE_MSIX);
> +	aac_src_access_devreg(dev, AAC_ENABLE_INTX);

I don't know your adpater firmware, but isn't it possible to loose interrupts
this way or do they get queued? 

> +}
> +
>  static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long commsize, unsigned long commalign)
>  {
>  	unsigned char *base;
> @@ -414,6 +429,15 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
>  	dev->comm_interface = AAC_COMM_PRODUCER;
>  	dev->raw_io_interface = dev->raw_io_64 = 0;
>  
> +
> +	/*
> +	 * Enable INTX mode, if not done already Enabled
> +	 */
> +	if (aac_is_msix_mode(dev)) {
> +		aac_change_to_intx(dev);
> +		dev_info(&dev->pdev->dev, "Changed firmware to INTX mode");
> +	}
> +
>  	if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES,
>  		0, 0, 0, 0, 0, 0,
>  		status+0, status+1, status+2, status+3, NULL)) &&
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 10/10] aacraid: Update driver version
  2016-04-26  6:32 ` [PATCH 10/10] aacraid: Update driver version Raghava Aditya Renukunta
@ 2016-04-27  9:30   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:30 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:32:44PM -0700, Raghava Aditya Renukunta wrote:
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 04/10] aacraid: Relinquish CPU during timeout wait
  2016-04-26  6:31 ` [PATCH 04/10] aacraid: Relinquish CPU during timeout wait Raghava Aditya Renukunta
@ 2016-04-27  9:31   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:31 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:31:26PM -0700, Raghava Aditya Renukunta wrote:
> aac_fib_send has a special function case for initial commands during
> driver initialization using wait < 0(pseudo sync mode). In this case,
> the command does not sleep but rather spins checking for timeout.This
> loop is calls cpu_relax() in an attempt to allow other processes/threads
> to use the CPU, but this function does not relinquish the CPU and so the
> command will hog the processor. This was observed in a KDUMP
> "crashkernel" and that prevented the "command thread" (which is
> responsible for completing the command from being timed out) from
> starting because it could not get the CPU.
> 
> Fixed by replacing "cpu_relax()" call with "schedule()"
> Cc: stable@vger.kernel.org
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 06/10] aacraid: Fix for aac_command_thread hang
  2016-04-26  6:31 ` [PATCH 06/10] aacraid: Fix for aac_command_thread hang Raghava Aditya Renukunta
@ 2016-04-27  9:32   ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-27  9:32 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

On Mon, Apr 25, 2016 at 11:31:57PM -0700, Raghava Aditya Renukunta wrote:
> Typically under error conditions, it is possible for aac_command_thread()
> to miss the wakeup from kthread_stop() and go back to sleep, causing it
> to hang aac_shutdown.
> 
> In the observed scenario, the adapter is not functioning correctly and so
> aac_fib_send() never completes (or time-outs depending on how it was
> called). Shortly after aac_command_thread() starts it performs
> aac_fib_send(SendHostTime) which hangs. When aac_probe_one
> /aac_get_adapter_info send time outs, kthread_stop is called which breaks
> the command thread out of it's hang.
> 
> The code will still go back to sleep in schedule_timeout() without
> checking kthread_should_stop() so it causes aac_probe_one to hang until
> the schedule_timeout() which is 30 minutes.
> 
> Fixed by: Adding another kthread_should_stop() before schedule_timeout()
> Cc: stable@vger.kernel.org
> 
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: [PATCH 08/10] aacraid: Remove code to needlessly complete fib
  2016-04-27  9:24   ` Johannes Thumshirn
@ 2016-04-27 16:34     ` Raghava Aditya Renukunta
  2016-04-28  7:47       ` Johannes Thumshirn
  0 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-27 16:34 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, Gana Sridaran,
	Scott Benesh, Vishal Jose Mannanal


Hello Johannes,

> -----Original Message-----
> From: Johannes Thumshirn [mailto:jthmshirn@suse.de]
> Sent: Wednesday, April 27, 2016 2:24 AM
> To: Raghava Aditya Renukunta
> Cc: JBottomley@odin.com; linux-scsi@vger.kernel.org;
> martin.petersen@oracle.com; aacraid@pmc-sierra.com; Gana Sridaran; Scott
> Benesh; Vishal Jose Mannanal
> Subject: Re: [PATCH 08/10] aacraid: Remove code to needlessly complete fib
> 
> EXTERNAL EMAIL
> 
> 
> On Mon, Apr 25, 2016 at 11:32:26PM -0700, Raghava Aditya Renukunta wrote:
> > Currently driver completes double completed or spurious interrupted fibs.
> > This  is not necessary and causes the SCSI mid layer to issue aborts and
> > resets, since completing a fib  prematurely might trigger a race condition
> > resulting in the driver not calling the scsi_done callback.
> >
> > Fixed by removing the call to fib complete.
> >
> > Signed-off-by: Raghava Aditya Renukunta
> <RaghavaAditya.Renukunta@microsemi.com>
> > ---
> >  drivers/scsi/aacraid/dpcsup.c |    7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c
> > index d677b52..7e83620 100644
> > --- a/drivers/scsi/aacraid/dpcsup.c
> > +++ b/drivers/scsi/aacraid/dpcsup.c
> > @@ -392,9 +392,10 @@ unsigned int aac_intr_normal(struct aac_dev *dev,
> u32 index,
> >                       if (likely(fib->callback && fib->callback_data)) {
> >                               fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
> >                               fib->callback(fib->callback_data, fib);
> > -                     } else {
> > -                             aac_fib_complete(fib);
> > -                     }
> > +                     } else
> > +                             dev_info(&dev->pdev->dev,
> > +                             "Invalid callback_fib[%d] (*%p)(%p)\n",
> > +                             index, fib->callback, fib->callback_data);
> 
> I'm not sure INFO is the right logging level for this. WARN or ERROR might be
> more suited.

I intended it be an acknowledgement that we ran into this issue. That was why I used info,
It should not impact the flow of the driver.

Regards,
Raghava Aditya

> 
> >               } else {
> >                       unsigned long flagv;
> >                       dprintk((KERN_INFO "event_wait up\n"));
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> --
> Johannes Thumshirn                                          Storage
> jthumshirn@suse.de                                +49 911 74053 689
> SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: Felix Imendörffer, Jane Smithard, Graham Norton
> HRB 21284 (AG Nürnberg)
> Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: [PATCH 09/10] aacraid: Fix for KDUMP driver hang
  2016-04-27  9:29   ` Johannes Thumshirn
@ 2016-04-27 16:49     ` Raghava Aditya Renukunta
  2016-04-28  7:49       ` Johannes Thumshirn
  0 siblings, 1 reply; 25+ messages in thread
From: Raghava Aditya Renukunta @ 2016-04-27 16:49 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: linux-scsi, martin.petersen, aacraid, Gana Sridaran,
	Scott Benesh, Vishal Jose Mannanal

Hello Johannes,

> -----Original Message-----
> From: Johannes Thumshirn [mailto:jthmshirn@suse.de]
> Sent: Wednesday, April 27, 2016 2:30 AM
> To: Raghava Aditya Renukunta
> Cc: JBottomley@odin.com; linux-scsi@vger.kernel.org;
> martin.petersen@oracle.com; aacraid@pmc-sierra.com; Gana Sridaran; Scott
> Benesh; Vishal Jose Mannanal
> Subject: Re: [PATCH 09/10] aacraid: Fix for KDUMP driver hang
> 
> EXTERNAL EMAIL
> 
> 
> On Mon, Apr 25, 2016 at 11:32:37PM -0700, Raghava Aditya Renukunta wrote:
> > When KDUMP is triggered the driver first talks to the firmware in INTX
> > mode, but the adapter firmware is still in MSIX mode. Therefore the first
> > driver command hangs since the driver is waiting for an INTX response and
> > firmware gives a MSIX response. If when the OS is installed on a RAID
> > drive created by the adapter KDUMP will hang since the driver does not
> > receive a response in sync mode.
> >
> > Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
> > sending the first sync command.
> > Cc: stable@vger.kernel.org
> >
> > Signed-off-by: Raghava Aditya Renukunta
> <RaghavaAditya.Renukunta@microsemi.com>
> > ---
> >  drivers/scsi/aacraid/aacraid.h  |    1 +
> >  drivers/scsi/aacraid/comminit.c |   24 ++++++++++++++++++++++++
> >  2 files changed, 25 insertions(+)
> >
> > diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
> > index b70f3eb..0ba8f61 100644
> > --- a/drivers/scsi/aacraid/aacraid.h
> > +++ b/drivers/scsi/aacraid/aacraid.h
> > @@ -29,6 +29,7 @@ enum {
> >  #define AAC_INT_MODE_MSI             (1<<1)
> >  #define AAC_INT_MODE_AIF             (1<<2)
> >  #define AAC_INT_MODE_SYNC            (1<<3)
> > +#define AAC_INT_MODE_MSIX            (1<<16)
> >
> >  #define AAC_INT_ENABLE_TYPE1_INTX    0xfffffffb
> >  #define AAC_INT_ENABLE_TYPE1_MSIX    0xfffffffa
> > diff --git a/drivers/scsi/aacraid/comminit.c
> b/drivers/scsi/aacraid/comminit.c
> > index 50d521a..341ea32 100644
> > --- a/drivers/scsi/aacraid/comminit.c
> > +++ b/drivers/scsi/aacraid/comminit.c
> > @@ -37,6 +37,7 @@
> >  #include <linux/spinlock.h>
> >  #include <linux/slab.h>
> >  #include <linux/blkdev.h>
> > +#include <linux/delay.h>
> >  #include <linux/completion.h>
> >  #include <linux/mm.h>
> >  #include <scsi/scsi_host.h>
> > @@ -47,6 +48,20 @@ struct aac_common aac_config = {
> >       .irq_mod = 1
> >  };
> >
> > +static inline int aac_is_msix_mode(struct aac_dev *dev)
> > +{
> > +     u32 status;
> > +
> > +     status = src_readl(dev, MUnit.OMR);
> > +     return (status & AAC_INT_MODE_MSIX);
> > +}
> > +
> > +static inline void aac_change_to_intx(struct aac_dev *dev)
> > +{
> > +     aac_src_access_devreg(dev, AAC_DISABLE_MSIX);
> > +     aac_src_access_devreg(dev, AAC_ENABLE_INTX);
> 
> I don't know your adpater firmware, but isn't it possible to loose interrupts
> this way or do they get queued?

The firmware queues interrupts messages in its own buffers, and the driver sends
a command to retrieve those messages once the driver gets initialized. 
The code that sends the command once the driver is initialized is in the patch 7 of this 
Series.

Hope that clarifies your doubt.

Regards,
Raghava Aditya



> > +}
> > +
> >  static int aac_alloc_comm(struct aac_dev *dev, void **commaddr,
> unsigned long commsize, unsigned long commalign)
> >  {
> >       unsigned char *base;
> > @@ -414,6 +429,15 @@ struct aac_dev *aac_init_adapter(struct aac_dev
> *dev)
> >       dev->comm_interface = AAC_COMM_PRODUCER;
> >       dev->raw_io_interface = dev->raw_io_64 = 0;
> >
> > +
> > +     /*
> > +      * Enable INTX mode, if not done already Enabled
> > +      */
> > +     if (aac_is_msix_mode(dev)) {
> > +             aac_change_to_intx(dev);
> > +             dev_info(&dev->pdev->dev, "Changed firmware to INTX mode");
> > +     }
> > +
> >       if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES,
> >               0, 0, 0, 0, 0, 0,
> >               status+0, status+1, status+2, status+3, NULL)) &&
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> --
> Johannes Thumshirn                                          Storage
> jthumshirn@suse.de                                +49 911 74053 689
> SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: Felix Imendörffer, Jane Smithard, Graham Norton
> HRB 21284 (AG Nürnberg)
> Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 08/10] aacraid: Remove code to needlessly complete fib
  2016-04-27 16:34     ` Raghava Aditya Renukunta
@ 2016-04-28  7:47       ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-28  7:47 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: JBottomley, linux-scsi, martin.petersen, aacraid, Gana Sridaran,
	Scott Benesh, Vishal Jose Mannanal

On Wed, Apr 27, 2016 at 04:34:35PM +0000, Raghava Aditya Renukunta wrote:
> 
> Hello Johannes,
> 
> > > +                             dev_info(&dev->pdev->dev,
> > > +                             "Invalid callback_fib[%d] (*%p)(%p)\n",
> > > +                             index, fib->callback, fib->callback_data);
> > 
> > I'm not sure INFO is the right logging level for this. WARN or ERROR might be
> > more suited.
> 
> I intended it be an acknowledgement that we ran into this issue. That was why I used info,
> It should not impact the flow of the driver.

OK, I'm fine with the explanation

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 09/10] aacraid: Fix for KDUMP driver hang
  2016-04-27 16:49     ` Raghava Aditya Renukunta
@ 2016-04-28  7:49       ` Johannes Thumshirn
  0 siblings, 0 replies; 25+ messages in thread
From: Johannes Thumshirn @ 2016-04-28  7:49 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: linux-scsi, martin.petersen, aacraid, Gana Sridaran,
	Scott Benesh, Vishal Jose Mannanal

On Wed, Apr 27, 2016 at 04:49:50PM +0000, Raghava Aditya Renukunta wrote:
> Hello Johannes,
> 
> > -----Original Message-----
> > From: Johannes Thumshirn [mailto:jthmshirn@suse.de]
> > Sent: Wednesday, April 27, 2016 2:30 AM
> > To: Raghava Aditya Renukunta
> > Cc: JBottomley@odin.com; linux-scsi@vger.kernel.org;
> > martin.petersen@oracle.com; aacraid@pmc-sierra.com; Gana Sridaran; Scott
> > Benesh; Vishal Jose Mannanal
> > Subject: Re: [PATCH 09/10] aacraid: Fix for KDUMP driver hang
> > 
> > EXTERNAL EMAIL
> > 
> > 
> > On Mon, Apr 25, 2016 at 11:32:37PM -0700, Raghava Aditya Renukunta wrote:
> > > When KDUMP is triggered the driver first talks to the firmware in INTX
> > > mode, but the adapter firmware is still in MSIX mode. Therefore the first
> > > driver command hangs since the driver is waiting for an INTX response and
> > > firmware gives a MSIX response. If when the OS is installed on a RAID
> > > drive created by the adapter KDUMP will hang since the driver does not
> > > receive a response in sync mode.
> > >
> > > Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
> > > sending the first sync command.
> > > Cc: stable@vger.kernel.org
> > >
> > > Signed-off-by: Raghava Aditya Renukunta
> > <RaghavaAditya.Renukunta@microsemi.com>
> > > ---
> > >  drivers/scsi/aacraid/aacraid.h  |    1 +
> > >  drivers/scsi/aacraid/comminit.c |   24 ++++++++++++++++++++++++
> > >  2 files changed, 25 insertions(+)
> > >
> > > diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
> > > index b70f3eb..0ba8f61 100644
> > > --- a/drivers/scsi/aacraid/aacraid.h
> > > +++ b/drivers/scsi/aacraid/aacraid.h
> > > @@ -29,6 +29,7 @@ enum {
> > >  #define AAC_INT_MODE_MSI             (1<<1)
> > >  #define AAC_INT_MODE_AIF             (1<<2)
> > >  #define AAC_INT_MODE_SYNC            (1<<3)
> > > +#define AAC_INT_MODE_MSIX            (1<<16)
> > >
> > >  #define AAC_INT_ENABLE_TYPE1_INTX    0xfffffffb
> > >  #define AAC_INT_ENABLE_TYPE1_MSIX    0xfffffffa
> > > diff --git a/drivers/scsi/aacraid/comminit.c
> > b/drivers/scsi/aacraid/comminit.c
> > > index 50d521a..341ea32 100644
> > > --- a/drivers/scsi/aacraid/comminit.c
> > > +++ b/drivers/scsi/aacraid/comminit.c
> > > @@ -37,6 +37,7 @@
> > >  #include <linux/spinlock.h>
> > >  #include <linux/slab.h>
> > >  #include <linux/blkdev.h>
> > > +#include <linux/delay.h>
> > >  #include <linux/completion.h>
> > >  #include <linux/mm.h>
> > >  #include <scsi/scsi_host.h>
> > > @@ -47,6 +48,20 @@ struct aac_common aac_config = {
> > >       .irq_mod = 1
> > >  };
> > >
> > > +static inline int aac_is_msix_mode(struct aac_dev *dev)
> > > +{
> > > +     u32 status;
> > > +
> > > +     status = src_readl(dev, MUnit.OMR);
> > > +     return (status & AAC_INT_MODE_MSIX);
> > > +}
> > > +
> > > +static inline void aac_change_to_intx(struct aac_dev *dev)
> > > +{
> > > +     aac_src_access_devreg(dev, AAC_DISABLE_MSIX);
> > > +     aac_src_access_devreg(dev, AAC_ENABLE_INTX);
> > 
> > I don't know your adpater firmware, but isn't it possible to loose interrupts
> > this way or do they get queued?
> 
> The firmware queues interrupts messages in its own buffers, and the driver sends
> a command to retrieve those messages once the driver gets initialized. 
> The code that sends the command once the driver is initialized is in the patch 7 of this 
> Series.
> 
> Hope that clarifies your doubt.
> 
> Regards,
> Raghava Aditya

OK, thanks for the clarification

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066
  2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
                   ` (9 preceding siblings ...)
  2016-04-26  6:32 ` [PATCH 10/10] aacraid: Update driver version Raghava Aditya Renukunta
@ 2016-04-29 23:15 ` Martin K. Petersen
  10 siblings, 0 replies; 25+ messages in thread
From: Martin K. Petersen @ 2016-04-29 23:15 UTC (permalink / raw)
  To: Raghava Aditya Renukunta
  Cc: linux-scsi, martin.petersen, aacraid, gana.sridaran,
	scott.benesh, vishal.josemannanal

>>>>> "Raghava" == Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> writes:

Raghava> This patchset contains the following changes(bug fixes,
Raghava> features and code refactors) specific to the aacraid driver

Applied to 4.7/scsi-queue.

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2016-04-29 23:15 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-26  6:30 [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Raghava Aditya Renukunta
2016-04-26  6:30 ` [PATCH 01/10] aacraid: Removed unnecessary checks for NULL Raghava Aditya Renukunta
2016-04-26  6:31 ` [PATCH 02/10] aacraid: Fix incorrectly named MACRO Raghava Aditya Renukunta
2016-04-27  9:14   ` Johannes Thumshirn
2016-04-26  6:31 ` [PATCH 03/10] aacraid: Start adapter after updating number of MSIX vectors Raghava Aditya Renukunta
2016-04-27  9:14   ` Johannes Thumshirn
2016-04-26  6:31 ` [PATCH 04/10] aacraid: Relinquish CPU during timeout wait Raghava Aditya Renukunta
2016-04-27  9:31   ` Johannes Thumshirn
2016-04-26  6:31 ` [PATCH 05/10] aacraid: Disable MSI mode for series 6, 7, 8 cards Raghava Aditya Renukunta
2016-04-27  9:16   ` Johannes Thumshirn
2016-04-26  6:31 ` [PATCH 06/10] aacraid: Fix for aac_command_thread hang Raghava Aditya Renukunta
2016-04-27  9:32   ` Johannes Thumshirn
2016-04-26  6:32 ` [PATCH 07/10] aacraid: Log firmware AIF messages Raghava Aditya Renukunta
2016-04-27  9:21   ` Johannes Thumshirn
2016-04-26  6:32 ` [PATCH 08/10] aacraid: Remove code to needlessly complete fib Raghava Aditya Renukunta
2016-04-27  9:24   ` Johannes Thumshirn
2016-04-27 16:34     ` Raghava Aditya Renukunta
2016-04-28  7:47       ` Johannes Thumshirn
2016-04-26  6:32 ` [PATCH 09/10] aacraid: Fix for KDUMP driver hang Raghava Aditya Renukunta
2016-04-27  9:29   ` Johannes Thumshirn
2016-04-27 16:49     ` Raghava Aditya Renukunta
2016-04-28  7:49       ` Johannes Thumshirn
2016-04-26  6:32 ` [PATCH 10/10] aacraid: Update driver version Raghava Aditya Renukunta
2016-04-27  9:30   ` Johannes Thumshirn
2016-04-29 23:15 ` [PATCH 00/10] aacraid: Patchset for aacraid driver version 41066 Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.