Commit 2dc22d5a authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman
Browse files

staging: vt6656: s_vGenerateTxParameter pvRrvTime should never be NULL



If pvRrvTime is NULL the whole structure is NULL, so
remove if statements and consolidate to single return.

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b6c416ce
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -860,6 +860,9 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
        byFBOption = AUTO_FB_1;
    }

	if (!pvRrvTime)
		return;

    if (pDevice->bLongHeader)
        cbMACHdLen = WLAN_HDR_ADDR3_LEN + 6;

@@ -867,7 +870,6 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,

        if (pvRTS != NULL) { //RTS_need
            //Fill RsvTime
            if (pvRrvTime) {
		struct vnt_rrv_time_rts *pBuf =
			(struct vnt_rrv_time_rts *)pvRrvTime;
		pBuf->wRTSTxRrvTime_aa = s_uGetRTSCTSRsvTime(pDevice, 2,
@@ -881,15 +883,12 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
		pBuf->wTxRrvTime_b = vnt_rxtx_rsvtime_le16(pDevice,
			PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate,
				bNeedACK);
            }
            //Fill RTS
	    s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK,
				psEthHeader, wCurrentRate, byFBOption);
        }
        else {//RTS_needless, PCF mode

            //Fill RsvTime
            if (pvRrvTime) {
		struct vnt_rrv_time_cts *pBuf =
				(struct vnt_rrv_time_cts *)pvRrvTime;
		pBuf->wTxRrvTime_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType,
@@ -899,7 +898,6 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
			pDevice->byTopCCKBasicRate, bNeedACK);
		pBuf->wCTSTxRrvTime_ba = s_uGetRTSCTSRsvTime(pDevice, 3,
				byPktType, cbFrameSize, wCurrentRate);
            }
            //Fill CTS
	    s_vFillCTSHead(pDevice, uDMAIdx, byPktType, pvCTS, cbFrameSize,
			bNeedACK, wCurrentRate, byFBOption);
@@ -909,54 +907,46 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,

        if (pvRTS != NULL) {//RTS_need, non PCF mode
            //Fill RsvTime
            if (pvRrvTime) {
		struct vnt_rrv_time_ab *pBuf =
				(struct vnt_rrv_time_ab *)pvRrvTime;
		pBuf->wRTSTxRrvTime = s_uGetRTSCTSRsvTime(pDevice, 2,
				byPktType, cbFrameSize, wCurrentRate);
		pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, byPktType,
				cbFrameSize, wCurrentRate, bNeedACK);
            }
            //Fill RTS
	    s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK,
			psEthHeader, wCurrentRate, byFBOption);
        }
        else if (pvRTS == NULL) {//RTS_needless, non PCF mode
            //Fill RsvTime
            if (pvRrvTime) {
		struct vnt_rrv_time_ab *pBuf =
				(struct vnt_rrv_time_ab *)pvRrvTime;
		pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11A,
			cbFrameSize, wCurrentRate, bNeedACK);
        }
    }
    }
    else if (byPktType == PK_TYPE_11B) {

        if ((pvRTS != NULL)) {//RTS_need, non PCF mode
            //Fill RsvTime
            if (pvRrvTime) {
		struct vnt_rrv_time_ab *pBuf =
				(struct vnt_rrv_time_ab *)pvRrvTime;
		pBuf->wRTSTxRrvTime = s_uGetRTSCTSRsvTime(pDevice, 0,
				byPktType, cbFrameSize, wCurrentRate);
		pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B,
				cbFrameSize, wCurrentRate, bNeedACK);
            }
            //Fill RTS
	    s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK,
			psEthHeader, wCurrentRate, byFBOption);
        }
        else { //RTS_needless, non PCF mode
            //Fill RsvTime
            if (pvRrvTime) {
		struct vnt_rrv_time_ab *pBuf =
				(struct vnt_rrv_time_ab *)pvRrvTime;
		pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B,
			cbFrameSize, wCurrentRate, bNeedACK);
        }
    }
    }
    //DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"s_vGenerateTxParameter END.\n");
}
/*