Module Name: src Committed By: jakllsch Date: Thu Apr 20 19:24:25 UTC 2017
Modified Files: src/sys/dev/ic [jdolecek-ncq]: ahcisata_core.c Log Message: Don't bail out of handling interrupts at the first inactive slot. Appears to fix the frequent timeouts issue. To generate a diff of this commit: cvs rdiff -u -r1.57.6.7 -r1.57.6.8 src/sys/dev/ic/ahcisata_core.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/ic/ahcisata_core.c diff -u src/sys/dev/ic/ahcisata_core.c:1.57.6.7 src/sys/dev/ic/ahcisata_core.c:1.57.6.8 --- src/sys/dev/ic/ahcisata_core.c:1.57.6.7 Wed Apr 19 20:49:17 2017 +++ src/sys/dev/ic/ahcisata_core.c Thu Apr 20 19:24:25 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: ahcisata_core.c,v 1.57.6.7 2017/04/19 20:49:17 jdolecek Exp $ */ +/* $NetBSD: ahcisata_core.c,v 1.57.6.8 2017/04/20 19:24:25 jakllsch Exp $ */ /* * Copyright (c) 2006 Manuel Bouyer. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ahcisata_core.c,v 1.57.6.7 2017/04/19 20:49:17 jdolecek Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ahcisata_core.c,v 1.57.6.8 2017/04/20 19:24:25 jakllsch Exp $"); #include <sys/types.h> #include <sys/malloc.h> @@ -607,7 +607,7 @@ ahci_intr_port(struct ahci_softc *sc, st for (slot=0; slot < sc->sc_ncmds; slot++) { if ((achp->ahcic_cmds_active & (1 << slot)) == 0) - return; + continue; if ((clear & (1 << slot)) == 0) { xfer = ata_queue_hwslot_to_xfer(chp->ch_queue, slot);