[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070608174545.GZ3723@sequoia.sous-sol.org>
Date: Fri, 8 Jun 2007 10:45:45 -0700
From: Chris Wright <chrisw@...s-sol.org>
To: Stefan Lippers-Hollmann <s.L-H@....de>
Cc: Chris Wright <chrisw@...s-sol.org>,
James Bottomley <James.Bottomley@...eleye.com>,
Mark Salyzyn <aacraid@...ptec.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
linux-kernel@...r.kernel.org, stable@...nel.org
Subject: Re: [stable] [patch 37/54] SCSI: aacraid: Correct sa platform
support. (Was: [Bug 8469] Bad EIP value on pentium3 SMP
kernel-2.6.21.1)
* Stefan Lippers-Hollmann (s.L-H@....de) wrote:
> This patch fails to compile on amd64 and i386 with the attached config
> (CONFIG_SCSI_AACRAID=m, 2.6.21.5-rc1):
> CC [M] drivers/scsi/aacraid/linit.o
> CC [M] drivers/scsi/aacraid/aachba.o
> CC [M] drivers/scsi/aacraid/commctrl.o
> CC [M] drivers/scsi/aacraid/comminit.o
> CC [M] drivers/scsi/aacraid/commsup.o
> CC [M] drivers/scsi/aacraid/dpcsup.o
> CC [M] drivers/scsi/aacraid/rx.o
> CC [M] drivers/scsi/aacraid/sa.o
> drivers/scsi/aacraid/sa.c: In function 'aac_sa_init':
> drivers/scsi/aacraid/sa.c:375: error: 'struct adapter_ops' has no member
> named 'adapter_restart'
Mark, this patch is apparently against a slightly newer kernel which
includes 8418852d11f0bbaeebeedd4243560d8fdc85410d:
[SCSI] aacraid: add restart adapter platform function
See any issue with this against 2.6.21.4 (simply drops adapter_restart
bits).
thanks,
-chris
--
From: Salyzyn, Mark <mark_salyzyn@...ptec.com>
Subject: SCSI: aacraid: Correct sa platform support. (Was: [Bug 8469] Bad EIP value on pentium3 SMP kernel-2.6.21.1)
http://bugzilla.kernel.org/show_bug.cgi?id=8469
As discussed in the bugzilla outlined below, we have an sa based
(Mustang) RAID adapter on the system, a Dell PERC2/QC. Affected
controllers are HP NetRAID, Adaptec AAC-364, Dell PERC2/QC or Adaptec
5400S. This problem coincides with the introduction of the adapter_comm
and adapter_deliver platform functions (Message [PATCH 1/4] aacraid:
rework communication support code, January 23 2007, which initially
migrated to 2.6.21)
The panic occurs with an uninitialized adapter_deliver platform function
pointer. The enclosed patch, unmodified as tested by Rainer, solves the
problem.
Signed-off-by: Mark Salyzyn <aacraid@...ptec.com>
Signed-off-by: James Bottomley <James.Bottomley@...elEye.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
[chrisw: backport to 2.6.21.4]
Signed-off-by: Chris Wright <chrisw@...s-sol.org>
---
drivers/scsi/aacraid/aacraid.h | 1 +
drivers/scsi/aacraid/rx.c | 2 +-
drivers/scsi/aacraid/sa.c | 3 ++-
3 files changed, 4 insertions(+), 2 deletions(-)
--- linux-2.6.21.4.orig/drivers/scsi/aacraid/aacraid.h
+++ linux-2.6.21.4/drivers/scsi/aacraid/aacraid.h
@@ -1840,6 +1840,7 @@ struct aac_driver_ident* aac_get_driver_
int aac_get_adapter_info(struct aac_dev* dev);
int aac_send_shutdown(struct aac_dev *dev);
int aac_probe_container(struct aac_dev *dev, int cid);
+int aac_rx_deliver_producer(struct fib * fib);
extern int numacb;
extern int acbsize;
extern char aac_driver_version[];
--- linux-2.6.21.4.orig/drivers/scsi/aacraid/rx.c
+++ linux-2.6.21.4/drivers/scsi/aacraid/rx.c
@@ -378,7 +378,7 @@ static int aac_rx_check_health(struct aa
*
* Will send a fib, returning 0 if successful.
*/
-static int aac_rx_deliver_producer(struct fib * fib)
+int aac_rx_deliver_producer(struct fib * fib)
{
struct aac_dev *dev = fib->dev;
struct aac_queue *q = &dev->queues->queue[AdapNormCmdQueue];
--- linux-2.6.21.4.orig/drivers/scsi/aacraid/sa.c
+++ linux-2.6.21.4/drivers/scsi/aacraid/sa.c
@@ -5,7 +5,7 @@
* based on the old aacraid driver that is..
* Adaptec aacraid device driver for Linux.
*
- * Copyright (c) 2000 Adaptec, Inc. (aacraid@...ptec.com)
+ * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@...ptec.com)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -368,6 +368,7 @@ int aac_sa_init(struct aac_dev *dev)
dev->a_ops.adapter_sync_cmd = sa_sync_cmd;
dev->a_ops.adapter_check_health = aac_sa_check_health;
dev->a_ops.adapter_intr = aac_sa_intr;
+ dev->a_ops.adapter_deliver = aac_rx_deliver_producer;
dev->a_ops.adapter_ioremap = aac_sa_ioremap;
/*
-
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