fm10k/base: check VF has a queue
[dpdk.git] / drivers / net / fm10k / base / fm10k_vf.c
index ba7c7c1..3fba007 100644 (file)
@@ -126,7 +126,12 @@ STATIC s32 fm10k_init_hw_vf(struct fm10k_hw *hw)
 
        DEBUGFUNC("fm10k_init_hw_vf");
 
-       /* assume we always have at least 1 queue */
+       /* verify we have at least 1 queue */
+       if (!~FM10K_READ_REG(hw, FM10K_TXQCTL(0)) ||
+           !~FM10K_READ_REG(hw, FM10K_RXQCTL(0)))
+               return FM10K_ERR_NO_RESOURCES;
+
+       /* determine how many queues we have */
        for (i = 1; tqdloc0 && (i < FM10K_MAX_QUEUES_POOL); i++) {
                /* verify the Descriptor cache offsets are increasing */
                tqdloc = ~FM10K_READ_REG(hw, FM10K_TQDLOC(i));