Messages in this thread |  | | | From | (Linus Torvalds) | | Subject | Re: SMP | | Date | 23 Apr 1997 15:55:22 GMT |
| |
In article <Pine.LNX.3.91.970423083055.1005A-100000@chaos.analogic.com>, Richard B. Johnson <root@analogic.com> wrote: >On Tue, 22 Apr 1997, Ingo Molnar wrote: >> On Tue, 22 Apr 1997, Richard B. Johnson wrote: >> >> > More problems with 2.1.36x SMP machine. I found it this morning >> > with an OOPS... pertainent data are copied from the screen >> > >> > end_scsi_request : buffer-list destroyed >> > end_scsi_request : buffer-list destroyed >> > attempt to access beyond end of device >> > >> > kernel panic EXT2-fs panic >> >> Does the attached patch help you? Slight chance only ... >> >> -- mingo >> >> --- aic7xxx.c.orig Tue Apr 22 23:38:17 1997 >> +++ aic7xxx.c Tue Apr 22 23:40:01 1997 >> @@ -457,6 +457,7 @@ >> * sections. >> */ >> #define PAUSE_SEQUENCER(p) \ >> + synchronize_irq(); \ >> outb(p->pause, HCNTRL + p->base); \ >> while ((inb(HCNTRL + p->base) & PAUSE) == 0) \ >> ; \ >> >YES! YES! In fact it does! The midnight crash occurs during my crond >backup using this controller. I hacked something like this in an >attempt to "solve" the problem. I was too dumb to put it in the >macro <grin>.
I suspect the "synchronize_irq()" call should really come in _after_ the other things in the #define. Putting it first like above will make the race window _really_ small, but there is still a small race there.
Linus
|  |