public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 02/10] Dell CERC support for megaraid_mbox
@ 2008-04-18 20:57 akpm
  2008-04-22 19:44 ` Yang, Bo
  0 siblings, 1 reply; 5+ messages in thread
From: akpm @ 2008-04-18 20:57 UTC (permalink / raw)
  To: James.Bottomley
  Cc: linux-scsi, akpm, hare, Bo.Yang, James.Bottomley, Sumant.Patro

From: Hannes Reinecke <hare@suse.de>

Newer Dell CERC firmware (>= 6.62) implement a random deletion handling
compatible with the legacy megaraid driver.  The legacy handling shifted
the target ID by 0x80 only for I/O commands (READ/WRITE/etc), whereas
megaraid_mbox shifts the target ID always if random deletion is supported. 
The resulted in megaraid_mbox sending an INQUIRY to the wrong channel, and
not finding any devices, obviously.

So we disable the random deletion support if the offending firmware is
found.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6695

Signed-off-by: Hannes Reinecke <hare@suse.de>
Cc: "Patro, Sumant" <Sumant.Patro@lsi.com>
Cc: James Bottomley <James.Bottomley@SteelEye.com>
Cc: "Yang, Bo" <Bo.Yang@lsi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/scsi/megaraid/megaraid_mbox.c |   17 +++++++++++++++++
 drivers/scsi/megaraid/megaraid_mbox.h |    1 +
 2 files changed, 18 insertions(+)

diff -puN drivers/scsi/megaraid/megaraid_mbox.c~dell-cerc-support-for-megaraid_mbox drivers/scsi/megaraid/megaraid_mbox.c
--- a/drivers/scsi/megaraid/megaraid_mbox.c~dell-cerc-support-for-megaraid_mbox
+++ a/drivers/scsi/megaraid/megaraid_mbox.c
@@ -3168,6 +3168,23 @@ megaraid_mbox_support_random_del(adapter
 	uint8_t		raw_mbox[sizeof(mbox_t)];
 	int		rval;
 
+	/*
+	 * Newer firmware on Dell CERC expect a different
+	 * random deletion handling, so disable it.
+	 */
+	if (adapter->pdev->vendor == PCI_VENDOR_ID_AMI &&
+	    adapter->pdev->device == PCI_DEVICE_ID_AMI_MEGARAID3 &&
+	    adapter->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
+	    adapter->pdev->subsystem_device == PCI_SUBSYS_ID_CERC_ATA100_4CH &&
+	    (adapter->fw_version[0] > '6' ||
+	     (adapter->fw_version[0] == '6' &&
+	      adapter->fw_version[2] > '6') ||
+	     (adapter->fw_version[0] == '6'
+	      && adapter->fw_version[2] == '6'
+	      && adapter->fw_version[3] > '1'))) {
+		con_log(CL_DLEVEL1, ("megaraid: disable random deletion\n"));
+		return 0;
+	}
 
 	mbox = (mbox_t *)raw_mbox;
 
diff -puN drivers/scsi/megaraid/megaraid_mbox.h~dell-cerc-support-for-megaraid_mbox drivers/scsi/megaraid/megaraid_mbox.h
--- a/drivers/scsi/megaraid/megaraid_mbox.h~dell-cerc-support-for-megaraid_mbox
+++ a/drivers/scsi/megaraid/megaraid_mbox.h
@@ -88,6 +88,7 @@
 #define PCI_SUBSYS_ID_PERC3_QC				0x0471
 #define PCI_SUBSYS_ID_PERC3_DC				0x0493
 #define PCI_SUBSYS_ID_PERC3_SC				0x0475
+#define PCI_SUBSYS_ID_CERC_ATA100_4CH			0x0511
 
 
 #define MBOX_MAX_SCSI_CMDS	128	// number of cmds reserved for kernel
_

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

* RE: [patch 02/10] Dell CERC support for megaraid_mbox
  2008-04-18 20:57 [patch 02/10] Dell CERC support for megaraid_mbox akpm
@ 2008-04-22 19:44 ` Yang, Bo
  2008-04-27 18:14   ` James Bottomley
  0 siblings, 1 reply; 5+ messages in thread
From: Yang, Bo @ 2008-04-22 19:44 UTC (permalink / raw)
  To: akpm, James.Bottomley; +Cc: linux-scsi, hare, James.Bottomley, Patro, Sumant


Hannes,

Our FW team give me the feedback said: LSI never release CERC firware
version >=6.62.  I have asked our DELL contactor to check with DELL if
DELL know who made this release.  I will update you as soon as I get the
words from DELL.  Also if you have the information regarding to the CERC
FW 6.62 release, can you pass them to me?  I need to know the details
about this release.

Thanks.

Bo Yang        

-----Original Message-----
From: akpm@linux-foundation.org [mailto:akpm@linux-foundation.org] 
Sent: Friday, April 18, 2008 4:57 PM
To: James.Bottomley@HansenPartnership.com
Cc: linux-scsi@vger.kernel.org; akpm@linux-foundation.org; hare@suse.de;
Yang, Bo; James.Bottomley@SteelEye.com; Patro, Sumant
Subject: [patch 02/10] Dell CERC support for megaraid_mbox

From: Hannes Reinecke <hare@suse.de>

Newer Dell CERC firmware (>= 6.62) implement a random deletion handling
compatible with the legacy megaraid driver.  The legacy handling shifted
the target ID by 0x80 only for I/O commands (READ/WRITE/etc), whereas
megaraid_mbox shifts the target ID always if random deletion is
supported. 
The resulted in megaraid_mbox sending an INQUIRY to the wrong channel,
and not finding any devices, obviously.

So we disable the random deletion support if the offending firmware is
found.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6695

Signed-off-by: Hannes Reinecke <hare@suse.de>
Cc: "Patro, Sumant" <Sumant.Patro@lsi.com>
Cc: James Bottomley <James.Bottomley@SteelEye.com>
Cc: "Yang, Bo" <Bo.Yang@lsi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/scsi/megaraid/megaraid_mbox.c |   17 +++++++++++++++++
 drivers/scsi/megaraid/megaraid_mbox.h |    1 +
 2 files changed, 18 insertions(+)

diff -puN
drivers/scsi/megaraid/megaraid_mbox.c~dell-cerc-support-for-megaraid_mbo
x drivers/scsi/megaraid/megaraid_mbox.c
---
a/drivers/scsi/megaraid/megaraid_mbox.c~dell-cerc-support-for-megaraid_m
box
+++ a/drivers/scsi/megaraid/megaraid_mbox.c
@@ -3168,6 +3168,23 @@ megaraid_mbox_support_random_del(adapter
 	uint8_t		raw_mbox[sizeof(mbox_t)];
 	int		rval;
 
+	/*
+	 * Newer firmware on Dell CERC expect a different
+	 * random deletion handling, so disable it.
+	 */
+	if (adapter->pdev->vendor == PCI_VENDOR_ID_AMI &&
+	    adapter->pdev->device == PCI_DEVICE_ID_AMI_MEGARAID3 &&
+	    adapter->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
+	    adapter->pdev->subsystem_device ==
PCI_SUBSYS_ID_CERC_ATA100_4CH &&
+	    (adapter->fw_version[0] > '6' ||
+	     (adapter->fw_version[0] == '6' &&
+	      adapter->fw_version[2] > '6') ||
+	     (adapter->fw_version[0] == '6'
+	      && adapter->fw_version[2] == '6'
+	      && adapter->fw_version[3] > '1'))) {
+		con_log(CL_DLEVEL1, ("megaraid: disable random
deletion\n"));
+		return 0;
+	}
 
 	mbox = (mbox_t *)raw_mbox;
 
diff -puN
drivers/scsi/megaraid/megaraid_mbox.h~dell-cerc-support-for-megaraid_mbo
x drivers/scsi/megaraid/megaraid_mbox.h
---
a/drivers/scsi/megaraid/megaraid_mbox.h~dell-cerc-support-for-megaraid_m
box
+++ a/drivers/scsi/megaraid/megaraid_mbox.h
@@ -88,6 +88,7 @@
 #define PCI_SUBSYS_ID_PERC3_QC				0x0471
 #define PCI_SUBSYS_ID_PERC3_DC				0x0493
 #define PCI_SUBSYS_ID_PERC3_SC				0x0475
+#define PCI_SUBSYS_ID_CERC_ATA100_4CH			0x0511
 
 
 #define MBOX_MAX_SCSI_CMDS	128	// number of cmds reserved for
kernel
_

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

* RE: [patch 02/10] Dell CERC support for megaraid_mbox
  2008-04-22 19:44 ` Yang, Bo
