Hi On Freitag, 8. Juni 2007, you wrote: > -stable review patch. If anyone has any objections, please let us know. > --------------------- > > From: Mark Salyzyn <[email protected]> > > 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]> > Signed-off-by: Chris Wright <[email protected]> > > --- > drivers/scsi/aacraid/aacraid.h | 1 + > drivers/scsi/aacraid/rx.c | 2 +- > drivers/scsi/aacraid/sa.c | 9 ++++++++- > 3 files changed, 10 insertions(+), 2 deletions(-) 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' make[5]: *** [drivers/scsi/aacraid/sa.o] Error 1 make[4]: *** [drivers/scsi/aacraid] Error 2 make[3]: *** [drivers/scsi] Error 2 make[2]: *** [drivers] Error 2 make[2]: Leaving directory `/tmp/pkg/linux-2.6.21.5-rc1-slh64-smp-1' make[1]: *** [debian/stamp-build-kernel] Error 2 make[1]: Leaving directory `/tmp/pkg/linux-2.6.21.5-rc1-slh64-smp-1' make: *** [realfast] Fehler 2 Reverting this patch allows compiling 2.6.21.5-rc1 with the same config again. Debian unstable/ current. $ gcc --version gcc (GCC) 4.1.3 20070601 (prerelease) (Debian 4.1.2-12) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ dpkg -l | grep -e gcc-4.1\ -e binutils ii binutils 2.17cvs20070426-8 The GNU assembler, linker and binary utiliti ii gcc-4.1 4.1.2-12 The GNU C compiler > --- 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 > @@ -258,6 +258,11 @@ static void aac_sa_start_adapter(struct > NULL, NULL, NULL, NULL, NULL); > } > > +static int aac_sa_restart_adapter(struct aac_dev *dev, int bled) > +{ > + return -EINVAL; > +} > + > /** > * aac_sa_check_health > * @dev: device to check if healthy > @@ -367,7 +372,9 @@ int aac_sa_init(struct aac_dev *dev) > dev->a_ops.adapter_notify = aac_sa_notify_adapter; > dev->a_ops.adapter_sync_cmd = sa_sync_cmd; > dev->a_ops.adapter_check_health = aac_sa_check_health; > + dev->a_ops.adapter_restart = aac_sa_restart_adapter; > 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; > > /* Regards Stefan Lippers-Hollmann
Attachment:
config-2.6.21.5-rc1-slh64-smp-1.gz
Description: GNU Zip compressed data
Attachment:
signature.asc
Description: This is a digitally signed message part.
- Follow-Ups:
- References:
- Prev by Date: [PATCH] checkpatch: add an exclusion for 'for_each' helper macros
- Next by Date: Re: [patch 16/54] Input: i8042 - fix AUX port detection with some chips
- Previous by thread: [patch 37/54] SCSI: aacraid: Correct sa platform support. (Was: [Bug 8469] Bad EIP value on pentium3 SMP kernel-2.6.21.1)
- Next by thread: 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)
- Index(es):