Staging: vt665x: 64bit compile fixes Part 1

Fix compile problems with 64bit.  These issues could cause corrupted
address crashes.  In the process, replaced some definitions to use more
portable kernel types.

Signed-off-by: Jim Lieb <lieb@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Jim Lieb 2009-07-23 17:20:49 -07:00 committed by Greg Kroah-Hartman
parent 6f92a8d0b8
commit db6cb9036b
8 changed files with 28 additions and 29 deletions

View file

@ -120,13 +120,13 @@ typedef struct _WLAN_FRAME_TPCREP {
/*--------------------- Static Functions --------------------------*/ /*--------------------- Static Functions --------------------------*/
static BOOL s_bRxMSRReq(PSMgmtObject pMgmt, PWLAN_FRAME_MSRREQ pMSRReq, UINT uLength) static BOOL s_bRxMSRReq(PSMgmtObject pMgmt, PWLAN_FRAME_MSRREQ pMSRReq, UINT uLength)
{ {
UINT uNumOfEIDs = 0; size_t uNumOfEIDs = 0;
BOOL bResult = TRUE; BOOL bResult = TRUE;
if (uLength <= WLAN_A3FR_MAXLEN) { if (uLength <= WLAN_A3FR_MAXLEN) {
MEMvCopy(pMgmt->abyCurrentMSRReq, pMSRReq, uLength); MEMvCopy(pMgmt->abyCurrentMSRReq, pMSRReq, uLength);
} }
uNumOfEIDs = ((uLength - OFFSET(WLAN_FRAME_MSRREQ, sMSRReqEIDs))/ (sizeof(WLAN_IE_MEASURE_REQ))); uNumOfEIDs = ((uLength - offsetof(WLAN_FRAME_MSRREQ, sMSRReqEIDs))/ (sizeof(WLAN_IE_MEASURE_REQ)));
pMgmt->pCurrMeasureEIDRep = &(((PWLAN_FRAME_MSRREP) (pMgmt->abyCurrentMSRRep))->sMSRRepEIDs[0]); pMgmt->pCurrMeasureEIDRep = &(((PWLAN_FRAME_MSRREP) (pMgmt->abyCurrentMSRRep))->sMSRRepEIDs[0]);
pMgmt->uLengthOfRepEIDs = 0; pMgmt->uLengthOfRepEIDs = 0;
bResult = CARDbStartMeasure(pMgmt->pAdapter, bResult = CARDbStartMeasure(pMgmt->pAdapter,
@ -291,7 +291,7 @@ BOOL IEEE11hbMSRRepTx (
{ {
PSMgmtObject pMgmt = (PSMgmtObject) pMgmtHandle; PSMgmtObject pMgmt = (PSMgmtObject) pMgmtHandle;
PWLAN_FRAME_MSRREP pMSRRep = (PWLAN_FRAME_MSRREP) (pMgmt->abyCurrentMSRRep + sizeof(STxMgmtPacket)); PWLAN_FRAME_MSRREP pMSRRep = (PWLAN_FRAME_MSRREP) (pMgmt->abyCurrentMSRRep + sizeof(STxMgmtPacket));
UINT uLength = 0; size_t uLength = 0;
PSTxMgmtPacket pTxPacket = NULL; PSTxMgmtPacket pTxPacket = NULL;
pTxPacket = (PSTxMgmtPacket)pMgmt->abyCurrentMSRRep; pTxPacket = (PSTxMgmtPacket)pMgmt->abyCurrentMSRRep;
@ -311,7 +311,7 @@ BOOL IEEE11hbMSRRepTx (
pMSRRep->byAction = 1; pMSRRep->byAction = 1;
pMSRRep->byDialogToken = ((PWLAN_FRAME_MSRREQ) (pMgmt->abyCurrentMSRReq))->byDialogToken; pMSRRep->byDialogToken = ((PWLAN_FRAME_MSRREQ) (pMgmt->abyCurrentMSRReq))->byDialogToken;
uLength = pMgmt->uLengthOfRepEIDs + OFFSET(WLAN_FRAME_MSRREP, sMSRRepEIDs); uLength = pMgmt->uLengthOfRepEIDs + offsetof(WLAN_FRAME_MSRREP, sMSRRepEIDs);
pTxPacket->cbMPDULen = uLength; pTxPacket->cbMPDULen = uLength;
pTxPacket->cbPayloadLen = uLength - WLAN_HDR_ADDR3_LEN; pTxPacket->cbPayloadLen = uLength - WLAN_HDR_ADDR3_LEN;

View file

@ -1335,7 +1335,7 @@ start:
wpahdr->req_ie_len = 0; wpahdr->req_ie_len = 0;
skb_put(pDevice->skb, sizeof(viawget_wpa_header)); skb_put(pDevice->skb, sizeof(viawget_wpa_header));
pDevice->skb->dev = pDevice->wpadev; pDevice->skb->dev = pDevice->wpadev;
pDevice->skb->mac_header = pDevice->skb->data; skb_reset_mac_header(pDevice->skb);
pDevice->skb->pkt_type = PACKET_HOST; pDevice->skb->pkt_type = PACKET_HOST;
pDevice->skb->protocol = htons(ETH_P_802_2); pDevice->skb->protocol = htons(ETH_P_802_2);
memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb)); memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb));

View file

@ -332,9 +332,9 @@ static CHIP_INFO chip_info_table[]= {
{0,NULL} {0,NULL}
}; };
static struct pci_device_id device_id_table[] __devinitdata = { DEFINE_PCI_DEVICE_TABLE(device_id_table) = {
{ 0x1106, 0x3253, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long)&chip_info_table[0]}, { PCI_VDEVICE(VIA, 0x3253), (kernel_ulong_t)chip_info_table},
{ 0, } { 0, }
}; };
/*--------------------- Static Functions --------------------------*/ /*--------------------- Static Functions --------------------------*/
@ -405,7 +405,7 @@ static char* get_chip_name(int chip_id) {
return chip_info_table[i].name; return chip_info_table[i].name;
} }
static void __devexit device_remove1(struct pci_dev *pcid) static void device_remove1(struct pci_dev *pcid)
{ {
PSDevice pDevice=pci_get_drvdata(pcid); PSDevice pDevice=pci_get_drvdata(pcid);
@ -928,7 +928,7 @@ static BOOL device_release_WPADEV(PSDevice pDevice)
wpahdr->req_ie_len = 0; wpahdr->req_ie_len = 0;
skb_put(pDevice->skb, sizeof(viawget_wpa_header)); skb_put(pDevice->skb, sizeof(viawget_wpa_header));
pDevice->skb->dev = pDevice->wpadev; pDevice->skb->dev = pDevice->wpadev;
pDevice->skb->mac_header = pDevice->skb->data; skb_reset_mac_header(pDevice->skb);
pDevice->skb->pkt_type = PACKET_HOST; pDevice->skb->pkt_type = PACKET_HOST;
pDevice->skb->protocol = htons(ETH_P_802_2); pDevice->skb->protocol = htons(ETH_P_802_2);
memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb)); memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb));
@ -1678,8 +1678,8 @@ static BOOL device_alloc_rx_buf(PSDevice pDevice, PSRxDesc pRD) {
return FALSE; return FALSE;
ASSERT(pRDInfo->skb); ASSERT(pRDInfo->skb);
pRDInfo->skb->dev = pDevice->dev; pRDInfo->skb->dev = pDevice->dev;
pRDInfo->skb_dma = pci_map_single(pDevice->pcid, pRDInfo->skb->tail, pDevice->rx_buf_sz, pRDInfo->skb_dma = pci_map_single(pDevice->pcid, skb_tail_pointer(pRDInfo->skb),
PCI_DMA_FROMDEVICE); pDevice->rx_buf_sz, PCI_DMA_FROMDEVICE);
*((PU32) &(pRD->m_rd0RD0)) = 0; *((PU32) &(pRD->m_rd0RD0)) = 0;
pRD->m_rd0RD0.wResCount = cpu_to_le16(pDevice->rx_buf_sz); pRD->m_rd0RD0.wResCount = cpu_to_le16(pDevice->rx_buf_sz);
@ -1775,7 +1775,7 @@ static int device_tx_srv(PSDevice pDevice, UINT uIdx) {
DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO "tx call back netif.. \n"); DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO "tx call back netif.. \n");
skb = pTD->pTDInfo->skb; skb = pTD->pTDInfo->skb;
skb->dev = pDevice->apdev; skb->dev = pDevice->apdev;
skb->mac_header = skb->data; skb_reset_mac_header(skb);
skb->pkt_type = PACKET_OTHERHOST; skb->pkt_type = PACKET_OTHERHOST;
//skb->protocol = htons(ETH_P_802_2); //skb->protocol = htons(ETH_P_802_2);
memset(skb->cb, 0, sizeof(skb->cb)); memset(skb->cb, 0, sizeof(skb->cb));
@ -1940,6 +1940,10 @@ INT MlmeThread(
static int device_open(struct net_device *dev) { static int device_open(struct net_device *dev) {
PSDevice pDevice=(PSDevice) netdev_priv(dev); PSDevice pDevice=(PSDevice) netdev_priv(dev);
int i; int i;
#ifdef WPA_SM_Transtatus
extern SWPAResult wpa_Result;
#endif
pDevice->rx_buf_sz = PKT_BUF_SZ; pDevice->rx_buf_sz = PKT_BUF_SZ;
if (!device_init_rings(pDevice)) { if (!device_init_rings(pDevice)) {
return -ENOMEM; return -ENOMEM;
@ -1950,7 +1954,6 @@ static int device_open(struct net_device *dev) {
return i; return i;
//printk("DEBUG1\n"); //printk("DEBUG1\n");
#ifdef WPA_SM_Transtatus #ifdef WPA_SM_Transtatus
extern SWPAResult wpa_Result;
memset(wpa_Result.ifname,0,sizeof(wpa_Result.ifname)); memset(wpa_Result.ifname,0,sizeof(wpa_Result.ifname));
wpa_Result.proto = 0; wpa_Result.proto = 0;
wpa_Result.key_mgmt = 0; wpa_Result.key_mgmt = 0;

View file

@ -680,7 +680,7 @@ device_receive_frame (
skb->data += 4; skb->data += 4;
skb->tail += 4; skb->tail += 4;
skb_put(skb, FrameSize); skb_put(skb, FrameSize);
skb->mac_header = skb->data; skb_reset_mac_header(skb);
skb->pkt_type = PACKET_OTHERHOST; skb->pkt_type = PACKET_OTHERHOST;
skb->protocol = htons(ETH_P_802_2); skb->protocol = htons(ETH_P_802_2);
memset(skb->cb, 0, sizeof(skb->cb)); memset(skb->cb, 0, sizeof(skb->cb));
@ -810,7 +810,7 @@ device_receive_frame (
skb->data += (cbIVOffset + 4); skb->data += (cbIVOffset + 4);
skb->tail += (cbIVOffset + 4); skb->tail += (cbIVOffset + 4);
skb_put(skb, FrameSize); skb_put(skb, FrameSize);
skb->mac_header = skb->data; skb_reset_mac_header(skb);
skb->pkt_type = PACKET_OTHERHOST; skb->pkt_type = PACKET_OTHERHOST;
skb->protocol = htons(ETH_P_802_2); skb->protocol = htons(ETH_P_802_2);
@ -932,7 +932,7 @@ device_receive_frame (
wpahdr->req_ie_len = 0; wpahdr->req_ie_len = 0;
skb_put(pDevice->skb, sizeof(viawget_wpa_header)); skb_put(pDevice->skb, sizeof(viawget_wpa_header));
pDevice->skb->dev = pDevice->wpadev; pDevice->skb->dev = pDevice->wpadev;
pDevice->skb->mac_header = pDevice->skb->data; skb_reset_mac_header(pDevice->skb);
pDevice->skb->pkt_type = PACKET_HOST; pDevice->skb->pkt_type = PACKET_HOST;
pDevice->skb->protocol = htons(ETH_P_802_2); pDevice->skb->protocol = htons(ETH_P_802_2);
memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb)); memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb));

View file

@ -103,6 +103,9 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
PSDevice apdev_priv; PSDevice apdev_priv;
struct net_device *dev = pDevice->dev; struct net_device *dev = pDevice->dev;
int ret; int ret;
const struct net_device_ops apdev_netdev_ops = {
.ndo_start_xmit = pDevice->tx_80211,
};
DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name); DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name);
@ -115,9 +118,6 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
*apdev_priv = *pDevice; *apdev_priv = *pDevice;
memcpy(pDevice->apdev->dev_addr, dev->dev_addr, ETH_ALEN); memcpy(pDevice->apdev->dev_addr, dev->dev_addr, ETH_ALEN);
const struct net_device_ops apdev_netdev_ops = {
.ndo_start_xmit = pDevice->tx_80211,
};
pDevice->apdev->netdev_ops = &apdev_netdev_ops; pDevice->apdev->netdev_ops = &apdev_netdev_ops;
pDevice->apdev->type = ARPHRD_IEEE80211; pDevice->apdev->type = ARPHRD_IEEE80211;

View file

@ -117,10 +117,6 @@
/****** Misc macros ********************************************************/ /****** Misc macros ********************************************************/
// get the field offset in the type(struct, class, ...)
#define OFFSET(type, field) ((int)(&((type NEAR*)1)->field)-1)
/* string equality shorthand */ /* string equality shorthand */
#define STR_EQ(x, y) (strcmp(x, y) == 0) #define STR_EQ(x, y) (strcmp(x, y) == 0)
#define STR_NE(x, y) (strcmp(x, y) != 0) #define STR_NE(x, y) (strcmp(x, y) != 0)

View file

@ -1125,7 +1125,7 @@ s_vMgrRxAssocResponse(
); );
skb_put(pDevice->skb, sizeof(viawget_wpa_header) + wpahdr->resp_ie_len + wpahdr->req_ie_len); skb_put(pDevice->skb, sizeof(viawget_wpa_header) + wpahdr->resp_ie_len + wpahdr->req_ie_len);
pDevice->skb->dev = pDevice->wpadev; pDevice->skb->dev = pDevice->wpadev;
pDevice->skb->mac_header = pDevice->skb->data; skb_reset_mac_header(pDevice->skb);
pDevice->skb->pkt_type = PACKET_HOST; pDevice->skb->pkt_type = PACKET_HOST;
pDevice->skb->protocol = htons(ETH_P_802_2); pDevice->skb->protocol = htons(ETH_P_802_2);
memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb)); memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb));
@ -1761,7 +1761,7 @@ s_vMgrRxDisassociation(
wpahdr->req_ie_len = 0; wpahdr->req_ie_len = 0;
skb_put(pDevice->skb, sizeof(viawget_wpa_header)); skb_put(pDevice->skb, sizeof(viawget_wpa_header));
pDevice->skb->dev = pDevice->wpadev; pDevice->skb->dev = pDevice->wpadev;
pDevice->skb->mac_header = pDevice->skb->data; skb_reset_mac_header(pDevice->skb);
pDevice->skb->pkt_type = PACKET_HOST; pDevice->skb->pkt_type = PACKET_HOST;
pDevice->skb->protocol = htons(ETH_P_802_2); pDevice->skb->protocol = htons(ETH_P_802_2);
@ -1849,7 +1849,7 @@ s_vMgrRxDeauthentication(
wpahdr->req_ie_len = 0; wpahdr->req_ie_len = 0;
skb_put(pDevice->skb, sizeof(viawget_wpa_header)); skb_put(pDevice->skb, sizeof(viawget_wpa_header));
pDevice->skb->dev = pDevice->wpadev; pDevice->skb->dev = pDevice->wpadev;
pDevice->skb->mac_header = pDevice->skb->data; skb_reset_mac_header(pDevice->skb);
pDevice->skb->pkt_type = PACKET_HOST; pDevice->skb->pkt_type = PACKET_HOST;
pDevice->skb->protocol = htons(ETH_P_802_2); pDevice->skb->protocol = htons(ETH_P_802_2);
memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb)); memset(pDevice->skb->cb, 0, sizeof(pDevice->skb->cb));

View file

@ -170,7 +170,7 @@ WPA_ParseRSN (
if (pRSN->len >= 12) //oui1(4)+ver(2)+GKS(4)+PKSCnt(2) if (pRSN->len >= 12) //oui1(4)+ver(2)+GKS(4)+PKSCnt(2)
{ {
j = 0; j = 0;
DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO"wPKCount: %d, sizeof(pBSSList->abyPKType): %d\n", pRSN->wPKCount, sizeof(pBSSList->abyPKType)); DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO"wPKCount: %d, sizeof(pBSSList->abyPKType): %ld\n", pRSN->wPKCount, sizeof(pBSSList->abyPKType));
for(i = 0; (i < pRSN->wPKCount) && (j < sizeof(pBSSList->abyPKType)/sizeof(BYTE)); i++) { for(i = 0; (i < pRSN->wPKCount) && (j < sizeof(pBSSList->abyPKType)/sizeof(BYTE)); i++) {
if(pRSN->len >= 12+i*4+4) { //oui1(4)+ver(2)+GKS(4)+PKSCnt(2)+PKS(4*i) if(pRSN->len >= 12+i*4+4) { //oui1(4)+ver(2)+GKS(4)+PKSCnt(2)+PKS(4*i)
if (MEMEqualMemory(pRSN->PKSList[i].abyOUI, abyOUI00, 4)) if (MEMEqualMemory(pRSN->PKSList[i].abyOUI, abyOUI00, 4))
@ -201,7 +201,7 @@ WPA_ParseRSN (
// overlay IE_RSN_Auth structure into correct place // overlay IE_RSN_Auth structure into correct place
pIE_RSN_Auth = (PWLAN_IE_RSN_AUTH) pRSN->PKSList[m].abyOUI; pIE_RSN_Auth = (PWLAN_IE_RSN_AUTH) pRSN->PKSList[m].abyOUI;
j = 0; j = 0;
DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO"wAuthCount: %d, sizeof(pBSSList->abyAuthType): %d\n", DEVICE_PRT(MSG_LEVEL_DEBUG, KERN_INFO"wAuthCount: %d, sizeof(pBSSList->abyAuthType): %ld\n",
pIE_RSN_Auth->wAuthCount, sizeof(pBSSList->abyAuthType)); pIE_RSN_Auth->wAuthCount, sizeof(pBSSList->abyAuthType));
for(i = 0; (i < pIE_RSN_Auth->wAuthCount) && (j < sizeof(pBSSList->abyAuthType)/sizeof(BYTE)); i++) { for(i = 0; (i < pIE_RSN_Auth->wAuthCount) && (j < sizeof(pBSSList->abyAuthType)/sizeof(BYTE)); i++) {
if(pRSN->len >= 14+4+(m+i)*4) { //oui1(4)+ver(2)+GKS(4)+PKSCnt(2)+PKS(4*m)+AKC(2)+AKS(4*i) if(pRSN->len >= 14+4+(m+i)*4) { //oui1(4)+ver(2)+GKS(4)+PKSCnt(2)+PKS(4*m)+AKC(2)+AKS(4*i)