Messages in this thread Patch in this message | | | Date | Sun, 20 Sep 1998 15:22:39 -0500 | From | Doug Ledford <> | Subject | [PATCH] [ATTN LINUS :-] Re: Hard lockup 2.1.122 |
| |
Frank van de Pol wrote: > > I experience (reproducable) hard lockups on my NFS server running linux > 2.1.122. > > During write to the NFS server from a Window95 machine the linux box crashes > after a few 100 kB have been written. The Linux machine locks hard, no > network traffic possible, console freezes, but interrupt are still working > (the magic sysreq didn't die...).
> Using `/boot/System.map.2.1.122' to map addresses to symbols. > > >>EIP: c01a0913 <pci_read_config_byte+f/24> > Trace: c019812f <aic7xxx_pci_intr+1b/150> > Trace: c01982d9 <aic7xxx_isr+75/5a8> > Trace: c0198869 <do_aic7xxx_isr+5d/2e8> > Trace: c0108b9f <do_8259A_IRQ+73/9c> > Trace: c0108c46 <do_IRQ+22/3c> > Trace: c0107b20 <ret_from_intr> > Trace: c01068d2 <__switch_to+6e/d0> > Trace: c010f007 <schedule+22f/264> > Trace: c0106279 <sys_idle+65/ac> > Trace: c01062b0 <sys_idle+9c/ac> > Trace: c0107a64 <system_call+34/40> > Trace: c0106084 <init> > Trace: c0106073 <cpu_idle+7/18> > Trace: c0106000 <get_options> > Trace: c0100177 <L6> > Code: c01a0913 <pci_read_config_byte+f/24> movzbl 0x14(%edx),%eax > Code: c01a0917 <pci_read_config_byte+13/24> pushl %eax > Code: c01a0918 <pci_read_config_byte+14/24> movl (%edx),%eax > Code: c01a091a <pci_read_config_byte+16/24> movzbl 0x1c(%eax),%eax > Code: c01a091e <pci_read_config_byte+1a/24> pushl %eax > Code: c01a091f <pci_read_config_byte+1b/24> call fff6b6f5 <_EIP+fff6b6f5> > Code: c01a0924 <pci_read_config_byte+20/24> addl $0x10,%esp > Code: c01a0927 <pci_read_config_byte+23/24>
I found why this was happening. Attached is a very small patch that should fix the problem. Linus, please apply this to your 2.1.122 tree.
--- linux/drivers/scsi/aic7xxx.c.old Wed Aug 26 02:58:55 1998 +++ linux/drivers/scsi/aic7xxx.c Sun Sep 20 15:18:53 1998 @@ -6791,6 +6791,7 @@ p->type = temp->type; p->unpause = temp->unpause; p->pause = temp->pause; + p->pdev = temp->pdev; p->pci_bus = temp->pci_bus; p->pci_device_fn = temp->pci_device_fn; p->bios_address = temp->bios_address;
--
Doug Ledford <dledford@dialnet.net> Opinions expressed are my own, but they should be everybody's.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |