Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14840cdd authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman
Browse files

staging: vt6656: desc.h remove typedef struct tagSCTSData



Replace structures with struct ieee80211_cts data

typedef struct tagSCTSData include extra packing wReserved
not in struct ieee80211_cts

This is corrected by adding reserved2 to the structures.

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0773893a
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -254,21 +254,14 @@ typedef const SRTS_a_FB *PCSRTS_a_FB;
/*
 * CTS buffer header
 */
typedef struct tagSCTSData {
    u16    wFrameControl;
    u16    wDurationID;
    u8    abyRA[ETH_ALEN];
    u16    wReserved;
} __attribute__ ((__packed__))
SCTSData, *PSCTSData;

typedef struct tagSCTS {
    u8        bySignalField_b;
    u8        byServiceField_b;
    u16        wTransmitLength_b;
    u16        wDuration_ba;
    u16        wReserved;
    SCTSData    Data;
	struct ieee80211_cts data;
	u16 reserved2;
} __attribute__ ((__packed__))
SCTS, *PSCTS;

@@ -282,7 +275,8 @@ typedef struct tagSCTS_FB {
    u16        wReserved;
    u16        wCTSDuration_ba_f0;
    u16        wCTSDuration_ba_f1;
    SCTSData    Data;
	struct ieee80211_cts data;
	u16 reserved2;
} __attribute__ ((__packed__))
SCTS_FB, *PSCTS_FB;

+8 −15
Original line number Diff line number Diff line
@@ -958,13 +958,10 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx,
            //Get CTSDuration_ba_f1
            pBuf->wCTSDuration_ba_f1 = (u16)s_uGetRTSCTSDuration(pDevice, CTSDUR_BA_F1, cbFrameLength, byPktType, wCurrentRate, bNeedAck, byFBOption); //9:CTSDuration_ba_f1, 1:2.4G, 2,3:2.4G OFDM Data
            pBuf->wCTSDuration_ba_f1 = cpu_to_le16(pBuf->wCTSDuration_ba_f1);
            //Get CTS Frame body
            pBuf->Data.wDurationID = pBuf->wDuration_ba;
            pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4
            pBuf->Data.wReserved = 0x0000;
	memcpy(&(pBuf->Data.abyRA[0]),
	       &(pDevice->abyCurrentNetAddr[0]),
	       ETH_ALEN);
		/* Get CTS Frame body */
		pBuf->data.duration = pBuf->wDuration_ba;
		pBuf->data.frame_control = TYPE_CTL_CTS;
		memcpy(pBuf->data.ra, pDevice->abyCurrentNetAddr, ETH_ALEN);
        } else { //if (byFBOption != AUTO_FB_NONE && uDMAIdx != TYPE_ATIMDMA && uDMAIdx != TYPE_BEACONDMA)
            PSCTS pBuf = (PSCTS)pvCTS;
            //Get SignalField,ServiceField,Length
@@ -975,14 +972,10 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx,
            //Get CTSDuration_ba
            pBuf->wDuration_ba = cpu_to_le16((u16)s_uGetRTSCTSDuration(pDevice, CTSDUR_BA, cbFrameLength, byPktType, wCurrentRate, bNeedAck, byFBOption)); //3:CTSDuration_ba, 1:2.4G, 2,3:2.4G OFDM Data
            pBuf->wDuration_ba = cpu_to_le16(pBuf->wDuration_ba);

            //Get CTS Frame body
            pBuf->Data.wDurationID = pBuf->wDuration_ba;
            pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4
            pBuf->Data.wReserved = 0x0000;
	memcpy(&(pBuf->Data.abyRA[0]),
	       &(pDevice->abyCurrentNetAddr[0]),
	       ETH_ALEN);
		/*Get CTS Frame body*/
		pBuf->data.duration = pBuf->wDuration_ba;
		pBuf->data.frame_control = TYPE_CTL_CTS;
		memcpy(pBuf->data.ra, pDevice->abyCurrentNetAddr, ETH_ALEN);
        }
    }
}