diff options
Diffstat (limited to 'drivers/staging/vt6655/ioctl.c')
| -rw-r--r-- | drivers/staging/vt6655/ioctl.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/staging/vt6655/ioctl.c b/drivers/staging/vt6655/ioctl.c index 2ae8116869e..18d11d1f4fa 100644 --- a/drivers/staging/vt6655/ioctl.c +++ b/drivers/staging/vt6655/ioctl.c @@ -64,7 +64,6 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) PKnownBSS pBSS; PKnownNodeDB pNode; unsigned int ii, jj; - SCmdLinkStatus sLinkStatus; unsigned char abySuppRates[] = {WLAN_EID_SUPP_RATES, 4, 0x02, 0x04, 0x0B, 0x16}; unsigned char abyNullAddr[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; unsigned long dwKeyIndex = 0; @@ -245,10 +244,12 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) pDevice->eEncryptionStatus = Ndis802_11Encryption1Enabled; break; - case WLAN_CMD_GET_LINK: + case WLAN_CMD_GET_LINK: { + SCmdLinkStatus sLinkStatus; + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "WLAN_CMD_GET_LINK status.\n"); - memset(sLinkStatus.abySSID, 0 , WLAN_SSID_MAXLEN + 1); + memset(&sLinkStatus, 0, sizeof(sLinkStatus)); if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) sLinkStatus.wBSSType = ADHOC; @@ -277,7 +278,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) break; } break; - + } case WLAN_CMD_GET_LISTLEN: cbListCount = 0; pBSS = &(pMgmt->sBSSList[0]); @@ -304,7 +305,8 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) result = -EINVAL; break; } - pList = (PSBSSIDList)kmalloc(sizeof(SBSSIDList) + (sList.uItem * sizeof(SBSSIDItem)), (int)GFP_ATOMIC); + pList = (PSBSSIDList)kmalloc(sizeof(SBSSIDList) + (sList.uItem * sizeof(SBSSIDItem)), + GFP_ATOMIC); if (pList == NULL) { result = -ENOMEM; break; @@ -317,7 +319,6 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) pList->sBSSIDList[ii].uChannel = pBSS->uChannel; pList->sBSSIDList[ii].wBeaconInterval = pBSS->wBeaconInterval; pList->sBSSIDList[ii].wCapInfo = pBSS->wCapInfo; - /* pList->sBSSIDList[ii].uRSSI = pBSS->uRSSI; */ RFvRSSITodBm(pDevice, (unsigned char)(pBSS->uRSSI), &ldBm); pList->sBSSIDList[ii].uRSSI = (unsigned int)ldBm; memcpy(pList->sBSSIDList[ii].abyBSSID, pBSS->abyBSSID, WLAN_BSSID_LEN); @@ -459,7 +460,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) } if (sValue.dwValue == 1) { DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "up wpadev\n"); - memcpy(pDevice->wpadev->dev_addr, pDevice->dev->dev_addr, ETH_ALEN); + eth_hw_addr_inherit(pDevice->wpadev, pDevice->dev); pDevice->bWPADEVUp = true; } else { DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "close wpadev\n"); @@ -575,7 +576,8 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) result = -EINVAL; break; } - pNodeList = (PSNodeList)kmalloc(sizeof(SNodeList) + (sNodeList.uItem * sizeof(SNodeItem)), (int)GFP_ATOMIC); + pNodeList = (PSNodeList)kmalloc(sizeof(SNodeList) + (sNodeList.uItem * sizeof(SNodeItem)), + GFP_ATOMIC); if (pNodeList == NULL) { result = -ENOMEM; break; |
