From: "Darrick J. Wong" <djwong@us.ibm.com>
To: Chris McDermott <lcm@us.ibm.com>,
Luvella McFadden <luvella@us.ibm.com>,
AJ Johnson <blujuice@us.ibm.com>,
Kevin Stansell <kstansel@us.ibm.com>,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: [PATCH] aic79xx should be able to ignore HostRAID enabled adapters
Date: Wed, 30 Nov 2005 21:57:49 -0800 [thread overview]
Message-ID: <438E90DD.3010007@us.ibm.com> (raw)
Hi there,
I have an IBM x346 with some Adaptec 7902 SCSI controllers; one has HostRAID
enabled in a RAID array, and the other does not. Upon bootup, the aic79xx
driver will grab both controllers even though I'd prefer that Adaptec's a320raid
driver grab the HostRAID controller. (When attached to the RAID array, the
aic79xx driver presents each drive in the array as a separate SCSI device.) If
HostRAID is turned on, the PCI class code is 0x0104 (RAID) and if it's turned
off, the class code is 0x0100 (SCSI).
Unfortunately, there currently is no provision in the aic79xx driver to ignore
RAID controllers--if the PCI device/vendor IDs match, the driver takes the
controller. The attached patch modifies the PCI probe function to ignore RAID
controllers and a module parameter "attach_HostRAID" to toggle this behavior.
If one passes "attach_HostRAID=1" to insmod, the driver will take RAID
controllers; "attach_HostRAID=0", it won't. The default is to set it to zero.
The patch should apply cleanly against 2.6.14 and I've verified that it works
correctly on a x346 and a x226, both of which have a 7902b. I'd appreciate a
few more eyes to look over it, and if there aren't any objections I'd like to
submit this for inclusion in mainline.
--Darrick
--------------------------
Signed-Off-By: Darrick Wong <djwong@us.ibm.com>
diff -Naurp orig/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
linux-2.6.14.3/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
--- orig/drivers/scsi/aic7xxx/aic79xx_osm_pci.c 2005-11-24 14:10:21.000000000 -0800
+++ linux-2.6.14.3/drivers/scsi/aic7xxx/aic79xx_osm_pci.c 2005-11-29
16:54:30.000000000 -0800
@@ -43,6 +43,12 @@
#include "aic79xx_inline.h"
#include "aic79xx_pci.h"
+static int attach_HostRAID = 0;
+module_param_named(attach_HostRAID, attach_HostRAID, int, S_IRUGO|S_IWUSR);
+MODULE_PARM_DESC(attach_HostRAID, "\n"
+ "\tEnable(1) or disable(0) attaching to HostRAID enabled host "
+ "adapters.\n\tDefault: 0");
+
static int ahd_linux_pci_dev_probe(struct pci_dev *pdev,
const struct pci_device_id *ent);
static int ahd_linux_pci_reserve_io_regions(struct ahd_softc *ahd,
@@ -132,6 +138,14 @@ ahd_linux_pci_dev_probe(struct pci_dev *
char *name;
int error;
+ /* Ignore hostraid controllers unless the override is on. */
+ if (pdev->class == (PCI_CLASS_STORAGE_RAID << 8) && !attach_HostRAID) {
+ printk(KERN_INFO "aic79xx: will not attach to HostRAID enabled"
+ " device %s unless attach_HostRAID parameter is set\n",
+ pci_name(pdev));
+ return -ENODEV;
+ }
+
pci = pdev;
entry = ahd_find_pci_device(pci);
if (entry == NULL)
next reply other threads:[~2005-12-01 5:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-01 5:57 Darrick J. Wong [this message]
2005-12-01 6:41 ` [PATCH] aic79xx should be able to ignore HostRAID enabled adapters Jeff Garzik
2005-12-01 8:22 ` Darrick J. Wong
2005-12-01 8:08 ` Arjan van de Ven
2005-12-01 11:26 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2005-12-01 13:44 Salyzyn, Mark
2005-12-01 14:12 ` Arjan van de Ven
2005-12-01 14:47 ` Heinz Mauelshagen
2005-12-03 11:22 ` Matthias Andree
2005-12-03 16:19 ` Jeff Garzik
2005-12-03 16:39 ` Matthias Andree
2005-12-01 17:44 ` Christoph Hellwig
2005-12-01 17:56 ` Jeff Garzik
2005-12-01 17:49 ` Jeff Garzik
2005-12-02 19:06 ` Alan Cox
2005-12-01 18:46 Salyzyn, Mark
2005-12-01 19:19 ` Jeff Garzik
2005-12-05 21:06 ` Darrick J. Wong
2005-12-05 21:25 ` Jeff Garzik
2005-12-06 9:14 ` Heinz Mauelshagen
[not found] <5ePEj-2gB-9@gated-at.bofh.it>
[not found] ` <5eQqA-3pv-7@gated-at.bofh.it>
[not found] ` <5eRZp-5KA-7@gated-at.bofh.it>
2005-12-02 0:38 ` Robert Hancock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=438E90DD.3010007@us.ibm.com \
--to=djwong@us.ibm.com \
--cc=blujuice@us.ibm.com \
--cc=kstansel@us.ibm.com \
--cc=lcm@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=luvella@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox