Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/jdolecek-ncq]: src/sys/dev/ic need to explicitely call siisata_timeout()...



details:   https://anonhg.NetBSD.org/src/rev/9c16c1b2891a
branches:  jdolecek-ncq
changeset: 352701:9c16c1b2891a
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Tue Jun 27 20:13:56 2017 +0000

description:
need to explicitely call siisata_timeout() also for polled bio command when
it times out to clean up; this should avoid the 'polled command has been
queued' panic from wddump()

diffstat:

 sys/dev/ic/siisata.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (29 lines):

diff -r aee1d3443ccf -r 9c16c1b2891a sys/dev/ic/siisata.c
--- a/sys/dev/ic/siisata.c      Tue Jun 27 18:36:03 2017 +0000
+++ b/sys/dev/ic/siisata.c      Tue Jun 27 20:13:56 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: siisata.c,v 1.30.4.24 2017/06/27 18:36:04 jdolecek Exp $ */
+/* $NetBSD: siisata.c,v 1.30.4.25 2017/06/27 20:13:56 jdolecek Exp $ */
 
 /* from ahcisata_core.c */
 
@@ -79,7 +79,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: siisata.c,v 1.30.4.24 2017/06/27 18:36:04 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: siisata.c,v 1.30.4.25 2017/06/27 20:13:56 jdolecek Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -1169,6 +1169,10 @@
                DELAY(100);
        }
 
+       if ((ata_bio->flags & ATA_ITSDONE) == 0) {
+               siisata_timeout(xfer);
+       }
+
        siisata_enable_port_interrupt(chp);
 out:
        SIISATA_DEBUG_PRINT(("%s: %s: done\n",



Home | Main Index | Thread Index | Old Index