Author: mav
Date: Sun Jul 17 12:31:31 2016
New Revision: 302946
URL: https://svnweb.freebsd.org/changeset/base/302946

Log:
  Do not consider the last interrupt shared if there are enough interrupts
  for all channels.

Modified:
  head/sys/dev/ahci/ahci.c

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c    Sun Jul 17 11:43:27 2016        (r302945)
+++ head/sys/dev/ahci/ahci.c    Sun Jul 17 12:31:31 2016        (r302946)
@@ -416,7 +416,8 @@ ahci_setup_interrupt(device_t dev)
                else if (ctlr->numirqs == 1 || i >= ctlr->channels ||
                    (ctlr->ccc && i == ctlr->cccv))
                        ctlr->irqs[i].mode = AHCI_IRQ_MODE_ALL;
-               else if (i == ctlr->numirqs - 1)
+               else if (ctlr->channels > ctlr->numirqs &&
+                   i == ctlr->numirqs - 1)
                        ctlr->irqs[i].mode = AHCI_IRQ_MODE_AFTER;
                else
                        ctlr->irqs[i].mode = AHCI_IRQ_MODE_ONE;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to