[parisc-linux] Re: zalon/ncr53c720 crashes K460 (parisc port) on bootup.
James Bottomley
James.Bottomley@steeleye.com
27 Sep 2003 10:45:50 -0500
On Fri, 2003-09-26 at 22:43, Ryan Bradetich wrote:
> The zalon/ncr53c720 combination is fatal during booting on my K460
> parisc box. I believe the scsi termination is correct since I performed
> a fresh debian install on the scsi disks and I can boot from then every
> time I use a 2.4 kernel :) This problem appeared with with the latest
> cvs kernel from parisc-linux.org.
>
> This system does boot and function when I do not compile zalon support
> into the kernel and use a nfsroot.
>
> I can provide addtional information and test patches (or give access to
> this system) if requested.
>
> Any thoughts or feedback appreciated!
This should fix the panic, but it simply detaches correctly.
James
===== drivers/scsi/ncr53c8xx.c 1.37 vs edited =====
--- 1.37/drivers/scsi/ncr53c8xx.c Thu Sep 25 20:08:49 2003
+++ edited/drivers/scsi/ncr53c8xx.c Sat Sep 27 09:44:21 2003
@@ -8585,12 +8585,17 @@
int ncr53c8xx_release(struct Scsi_Host *host)
{
+ ncb_p np;
+ struct host_data *host_data;
+
#ifdef DEBUG_NCR53C8XX
-printk("ncr53c8xx : release\n");
+ printk("ncr53c8xx : release\n");
#endif
- ncr_detach(((struct host_data *) host->hostdata)->ncb);
+ if((host_data = (struct host_data *)host->hostdata) &&
+ host_data->ncb)
+ ncr_detach(host_data->ncb);
- return 1;
+ return 1;
}
===== drivers/scsi/zalon.c 1.11 vs edited =====
--- 1.11/drivers/scsi/zalon.c Thu Sep 25 20:08:51 2003
+++ edited/drivers/scsi/zalon.c Sat Sep 27 10:31:52 2003
@@ -146,7 +146,7 @@
host = ncr_attach(&zalon7xx_template, unit, &device);
if (!host)
- goto fail;
+ goto out;
if (request_irq(irq, ncr53c8xx_intr, SA_SHIRQ, dev->dev.bus_id, host)) {
printk(KERN_ERR "%s: irq problem with %d, detaching\n ",
@@ -169,6 +169,7 @@
free_irq(irq, host);
fail:
ncr53c8xx_release(host);
+ out:
return error;
}