Poifect (for earlier kernels without the restart adapter function added)

Sincerely -- Mark Salyzyn

> -----Original Message-----
> From: Chris Wright [mailto:[EMAIL PROTECTED] 
> Sent: Friday, June 08, 2007 2:41 PM
> To: Salyzyn, Mark
> Cc: Chris Wright; Stefan Lippers-Hollmann; James Bottomley; 
> AACRAID; Greg Kroah-Hartman; linux-kernel@vger.kernel.org; 
> [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: Re: [stable] [patch 37/54] SCSI: aacraid: 
> Correctsaplatformsupport. (Was: [Bug 8469] Bad EIP value 
> onpentium3SMPkernel-2.6.21.1)
> 
> 
> * Salyzyn, Mark ([EMAIL PROTECTED]) 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 <[EMAIL PROTECTED]>
> 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 <[EMAIL PROTECTED]>
> Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
> Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
> [chrisw: backport to 2.6.21.4]
> Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
> 
> ---
>  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. ([EMAIL PROTECTED])
> + * Copyright (c) 2000-2007 Adaptec, Inc. ([EMAIL PROTECTED])
>   *
>   * 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to