net-next: vmxnet3 fixes [5/5] Respect the interrupt type in VM configuration
authorShreyas Bhatewara <sbhatewara@vmware.com>
Thu, 15 Jul 2010 15:21:27 +0000 (15:21 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Jul 2010 20:15:50 +0000 (13:15 -0700)
Respect the interrupt type set in VM configuration.

When interrupt type is not auto, do not ignore the interrupt type set from
VM configuration.

Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vmxnet3/vmxnet3_drv.c
drivers/net/vmxnet3/vmxnet3_int.h

index 3b55fbd1294d8526cde05c19ecc0d1dc0c33b9a3..9d64186050f3373505f275e7bde9f67eb3429f37 100644 (file)
@@ -2302,9 +2302,13 @@ vmxnet3_alloc_intr_resources(struct vmxnet3_adapter *adapter)
        adapter->intr.mask_mode = (cfg >> 2) & 0x3;
 
        if (adapter->intr.type == VMXNET3_IT_AUTO) {
-               int err;
+               adapter->intr.type = VMXNET3_IT_MSIX;
+       }
 
 #ifdef CONFIG_PCI_MSI
+       if (adapter->intr.type == VMXNET3_IT_MSIX) {
+               int err;
+
                adapter->intr.msix_entries[0].entry = 0;
                err = pci_enable_msix(adapter->pdev, adapter->intr.msix_entries,
                                      VMXNET3_LINUX_MAX_MSIX_VECT);
@@ -2313,15 +2317,18 @@ vmxnet3_alloc_intr_resources(struct vmxnet3_adapter *adapter)
                        adapter->intr.type = VMXNET3_IT_MSIX;
                        return;
                }
-#endif
+               adapter->intr.type = VMXNET3_IT_MSI;
+       }
 
+       if (adapter->intr.type == VMXNET3_IT_MSI) {
+               int err;
                err = pci_enable_msi(adapter->pdev);
                if (!err) {
                        adapter->intr.num_intrs = 1;
-                       adapter->intr.type = VMXNET3_IT_MSI;
                        return;
                }
        }
+#endif /* CONFIG_PCI_MSI */
 
        adapter->intr.type = VMXNET3_IT_INTX;
 
index 34f392f46fb1e026e3d766d8fc9dd61dcd678328..762a6a7763fed22f0c88074f596855a3b70ce033 100644 (file)
 /*
  * Version numbers
  */
-#define VMXNET3_DRIVER_VERSION_STRING   "1.0.5.0-k"
+#define VMXNET3_DRIVER_VERSION_STRING   "1.0.13.0-k"
 
 /* a 32-bit int, each byte encode a verion number in VMXNET3_DRIVER_VERSION */
-#define VMXNET3_DRIVER_VERSION_NUM      0x01000500
+#define VMXNET3_DRIVER_VERSION_NUM      0x01000B00
 
 
 /*