Commit 79a5ccd9 authored by Okash Khawaja's avatar Okash Khawaja Committed by Greg Kroah-Hartman
Browse files

staging: rtl8192u: fix large frame size compiler warning



This patch fixes following compiler warning:

drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c: In function
‘RxReorderIndicatePacket’:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:758:1: warning: the
frame size of 1064 bytes is larger than 1024 bytes
[-Wframe-larger-than=]

It replaces the statically allocated array prxbIndicateArray with
a kmalloc'd one.

Signed-off-by: default avatarOkash Khawaja <okash.khawaja@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 64b389c5
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -594,12 +594,18 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
{
	PRT_HIGH_THROUGHPUT	pHTInfo = ieee->pHTInfo;
	PRX_REORDER_ENTRY	pReorderEntry = NULL;
	struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
	struct ieee80211_rxb **prxbIndicateArray;
	u8			WinSize = pHTInfo->RxReorderWinSize;
	u16			WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
	u8			index = 0;
	bool			bMatchWinStart = false, bPktInBuf = false;
	IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);

	prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
			REORDER_WIN_SIZE, GFP_KERNEL);
	if (!prxbIndicateArray)
		return;

	/* Rx Reorder initialize condition.*/
	if (pTS->RxIndicateSeq == 0xffff) {
		pTS->RxIndicateSeq = SeqNum;
@@ -618,6 +624,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
			kfree(prxb);
			prxb = NULL;
		}

		kfree(prxbIndicateArray);
		return;
	}

@@ -741,6 +749,7 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
		// Indicate packets
		if(index>REORDER_WIN_SIZE){
			IEEE80211_DEBUG(IEEE80211_DL_ERR, "RxReorderIndicatePacket(): Rx Reorer buffer full!! \n");
			kfree(prxbIndicateArray);
			return;
		}
		ieee80211_indicate_packets(ieee, prxbIndicateArray, index);
@@ -755,6 +764,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
		pTS->RxPktPendingTimer.expires = jiffies + MSECS(pHTInfo->RxReorderPendingTime);
		add_timer(&pTS->RxPktPendingTimer);
	}

	kfree(prxbIndicateArray);
}

static u8 parse_subframe(struct sk_buff *skb,