Messages in this thread | | | Subject | Re: 2.4.21 IDE and IEEE1394+SBP2 regressions, orinoco_pci progress | From | Benjamin Herrenschmidt <> | Date | 09 Jul 2003 11:34:34 +0200 |
| |
On Wed, 2003-07-09 at 04:49, Zygo Blaxell wrote: > Previously on kernels up to 2.4.20, an IDE disk I/O request that was in > progress at suspend time would trigger a DMA reset upon resume, after a > short delay while waiting for the timeout. 2.4.20 looked like this: > > ide_dmaproc: chipset supported ide_dma_lostirq func only: 13 hda: > lost interrupt > > After this, the machine happily resumes whatever it was doing. There is a > delay of a few seconds while this happens. > > Now in 2.4.21, the kernel prints the following message: > > hda: dma_timer_expiry: dma status == 0x04 > > and that's the last thing it ever does--the kernel locks up hard.
Whatever happens, you shouldn't let the machine suspend while ongoing disk IOs are in progress. A lot of bad things could result from that.
Actually, the proper fix is to implement some working suspend/resume handlers in the IDE layer like we did in 2.5, though the problem here is that 2.4 lacks proper infrastructure for doing that in a properly ordered way.
> Note that in order to see this you need to be doing a lot of I/O at > suspend time, e.g. 'cp -a /usr /tmp' or some such thing. > > Also in 2.4.21, a filesystem mounted from a CD-ROM via ide-scsi will start > to get I/O errors if it is accessed during the suspend/resume sequence. > In 2.4.20, there were no ill effects when this happens.
Same thing. You need the driver to block requests during that sequence, and to complete any pending one before suspend is entered.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |