OSDN Git Service

staging: vt6655: s_vGenerateTxParameter removed nested pvRrvTime NULL check
authorMalcolm Priestley <tvboxspy@gmail.com>
Sat, 30 Aug 2014 21:25:32 +0000 (22:25 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Aug 2014 22:19:15 +0000 (15:19 -0700)
Just do single NULL check on pvRrvTime and return.

If pvRrvTime is NULL none of the if statements are valid.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6655/rxtx.c

index ee20ae2..afdf3ab 100644 (file)
@@ -1084,71 +1084,58 @@ s_vGenerateTxParameter(
        if (pDevice->bLongHeader)
                cbMACHdLen = WLAN_HDR_ADDR3_LEN + 6;
 
+       if (!pvRrvTime)
+               return;
+
        if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
                if (pvRTS != NULL) { //RTS_need
-                       //Fill RsvTime
-                       if (pvRrvTime) {
-                               struct vnt_rrv_time_rts *buf = pvRrvTime;
-
-                               buf->rts_rrv_time_aa = s_uGetRTSCTSRsvTime(pDevice, 2, byPktType, cbFrameSize, wCurrentRate);
-                               buf->rts_rrv_time_ba = s_uGetRTSCTSRsvTime(pDevice, 1, byPktType, cbFrameSize, wCurrentRate);
-                               buf->rts_rrv_time_bb = s_uGetRTSCTSRsvTime(pDevice, 0, byPktType, cbFrameSize, wCurrentRate);
-                               buf->rrv_time_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK);
-                               buf->rrv_time_b = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, bNeedACK);
-                       }
-                       //Fill RTS
+                       /* Fill RsvTime */
+                       struct vnt_rrv_time_rts *buf = pvRrvTime;
+
+                       buf->rts_rrv_time_aa = s_uGetRTSCTSRsvTime(pDevice, 2, byPktType, cbFrameSize, wCurrentRate);
+                       buf->rts_rrv_time_ba = s_uGetRTSCTSRsvTime(pDevice, 1, byPktType, cbFrameSize, wCurrentRate);
+                       buf->rts_rrv_time_bb = s_uGetRTSCTSRsvTime(pDevice, 0, byPktType, cbFrameSize, wCurrentRate);
+                       buf->rrv_time_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK);
+                       buf->rrv_time_b = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, bNeedACK);
+
                        s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK, bDisCRC, psEthHeader, wCurrentRate, byFBOption);
                } else {//RTS_needless, PCF mode
+                       struct vnt_rrv_time_cts *buf = pvRrvTime;
 
-                       //Fill RsvTime
-                       if (pvRrvTime) {
-                               struct vnt_rrv_time_cts *buf = pvRrvTime;
-
-                               buf->rrv_time_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK);
-                               buf->rrv_time_b = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, bNeedACK);
-                               buf->cts_rrv_time_ba = s_uGetRTSCTSRsvTime(pDevice, 3, byPktType, cbFrameSize, wCurrentRate);
-                       }
+                       buf->rrv_time_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK);
+                       buf->rrv_time_b = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, bNeedACK);
+                       buf->cts_rrv_time_ba = s_uGetRTSCTSRsvTime(pDevice, 3, byPktType, cbFrameSize, wCurrentRate);
 
                        //Fill CTS
                        s_vFillCTSHead(pDevice, uDMAIdx, byPktType, pvCTS, cbFrameSize, bNeedACK, bDisCRC, wCurrentRate, byFBOption);
                }
        } else if (byPktType == PK_TYPE_11A) {
                if (pvRTS != NULL) {//RTS_need, non PCF mode
-                       //Fill RsvTime
-                       if (pvRrvTime) {
-                               struct vnt_rrv_time_ab *buf = pvRrvTime;
+                       struct vnt_rrv_time_ab *buf = pvRrvTime;
+
+                       buf->rts_rrv_time = s_uGetRTSCTSRsvTime(pDevice, 2, byPktType, cbFrameSize, wCurrentRate);
+                       buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK);
 
-                               buf->rts_rrv_time = s_uGetRTSCTSRsvTime(pDevice, 2, byPktType, cbFrameSize, wCurrentRate);
-                               buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK);
-                       }
                        //Fill RTS
                        s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK, bDisCRC, psEthHeader, wCurrentRate, byFBOption);
                } else if (pvRTS == NULL) {//RTS_needless, non PCF mode
-                       //Fill RsvTime
-                       if (pvRrvTime) {
-                               struct vnt_rrv_time_ab *buf = pvRrvTime;
+                       struct vnt_rrv_time_ab *buf = pvRrvTime;
 
-                               buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11A, cbFrameSize, wCurrentRate, bNeedACK);
-                       }
+                       buf->rrv_time = 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 *buf = pvRrvTime;
+                       struct vnt_rrv_time_ab *buf = pvRrvTime;
+
+                       buf->rts_rrv_time = s_uGetRTSCTSRsvTime(pDevice, 0, byPktType, cbFrameSize, wCurrentRate);
+                       buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, wCurrentRate, bNeedACK);
 
-                               buf->rts_rrv_time = s_uGetRTSCTSRsvTime(pDevice, 0, byPktType, cbFrameSize, wCurrentRate);
-                               buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, wCurrentRate, bNeedACK);
-                       }
                        //Fill RTS
                        s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK, bDisCRC, psEthHeader, wCurrentRate, byFBOption);
                } else { //RTS_needless, non PCF mode
-                       //Fill RsvTime
-                       if (pvRrvTime) {
-                               struct vnt_rrv_time_ab *buf = pvRrvTime;
+                       struct vnt_rrv_time_ab *buf = pvRrvTime;
 
-                               buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, wCurrentRate, bNeedACK);
-                       }
+                       buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, wCurrentRate, bNeedACK);
                }
        }
 }