New upstream version 17.05.1
[deb_dpdk.git] / drivers / net / mlx5 / mlx5_fdir.c
index f80c58b..c8d4748 100644 (file)
@@ -144,6 +144,7 @@ fdir_filter_to_flow_desc(const struct rte_eth_fdir_filter *fdir_filter,
        case RTE_ETH_FLOW_NONFRAG_IPV4_TCP:
                desc->src_port = fdir_filter->input.flow.udp4_flow.src_port;
                desc->dst_port = fdir_filter->input.flow.udp4_flow.dst_port;
+               /* fallthrough */
        case RTE_ETH_FLOW_NONFRAG_IPV4_OTHER:
                desc->src_ip[0] = fdir_filter->input.flow.ip4_flow.src_ip;
                desc->dst_ip[0] = fdir_filter->input.flow.ip4_flow.dst_ip;
@@ -733,9 +734,11 @@ priv_fdir_disable(struct priv *priv)
 
        /* Destroy flow director context in each RX queue. */
        for (i = 0; (i != priv->rxqs_n); i++) {
-               struct rxq_ctrl *rxq_ctrl =
-                       container_of((*priv->rxqs)[i], struct rxq_ctrl, rxq);
+               struct rxq_ctrl *rxq_ctrl;
 
+               if (!(*priv->rxqs)[i])
+                       continue;
+               rxq_ctrl = container_of((*priv->rxqs)[i], struct rxq_ctrl, rxq);
                if (!rxq_ctrl->fdir_queue)
                        continue;
                priv_fdir_queue_destroy(priv, rxq_ctrl->fdir_queue);