enic->fdir.nodes[pos] = NULL;
                if (unlikely(key->rq_index == queue)) {
                        /* Nothing to be done */
+                       enic->fdir.stats.f_add++;
                        pos = rte_hash_add_key(enic->fdir.hash, params);
+                       if (pos < 0) {
+                               dev_err(enic, "Add hash key failed\n");
+                               return pos;
+                       }
                        enic->fdir.nodes[pos] = key;
-                       enic->fdir.stats.f_add++;
                        dev_warning(enic,
                                "FDIR rule is already present\n");
                        return 0;
        }
 
        pos = rte_hash_add_key(enic->fdir.hash, params);
+       if (pos < 0) {
+               dev_err(enic, "Add hash key failed\n");
+               return pos;
+       }
+
        enic->fdir.nodes[pos] = key;
        return 0;
 }