Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/dev/scsipi Pull up revision 1.48 (requested by bouy...
details: https://anonhg.NetBSD.org/src/rev/92b5eb35031b
branches: netbsd-1-5
changeset: 492728:92b5eb35031b
user: he <he%NetBSD.org@localhost>
date: Sat Feb 09 17:39:10 2002 +0000
description:
Pull up revision 1.48 (requested by bouyer):
If we change the ATA modes, also reset the device, so that we
can retry the command with the new mode. Fixes PR#15331.
diffstat:
sys/dev/scsipi/atapi_wdc.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diffs (26 lines):
diff -r 004a0259ecc3 -r 92b5eb35031b sys/dev/scsipi/atapi_wdc.c
--- a/sys/dev/scsipi/atapi_wdc.c Sat Feb 09 17:37:19 2002 +0000
+++ b/sys/dev/scsipi/atapi_wdc.c Sat Feb 09 17:39:10 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: atapi_wdc.c,v 1.36.2.2 2001/12/27 12:29:40 he Exp $ */
+/* $NetBSD: atapi_wdc.c,v 1.36.2.3 2002/02/09 17:39:10 he Exp $ */
/*
* Copyright (c) 1998 Manuel Bouyer.
@@ -480,9 +480,15 @@
if (chp->wdc->cap & WDC_CAPABILITY_IRQACK)
chp->wdc->irqack(chp);
- /* If we missed an IRQ and were using DMA, flag it as a DMA error */
+ /*
+ * If we missed an IRQ and were using DMA, flag it as a DMA error
+ * and reset device.
+ */
if ((xfer->c_flags & C_TIMEOU) && (xfer->c_flags & C_DMA)) {
ata_dmaerr(drvp);
+ sc_xfer->error = XS_RESET;
+ wdc_atapi_reset(chp, xfer);
+ return (1);
}
/*
* if the request sense command was aborted, report the short sense
Home |
Main Index |
Thread Index |
Old Index