Reject, this is already covered in aacraid_kexec_5.patch and again separately in aacraid_kexec_fix.patch. Sincerely -- Mark Salyzyn > -----Original Message----- > From: Darrick J. Wong [mailto:djwong@xxxxxxxxxx] > Sent: Thursday, April 26, 2007 6:58 PM > To: linux-scsi@xxxxxxxxxxxxxxx > Cc: Salyzyn, Mark; Alexis Bruemmer > Subject: [PATCH] aacraid: Initialize rx/rkt function pointers > before calling them > > > Commit 8418852d11f0bbaeebeedd4243560d8fdc85410d to scsi-misc > resulted in > the substitution of calls to rx_sync_cmd with a function pointer > abstraction. aac_rx_restart_adapter requires a pointer to a sync_cmd > function, which is not set up before its first invocation. > That causes > the driver to crash at startup. Move the initializers (we need both > rx_sync_cmd and enable_int pointers) further up to proceed the > restart_adapter call. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > > drivers/scsi/aacraid/rx.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c > index 0c71315..b7810d6 100644 > --- a/drivers/scsi/aacraid/rx.c > +++ b/drivers/scsi/aacraid/rx.c > @@ -537,6 +537,8 @@ int _aac_rx_init(struct aac_dev *dev) > printk(KERN_WARNING "%s: unable to map > adapter.\n", name); > goto error_iounmap; > } > + dev->a_ops.adapter_sync_cmd = rx_sync_cmd; > + aac_adapter_comm(dev, AAC_COMM_PRODUCER); > > /* Failure to reset here is an option ... */ > dev->OIMR = status = rx_readb (dev, MUnit.OIMR); > @@ -598,7 +600,6 @@ int _aac_rx_init(struct aac_dev *dev) > dev->a_ops.adapter_interrupt = aac_rx_interrupt_adapter; > dev->a_ops.adapter_disable_int = aac_rx_disable_interrupt; > dev->a_ops.adapter_notify = aac_rx_notify_adapter; > - dev->a_ops.adapter_sync_cmd = rx_sync_cmd; > dev->a_ops.adapter_check_health = aac_rx_check_health; > dev->a_ops.adapter_restart = aac_rx_restart_adapter; > > @@ -606,7 +607,6 @@ int _aac_rx_init(struct aac_dev *dev) > * First clear out all interrupts. Then enable > the one's that we > * can handle. > */ > - aac_adapter_comm(dev, AAC_COMM_PRODUCER); > aac_adapter_disable_int(dev); > rx_writel(dev, MUnit.ODR, 0xffffffff); > aac_adapter_enable_int(dev); > - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html