1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-01 12:19:28 +00:00

Do not consider the last interrupt shared if there are enough interrupts

for all channels.
This commit is contained in:
Alexander Motin 2016-07-17 12:31:31 +00:00
parent 9bf9ce8144
commit eaf4f6fe69
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=302946

View File

@ -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;