}
 
        ice_for_each_txq(vsi, i) {
-               vsi->tx_rings[i]->netdev = vsi->netdev;
-               err = ice_setup_tx_ring(vsi->tx_rings[i]);
+               struct ice_ring *ring = vsi->tx_rings[i];
+
+               if (!ring)
+                       return -EINVAL;
+
+               ring->netdev = vsi->netdev;
+               err = ice_setup_tx_ring(ring);
                if (err)
                        break;
        }
        }
 
        ice_for_each_rxq(vsi, i) {
-               vsi->rx_rings[i]->netdev = vsi->netdev;
-               err = ice_setup_rx_ring(vsi->rx_rings[i]);
+               struct ice_ring *ring = vsi->rx_rings[i];
+
+               if (!ring)
+                       return -EINVAL;
+
+               ring->netdev = vsi->netdev;
+               err = ice_setup_rx_ring(ring);
                if (err)
                        break;
        }