Trying to use SR-IOV with Mellanox Infiniband: All virtual functions on device "sriov" are already in use

Your output above is consistent with you having VFs enabled but not bound to the driver.
PCI devices will show up regardless of whether a driver is using them or not.

In the post I referred to, you can see me load the driver with both probe_vf and num_vfs set to the number of VFs. The probe_vf property is what instructs the driver to bind to the VFs, only setting num_vfs would get you what you showed above.