[prev in list] [next in list] [prev in thread] [next in thread]
List: git-commits-head
Subject: mlx4_en: Handle page allocation failure during receive
From: Linux Kernel Mailing List <linux-kernel () vger ! kernel ! org>
Date: 2009-04-29 17:59:14
Message-ID: 200904291759.n3THxEJe021205 () hera ! kernel ! org
[Download RAW message or body]
Gitweb: http://git.kernel.org/linus/785a0982eaaeae2fbe3372d1c9c769e8156a7a5a
Commit: 785a0982eaaeae2fbe3372d1c9c769e8156a7a5a
Parent: a4233304bb43f87f97fc2ac9143b513814dcf094
Author: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
AuthorDate: Sun Apr 26 20:42:57 2009 +0000
Committer: David S. Miller <davem@davemloft.net>
CommitDate: Mon Apr 27 02:31:31 2009 -0700
mlx4_en: Handle page allocation failure during receive
If we failed to allocate new fragments for receive buffer,
the packet should be dropped and packets should be reused.
Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/mlx4/en_rx.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/net/mlx4/en_rx.c b/drivers/net/mlx4/en_rx.c
index 0cbb78c..7942c4d 100644
--- a/drivers/net/mlx4/en_rx.c
+++ b/drivers/net/mlx4/en_rx.c
@@ -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 */
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic