liquidio: set sriov_totalvfs correctly
authorDerek Chickles <derek.chickles@cavium.com>
Tue, 1 Aug 2017 22:05:07 +0000 (15:05 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Aug 2017 23:50:14 +0000 (16:50 -0700)
The file /sys/devices/pci000.../sriov_totalvfs is showing a wrong value.
Fix it by calling pci_sriov_set_totalvfs() to set the total number of VFs
available after calculations for the number of PF and VF queues are made.

Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Raghu Vatsavayi <raghu.vatsavayi@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/lio_main.c

index 1d8fefa9ce6477cfe07db64fb71ce9b720c93cce..39a8dca35ffa455000eaf83bf72455ac1679a1d8 100644 (file)
@@ -1825,6 +1825,11 @@ static int octeon_chip_specific_setup(struct octeon_device *oct)
        case OCTEON_CN23XX_PCIID_PF:
                oct->chip_id = OCTEON_CN23XX_PF_VID;
                ret = setup_cn23xx_octeon_pf_device(oct);
+#ifdef CONFIG_PCI_IOV
+               if (!ret)
+                       pci_sriov_set_totalvfs(oct->pci_dev,
+                                              oct->sriov_info.max_vfs);
+#endif
                s = "CN23XX";
                break;