Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938646AbXFHSlQ (ORCPT ); Fri, 8 Jun 2007 14:41:16 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1762861AbXFHSlE (ORCPT ); Fri, 8 Jun 2007 14:41:04 -0400 Received: from 216-99-217-87.dsl.aracnet.com ([216.99.217.87]:40679 "EHLO sous-sol.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761035AbXFHSlB (ORCPT ); Fri, 8 Jun 2007 14:41:01 -0400 Date: Fri, 8 Jun 2007 11:40:42 -0700 From: Chris Wright To: "Salyzyn, Mark" Cc: Chris Wright , Stefan Lippers-Hollmann , James Bottomley , AACRAID , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, stable@kernel.org, davej@redhat.com Subject: Re: [stable] [patch 37/54] SCSI: aacraid: Correct saplatformsupport. (Was: [Bug 8469] Bad EIP value on pentium3SMPkernel-2.6.21.1) Message-ID: <20070608184042.GK3723@sequoia.sous-sol.org> References: <20070608182917.GI3723@sequoia.sous-sol.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.14 (2007-02-12) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3311 Lines: 80 * Salyzyn, Mark (mark_salyzyn@adaptec.com) wrote: > Drop the setting of restart, drop the dummy restart handler in sa.c. Yup, OK. That's exactly the updated patch I included. Here it is again: From: Salyzyn, Mark 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 Signed-off-by: James Bottomley Signed-off-by: Greg Kroah-Hartman [chrisw: backport to 2.6.21.4] Signed-off-by: Chris Wright --- 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@adaptec.com) + * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/