Author: hselasky
Date: Fri Dec  9 13:53:31 2016
New Revision: 309733
URL: https://svnweb.freebsd.org/changeset/base/309733

Log:
  MSIX can support more than 256 IRQs. Make sure the invalid IRQ number
  set in the LinuxKPI is big enough.
  
  Sponsored by:           Mellanox Technologies
  MFC after:            1 week

Modified:
  head/sys/compat/linuxkpi/common/include/linux/device.h
  head/sys/compat/linuxkpi/common/src/linux_pci.c

Modified: head/sys/compat/linuxkpi/common/include/linux/device.h
==============================================================================
--- head/sys/compat/linuxkpi/common/include/linux/device.h      Fri Dec  9 
13:47:50 2016        (r309732)
+++ head/sys/compat/linuxkpi/common/include/linux/device.h      Fri Dec  9 
13:53:31 2016        (r309733)
@@ -70,6 +70,7 @@ struct device {
        uint64_t        *dma_mask;
        void            *driver_data;
        unsigned int    irq;
+#define        LINUX_IRQ_INVALID       65535
        unsigned int    msix;
        unsigned int    msix_max;
        const struct attribute_group **groups;

Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c
==============================================================================
--- head/sys/compat/linuxkpi/common/src/linux_pci.c     Fri Dec  9 13:47:50 
2016        (r309732)
+++ head/sys/compat/linuxkpi/common/src/linux_pci.c     Fri Dec  9 13:53:31 
2016        (r309733)
@@ -144,7 +144,7 @@ linux_pci_attach(device_t dev)
        if (rle != NULL)
                pdev->dev.irq = rle->start;
        else
-               pdev->dev.irq = 255;
+               pdev->dev.irq = LINUX_IRQ_INVALID;
        pdev->irq = pdev->dev.irq;
        DROP_GIANT();
        spin_lock(&pci_lock);
_______________________________________________
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