Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / net / mlx4 / en_rx.c
index 0cbb78ca7b29ad100f89553ab2bd17693cff3c89..9ee873e872b34a2c02db98ab59e3b5c3f2616b13 100644 (file)
@@ -610,6 +610,10 @@ static struct sk_buff *mlx4_en_rx_skb(struct mlx4_en_priv *priv,
                used_frags = mlx4_en_complete_rx_desc(priv, rx_desc, skb_frags,
                                                      skb_shinfo(skb)->frags,
                                                      page_alloc, length);
+               if (unlikely(!used_frags)) {
+                       kfree_skb(skb);
+                       return NULL;
+               }
                skb_shinfo(skb)->nr_frags = used_frags;
 
                /* Copy headers into the skb linear buffer */
@@ -947,7 +951,6 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv,
        if (err) {
                mlx4_err(mdev, "Failed to allocate qp #%d\n", qpn);
                goto out;
-               return err;
        }
        qp->event = mlx4_en_sqp_event;