[parisc-linux] Re: rmmod lasi700 hangs the machine
James Bottomley
James.Bottomley@HansenPartnership.com
Thu, 27 Dec 2001 14:23:03 -0600
This is a multipart MIME message.
--==_Exmh_-7787221390
Content-Type: text/plain; charset=us-ascii
As Grant says, its hard to debug this type of thing. However, I do have a
theory: The free_irq() call in parisc doesn't do an irq shutdown (which
disables the irq). This looks like an omission, since I thought the
behaviours of the arch irq.c's were all converging. It is possible that an
unhandled interrupt would cause the type of problem you describe
A simple test of the theory is to try the attached patch and see if that fixes
the problem. If that doesn't work, I'll try to reproduce (although this will
take a while since I'll have to construct an NFS boot environment).
James
--==_Exmh_-7787221390
Content-Type: text/plain ; name="tmp.diff"; charset=us-ascii
Content-Description: tmp.diff
Content-Disposition: attachment; filename="tmp.diff"
Index: drivers/scsi/lasi700.c
===================================================================
RCS file: /var/cvs/linux/drivers/scsi/lasi700.c,v
retrieving revision 1.5
diff -u -r1.5 lasi700.c
--- drivers/scsi/lasi700.c 2001/12/26 22:41:16 1.5
+++ drivers/scsi/lasi700.c 2001/12/27 20:20:59
@@ -195,6 +195,7 @@
NCR_700_release(host);
kfree(hostdata);
+ disable_irq(host->irq);
free_irq(host->irq, host);
release_mem_region(host->base, 64);
return 1;
--==_Exmh_-7787221390--