[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <86802c440807161252j54fee5d3tc572574f083f4735@mail.gmail.com>
Date: Wed, 16 Jul 2008 12:52:12 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: sekharan@...ibm.com
Cc: "Ingo Molnar" <mingo@...e.hu>,
"James Bottomley" <James.Bottomley@...senpartnership.com>,
"Mark Salyzyn" <mark_salyzyn@...ptec.com>,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
Linux-Scsi <linux-scsi@...r.kernel.org>
Subject: Re: rdac and aac
On Wed, Jul 16, 2008 at 11:46 AM, Chandra Seetharaman
<sekharan@...ibm.com> wrote:
> Please test with the attached patch and see if it works.
>
> regards,
>
> chandra
>
> ---------------------
>
> Signed-off-by: Chandra Seetharaman <sekharan@...ibm.com>
> --
>
> Index: linux2.6.26-git3/drivers/scsi/device_handler/scsi_dh_rdac.c
> ===================================================================
> --- linux2.6.26-git3.orig/drivers/scsi/device_handler/scsi_dh_rdac.c
> +++ linux2.6.26-git3/drivers/scsi/device_handler/scsi_dh_rdac.c
> @@ -608,12 +608,17 @@ static int rdac_bus_notify(struct notifi
> unsigned long action, void *data)
> {
> struct device *dev = data;
> - struct scsi_device *sdev = to_scsi_device(dev);
> + struct scsi_device *sdev;
> struct scsi_dh_data *scsi_dh_data;
> struct rdac_dh_data *h;
> int i, found = 0;
> unsigned long flags;
>
> + if (!scsi_is_sdev_device(dev))
> + return 0;
> +
> + sdev = to_scsi_device(dev);
> +
> if (action == BUS_NOTIFY_ADD_DEVICE) {
> for (i = 0; rdac_dev_list[i].vendor; i++) {
> if (!strncmp(sdev->vendor, rdac_dev_list[i].vendor,
> Index: linux2.6.26-git3/drivers/scsi/device_handler/scsi_dh_emc.c
> ===================================================================
> --- linux2.6.26-git3.orig/drivers/scsi/device_handler/scsi_dh_emc.c
> +++ linux2.6.26-git3/drivers/scsi/device_handler/scsi_dh_emc.c
> @@ -416,12 +416,17 @@ static int clariion_bus_notify(struct no
> unsigned long action, void *data)
> {
> struct device *dev = data;
> - struct scsi_device *sdev = to_scsi_device(dev);
> + struct scsi_device *sdev;
> struct scsi_dh_data *scsi_dh_data;
> struct clariion_dh_data *h;
> int i, found = 0;
> unsigned long flags;
>
> + if (!scsi_is_sdev_device(dev))
> + return 0;
> +
> + sdev = to_scsi_device(dev);
> +
> if (action == BUS_NOTIFY_ADD_DEVICE) {
> for (i = 0; clariion_dev_list[i].vendor; i++) {
> if (!strncmp(sdev->vendor, clariion_dev_list[i].vendor,
> Index: linux2.6.26-git3/drivers/scsi/device_handler/scsi_dh_hp_sw.c
> ===================================================================
> --- linux2.6.26-git3.orig/drivers/scsi/device_handler/scsi_dh_hp_sw.c
> +++ linux2.6.26-git3/drivers/scsi/device_handler/scsi_dh_hp_sw.c
> @@ -131,11 +131,16 @@ static int hp_sw_bus_notify(struct notif
> unsigned long action, void *data)
> {
> struct device *dev = data;
> - struct scsi_device *sdev = to_scsi_device(dev);
> + struct scsi_device *sdev;
> struct scsi_dh_data *scsi_dh_data;
> int i, found = 0;
> unsigned long flags;
>
> + if (!scsi_is_sdev_device(dev))
> + return 0;
> +
> + sdev = to_scsi_device(dev);
> +
> if (action == BUS_NOTIFY_ADD_DEVICE) {
> for (i = 0; hp_sw_dh_data_list[i].vendor; i++) {
> if (!strncmp(sdev->vendor, hp_sw_dh_data_list[i].vendor,
it works. Thanks
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists