The RTAS IRQ fixup code relies on a less-than-clear edge condition for
verifying a given device is not using MSI or MSI-X. Make that more clear
with a comment.

Signed-off-by: Nishanth Aravamudan <n...@us.ibm.com>
Cc: Milton Miller <milt...@bga.com>
Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>

---
 arch/powerpc/platforms/pseries/msi.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/msi.c 
b/arch/powerpc/platforms/pseries/msi.c
index 9434576..8c6dbbc 100644
--- a/arch/powerpc/platforms/pseries/msi.c
+++ b/arch/powerpc/platforms/pseries/msi.c
@@ -455,7 +455,12 @@ static void rtas_msi_pci_irq_fixup(struct pci_dev *pdev)
                return;
        }
 
-       /* No MSI -> MSIs can't have been assigned by fw, leave LSI */
+       /* 
+        * No MSI -> MSIs can't have been assigned by fw, leave LSI
+        * The calls below can only provide one of two responses:
+        *   < 0: if the device doesn't request MSI or MSI-X
+        *   0: if the device requests at least 1 MSI/MSI-X vector
+        */
        if (check_req_msi(pdev, 1) && check_req_msix(pdev, 1)) {
                dev_dbg(&pdev->dev, "rtas_msi: no req#msi/x, nothing to do.\n");
                return;
-- 
1.7.1

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to