From f37e43c7dcb18f3b84b770d7873bceb8fd2af647 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Tue, 28 Aug 2012 11:59:04 -0500 Subject: [PATCH] --- yaml --- r: 324750 b: refs/heads/master c: 5ca136a0cb96aabcb3c2158fb958677d55915f93 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/rtl8712/rtl8712_recv.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0f0a15e942ab..c28a61312ef0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6a5c23194e09103ed24301e098c03a7da382a656 +refs/heads/master: 5ca136a0cb96aabcb3c2158fb958677d55915f93 diff --git a/trunk/drivers/staging/rtl8712/rtl8712_recv.c b/trunk/drivers/staging/rtl8712/rtl8712_recv.c index 8e82ce2fee38..4cd297aed788 100644 --- a/trunk/drivers/staging/rtl8712/rtl8712_recv.c +++ b/trunk/drivers/staging/rtl8712/rtl8712_recv.c @@ -374,6 +374,8 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe) a_len -= ETH_HLEN; /* Allocate new skb for releasing to upper layer */ sub_skb = dev_alloc_skb(nSubframe_Length + 12); + if (!sub_skb) + break; skb_reserve(sub_skb, 12); data_ptr = (u8 *)skb_put(sub_skb, nSubframe_Length); memcpy(data_ptr, pdata, nSubframe_Length); @@ -1094,6 +1096,8 @@ static int recvbuf2recvframe(struct _adapter *padapter, struct sk_buff *pskb) precvframe->u.hdr.rx_end = pkt_copy->data + alloc_sz; } else { precvframe->u.hdr.pkt = skb_clone(pskb, GFP_ATOMIC); + if (!precvframe->u.hdr.pkt) + return _FAIL; precvframe->u.hdr.rx_head = pbuf; precvframe->u.hdr.rx_data = pbuf; precvframe->u.hdr.rx_tail = pbuf;