@ 2008-04-27 18:14   ` James Bottomley
  2008-04-28 22:11     ` Yang, Bo
  2008-04-28 22:11     ` Yang, Bo
  0 siblings, 2 replies; 5+ messages in thread
From: James Bottomley @ 2008-04-27 18:14 UTC (permalink / raw)
  To: Yang, Bo; +Cc: akpm, linux-scsi, hare, Patro, Sumant

On Tue, 2008-04-22 at 13:44 -0600, Yang, Bo wrote:
> Hannes,
> 
> Our FW team give me the feedback said: LSI never release CERC firware
> version >=6.62.  I have asked our DELL contactor to check with DELL if
> DELL know who made this release.  I will update you as soon as I get the
> words from DELL.  Also if you have the information regarding to the CERC
> FW 6.62 release, can you pass them to me?  I need to know the details
> about this release.

So, the fact that it shouldn't have been released doesn't really fix the
problem that it seems to be out in the field and causing problems.  Can
I take it that the proposed patch is an acceptable fix?  Especially if
LSI hasn't officially released it, the proposed patch shouldn't affect
any LSI sanctioned drivers.

James



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

* RE: [patch 02/10] Dell CERC support for megaraid_mbox
  2008-04-27 18:14   ` James Bottomley
@ 2008-04-28 22:11     ` Yang, Bo
  2008-04-28 22:11     ` Yang, Bo
  1 sibling, 0 replies; 5+ messages in thread
From: Yang, Bo @ 2008-04-28 22:11 UTC (permalink / raw)
  To: James Bottomley; +Cc: akpm, linux-scsi, hare, Patro, Sumant


James,

Agree with you (ACK).

Bo Yang 

-----Original Message-----
From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com] 
Sent: Sunday, April 27, 2008 2:14 PM
To: Yang, Bo
Cc: akpm@linux-foundation.org; linux-scsi@vger.kernel.org; hare@suse.de;
Patro, Sumant
Subject: RE: [patch 02/10] Dell CERC support for megaraid_mbox

On Tue, 2008-04-22 at 13:44 -0600, Yang, Bo wrote:
> Hannes,
> 
> Our FW team give me the feedback said: LSI never release CERC firware 
> version >=6.62.  I have asked our DELL contactor to check with DELL if

> DELL know who made this release.  I will update you as soon as I get 
> the words from DELL.  Also if you have the information regarding to 
> the CERC FW 6.62 release, can you pass them to me?  I need to know the

> details about this release.

So, the fact that it shouldn't have been released doesn't really fix the
problem that it seems to be out in the field and causing problems.  Can
I take it that the proposed patch is an acceptable fix?  Especially if
LSI hasn't officially released it, the proposed patch shouldn't affect
any LSI sanctioned drivers.

James



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

* RE: [patch 02/10] Dell CERC support for megaraid_mbox
  2008-04-27 18:14   ` James Bottomley
  2008-04-28 22:11     ` Yang, Bo
@ 2008-04-28 22:11     ` Yang, Bo
  1 sibling, 0 replies; 5+ messages in thread
From: Yang, Bo @ 2008-04-28 22:11 UTC (permalink / raw)
  To: James Bottomley; +Cc: akpm, linux-scsi, hare, Patro, Sumant

James,

Agree with you --ACK.

Thanks.

Bo Yang 

-----Original Message-----
From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com] 
Sent: Sunday, April 27, 2008 2:14 PM
To: Yang, Bo
Cc: akpm@linux-foundation.org; linux-scsi@vger.kernel.org; hare@suse.de;
Patro, Sumant
Subject: RE: [patch 02/10] Dell CERC support for megaraid_mbox

On Tue, 2008-04-22 at 13:44 -0600, Yang, Bo wrote:
> Hannes,
> 
> Our FW team give me the feedback said: LSI never release CERC firware 
> version >=6.62.  I have asked our DELL contactor to check with DELL if

> DELL know who made this release.  I will update you as soon as I get 
> the words from DELL.  Also if you have the information regarding to 
> the CERC FW 6.62 release, can you pass them to me?  I need to know the

> details about this release.

So, the fact that it shouldn't have been released doesn't really fix the
problem that it seems to be out in the field and causing problems.  Can
I take it that the proposed patch is an acceptable fix?  Especially if
LSI hasn't officially released it, the proposed patch shouldn't affect
any LSI sanctioned drivers.

James



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

end of thread, other threads:[~2008-04-28 22:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-18 20:57 [patch 02/10] Dell CERC support for megaraid_mbox akpm
2008-04-22 19:44 ` Yang, Bo
2008-04-27 18:14   ` James Bottomley
2008-04-28 22:11     ` Yang, Bo
2008-04-28 22:11     ` Yang, Bo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox