diff options
Diffstat (limited to 'drivers/staging/vt6655/wpactl.c')
-rw-r--r-- | drivers/staging/vt6655/wpactl.c | 148 |
1 files changed, 75 insertions, 73 deletions
diff --git a/drivers/staging/vt6655/wpactl.c b/drivers/staging/vt6655/wpactl.c index 5f454ca2a3bc..dab1e8078652 100644 --- a/drivers/staging/vt6655/wpactl.c +++ b/drivers/staging/vt6655/wpactl.c @@ -50,9 +50,6 @@ static const int frequency_list[] = { }; /*--------------------- Static Classes ----------------------------*/ -/*--------------------- Static Variables --------------------------*/ -static int msglevel = MSG_LEVEL_INFO; - /*--------------------- Static Functions --------------------------*/ /*--------------------- Export Variables --------------------------*/ @@ -83,13 +80,13 @@ static void wpadev_setup(struct net_device *dev) * */ -static int wpa_init_wpadev(PSDevice pDevice) +static int wpa_init_wpadev(struct vnt_private *pDevice) { - PSDevice wpadev_priv; + struct vnt_private *wpadev_priv; struct net_device *dev = pDevice->dev; int ret = 0; - pDevice->wpadev = alloc_netdev(sizeof(PSDevice), "vntwpa", + pDevice->wpadev = alloc_netdev(sizeof(*wpadev_priv), "vntwpa", NET_NAME_UNKNOWN, wpadev_setup); if (pDevice->wpadev == NULL) return -ENOMEM; @@ -103,8 +100,7 @@ static int wpa_init_wpadev(PSDevice pDevice) pDevice->wpadev->mem_end = dev->mem_end; ret = register_netdev(pDevice->wpadev); if (ret) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: register_netdev(WPA) failed!\n", - dev->name); + pr_debug("%s: register_netdev(WPA) failed!\n", dev->name); free_netdev(pDevice->wpadev); return -1; } @@ -115,8 +111,8 @@ static int wpa_init_wpadev(PSDevice pDevice) return -ENOMEM; } - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Registered netdev %s for WPA management\n", - dev->name, pDevice->wpadev->name); + pr_debug("%s: Registered netdev %s for WPA management\n", + dev->name, pDevice->wpadev->name); return 0; } @@ -134,7 +130,7 @@ static int wpa_init_wpadev(PSDevice pDevice) * */ -static int wpa_release_wpadev(PSDevice pDevice) +static int wpa_release_wpadev(struct vnt_private *pDevice) { if (pDevice->skb) { dev_kfree_skb(pDevice->skb); @@ -142,8 +138,8 @@ static int wpa_release_wpadev(PSDevice pDevice) } if (pDevice->wpadev) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Netdevice %s unregistered\n", - pDevice->dev->name, pDevice->wpadev->name); + pr_debug("%s: Netdevice %s unregistered\n", + pDevice->dev->name, pDevice->wpadev->name); unregister_netdev(pDevice->wpadev); free_netdev(pDevice->wpadev); pDevice->wpadev = NULL; @@ -166,7 +162,7 @@ static int wpa_release_wpadev(PSDevice pDevice) * */ -int wpa_set_wpadev(PSDevice pDevice, int val) +int wpa_set_wpadev(struct vnt_private *pDevice, int val) { if (val) return wpa_init_wpadev(pDevice); @@ -188,7 +184,7 @@ int wpa_set_wpadev(PSDevice pDevice, int val) * */ -int wpa_set_keys(PSDevice pDevice, void *ctx, +int wpa_set_keys(struct vnt_private *pDevice, void *ctx, bool fcpfkernel) __must_hold(&pDevice->lock) { struct viawget_wpa_param *param = ctx; @@ -196,7 +192,7 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, unsigned long dwKeyIndex = 0; unsigned char abyKey[MAX_KEY_LEN]; unsigned char abySeq[MAX_KEY_LEN]; - QWORD KeyRSC; + u64 KeyRSC; unsigned char byKeyDecMode = KEY_CTL_WEP; int ret = 0; int uu, ii; @@ -206,7 +202,7 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, param->u.wpa_key.seq_len > MAX_KEY_LEN) return -EINVAL; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "param->u.wpa_key.alg_name = %d\n", param->u.wpa_key.alg_name); + pr_debug("param->u.wpa_key.alg_name = %d\n", param->u.wpa_key.alg_name); if (param->u.wpa_key.alg_name == WPA_ALG_NONE) { pDevice->eEncryptionStatus = Ndis802_11EncryptionDisabled; pDevice->bEncryptionEnable = false; @@ -224,7 +220,9 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, } else { spin_unlock_irq(&pDevice->lock); if (param->u.wpa_key.key && - copy_from_user(&abyKey[0], param->u.wpa_key.key, param->u.wpa_key.key_len)) { + copy_from_user(&abyKey[0], + (void __user *)param->u.wpa_key.key, + param->u.wpa_key.key_len)) { spin_lock_irq(&pDevice->lock); return -EINVAL; } @@ -262,7 +260,9 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, } else { spin_unlock_irq(&pDevice->lock); if (param->u.wpa_key.seq && - copy_from_user(&abySeq[0], param->u.wpa_key.seq, param->u.wpa_key.seq_len)) { + copy_from_user(&abySeq[0], + (void __user *)param->u.wpa_key.seq, + param->u.wpa_key.seq_len)) { spin_lock_irq(&pDevice->lock); return -EINVAL; } @@ -272,15 +272,15 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, if (param->u.wpa_key.seq_len > 0) { for (ii = 0; ii < param->u.wpa_key.seq_len; ii++) { if (ii < 4) - LODWORD(KeyRSC) |= (abySeq[ii] << (ii * 8)); + KeyRSC |= (u64)(abySeq[ii] << (ii * 8)); else - HIDWORD(KeyRSC) |= (abySeq[ii] << ((ii-4) * 8)); + KeyRSC |= (u64)(abySeq[ii] << ((ii-4) * 8)); } dwKeyIndex |= 1 << 29; } if (param->u.wpa_key.key_index >= MAX_GROUP_KEY) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "return dwKeyIndex > 3\n"); + pr_debug("return dwKeyIndex > 3\n"); return -EINVAL; } @@ -300,7 +300,7 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, else byKeyDecMode = KEY_CTL_WEP; - // Fix HCT test that set 256 bits KEY and Ndis802_11Encryption3Enabled + /* Fix HCT test that set 256 bits KEY and Ndis802_11Encryption3Enabled */ if (pDevice->eEncryptionStatus == Ndis802_11Encryption3Enabled) { if (param->u.wpa_key.key_len == MAX_KEY_LEN) byKeyDecMode = KEY_CTL_TKIP; @@ -315,29 +315,29 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, byKeyDecMode = KEY_CTL_WEP; } - // Check TKIP key length + /* Check TKIP key length */ if ((byKeyDecMode == KEY_CTL_TKIP) && (param->u.wpa_key.key_len != MAX_KEY_LEN)) { - // TKIP Key must be 256 bits - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "return- TKIP Key must be 256 bits!\n"); + /* TKIP Key must be 256 bits */ + pr_debug("return- TKIP Key must be 256 bits!\n"); return -EINVAL; } - // Check AES key length + /* Check AES key length */ if ((byKeyDecMode == KEY_CTL_CCMP) && (param->u.wpa_key.key_len != AES_KEY_LEN)) { - // AES Key must be 128 bits + /* AES Key must be 128 bits */ return -EINVAL; } - // spin_lock_irq(&pDevice->lock); + /* spin_lock_irq(&pDevice->lock); */ if (is_broadcast_ether_addr(¶m->addr[0]) || (param->addr == NULL)) { - // If is_broadcast_ether_addr, set the key as every key entry's group key. - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Groupe Key Assign.\n"); + /* If is_broadcast_ether_addr, set the key as every key entry's group key. */ + pr_debug("Groupe Key Assign\n"); if (KeybSetAllGroupKey(&(pDevice->sKey), dwKeyIndex, param->u.wpa_key.key_len, - (PQWORD) &(KeyRSC), + (u64 *) &KeyRSC, (unsigned char *)abyKey, byKeyDecMode, pDevice->PortOffset, @@ -345,27 +345,27 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, KeybSetDefaultKey(&(pDevice->sKey), dwKeyIndex, param->u.wpa_key.key_len, - (PQWORD) &(KeyRSC), + (u64 *) &KeyRSC, (unsigned char *)abyKey, byKeyDecMode, pDevice->PortOffset, pDevice->byLocalID)) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "GROUP Key Assign.\n"); + pr_debug("GROUP Key Assign\n"); } else { return -EINVAL; } } else { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Pairwise Key Assign.\n"); - // BSSID not 0xffffffffffff - // Pairwise Key can't be WEP + pr_debug("Pairwise Key Assign\n"); + /* BSSID not 0xffffffffffff */ + /* Pairwise Key can't be WEP */ if (byKeyDecMode == KEY_CTL_WEP) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Pairwise Key can't be WEP\n"); + pr_debug("Pairwise Key can't be WEP\n"); return -EINVAL; } - dwKeyIndex |= (1 << 30); // set pairwise key + dwKeyIndex |= (1 << 30); /* set pairwise key */ if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA) return -EINVAL; @@ -373,18 +373,18 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, ¶m->addr[0], dwKeyIndex, param->u.wpa_key.key_len, - (PQWORD) &(KeyRSC), + (u64 *) &KeyRSC, (unsigned char *)abyKey, byKeyDecMode, pDevice->PortOffset, pDevice->byLocalID)) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Pairwise Key Set\n"); + pr_debug("Pairwise Key Set\n"); } else { - // Key Table Full + /* Key Table Full */ return -EINVAL; } - } // BSSID not 0xffffffffffff + } /* BSSID not 0xffffffffffff */ if ((ret == 0) && ((param->u.wpa_key.set_tx) != 0)) { pDevice->byKeyIndex = (unsigned char)param->u.wpa_key.key_index; pDevice->bTransmitKey = true; @@ -408,7 +408,7 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, * */ -static int wpa_set_wpa(PSDevice pDevice, +static int wpa_set_wpa(struct vnt_private *pDevice, struct viawget_wpa_param *param) { PSMgmtObject pMgmt = pDevice->pMgmt; @@ -433,7 +433,7 @@ static int wpa_set_wpa(PSDevice pDevice, * */ -static int wpa_set_disassociate(PSDevice pDevice, +static int wpa_set_disassociate(struct vnt_private *pDevice, struct viawget_wpa_param *param) { PSMgmtObject pMgmt = pDevice->pMgmt; @@ -462,7 +462,7 @@ static int wpa_set_disassociate(PSDevice pDevice, * */ -static int wpa_set_scan(PSDevice pDevice, +static int wpa_set_scan(struct vnt_private *pDevice, struct viawget_wpa_param *param) { spin_lock_irq(&pDevice->lock); @@ -487,7 +487,7 @@ static int wpa_set_scan(PSDevice pDevice, * */ -static int wpa_get_bssid(PSDevice pDevice, +static int wpa_get_bssid(struct vnt_private *pDevice, struct viawget_wpa_param *param) { PSMgmtObject pMgmt = pDevice->pMgmt; @@ -511,7 +511,7 @@ static int wpa_get_bssid(PSDevice pDevice, * */ -static int wpa_get_ssid(PSDevice pDevice, +static int wpa_get_ssid(struct vnt_private *pDevice, struct viawget_wpa_param *param) { PSMgmtObject pMgmt = pDevice->pMgmt; @@ -539,7 +539,7 @@ static int wpa_get_ssid(PSDevice pDevice, * */ -static int wpa_get_scan(PSDevice pDevice, +static int wpa_get_scan(struct vnt_private *pDevice, struct viawget_wpa_param *param) { struct viawget_scan_result *scan_buf; @@ -636,7 +636,7 @@ static int wpa_get_scan(PSDevice pDevice, ret = -EFAULT; param->u.scan_results.scan_count = count; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " param->u.scan_results.scan_count = %d\n", count); + pr_debug(" param->u.scan_results.scan_count = %d\n", count); kfree(pBuf); return ret; @@ -656,7 +656,7 @@ static int wpa_get_scan(PSDevice pDevice, * */ -static int wpa_set_associate(PSDevice pDevice, +static int wpa_set_associate(struct vnt_private *pDevice, struct viawget_wpa_param *param) { PSMgmtObject pMgmt = pDevice->pMgmt; @@ -665,13 +665,15 @@ static int wpa_set_associate(PSDevice pDevice, unsigned char abyWPAIE[64]; bool bWepEnabled = false; - // set key type & algorithm - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pairwise_suite = %d\n", param->u.wpa_associate.pairwise_suite); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "group_suite = %d\n", param->u.wpa_associate.group_suite); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "key_mgmt_suite = %d\n", param->u.wpa_associate.key_mgmt_suite); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "auth_alg = %d\n", param->u.wpa_associate.auth_alg); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "mode = %d\n", param->u.wpa_associate.mode); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wpa_ie_len = %d\n", param->u.wpa_associate.wpa_ie_len); + /* set key type & algorithm */ + pr_debug("pairwise_suite = %d\n", + param->u.wpa_associate.pairwise_suite); + pr_debug("group_suite = %d\n", param->u.wpa_associate.group_suite); + pr_debug("key_mgmt_suite = %d\n", + param->u.wpa_associate.key_mgmt_suite); + pr_debug("auth_alg = %d\n", param->u.wpa_associate.auth_alg); + pr_debug("mode = %d\n", param->u.wpa_associate.mode); + pr_debug("wpa_ie_len = %d\n", param->u.wpa_associate.wpa_ie_len); if (param->u.wpa_associate.wpa_ie_len) { if (!param->u.wpa_associate.wpa_ie) @@ -686,13 +688,13 @@ static int wpa_set_associate(PSDevice pDevice, pMgmt->eConfigMode = WMAC_CONFIG_IBSS_STA; else pMgmt->eConfigMode = WMAC_CONFIG_ESS_STA; - // set ssid + /* set ssid */ memset(pMgmt->abyDesireSSID, 0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1); pItemSSID = (PWLAN_IE_SSID)pMgmt->abyDesireSSID; pItemSSID->byElementID = WLAN_EID_SSID; pItemSSID->len = param->u.wpa_associate.ssid_len; memcpy(pItemSSID->abySSID, param->u.wpa_associate.ssid, pItemSSID->len); - // set bssid + /* set bssid */ if (memcmp(param->u.wpa_associate.bssid, &abyNullAddr[0], 6) != 0) memcpy(pMgmt->abyDesireBSSID, param->u.wpa_associate.bssid, 6); else @@ -800,7 +802,7 @@ static int wpa_set_associate(PSDevice pDevice, * */ -int wpa_ioctl(PSDevice pDevice, struct iw_point *p) +int wpa_ioctl(struct vnt_private *pDevice, struct iw_point *p) { struct viawget_wpa_param *param; int ret = 0; @@ -822,60 +824,60 @@ int wpa_ioctl(PSDevice pDevice, struct iw_point *p) switch (param->cmd) { case VIAWGET_SET_WPA: ret = wpa_set_wpa(pDevice, param); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_WPA\n"); + pr_debug("VIAWGET_SET_WPA\n"); break; case VIAWGET_SET_KEY: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_KEY\n"); + pr_debug("VIAWGET_SET_KEY\n"); spin_lock_irq(&pDevice->lock); ret = wpa_set_keys(pDevice, param, false); spin_unlock_irq(&pDevice->lock); break; case VIAWGET_SET_SCAN: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_SCAN\n"); + pr_debug("VIAWGET_SET_SCAN\n"); ret = wpa_set_scan(pDevice, param); break; case VIAWGET_GET_SCAN: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_GET_SCAN\n"); + pr_debug("VIAWGET_GET_SCAN\n"); ret = wpa_get_scan(pDevice, param); wpa_ioctl = 1; break; case VIAWGET_GET_SSID: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_GET_SSID\n"); + pr_debug("VIAWGET_GET_SSID\n"); ret = wpa_get_ssid(pDevice, param); wpa_ioctl = 1; break; case VIAWGET_GET_BSSID: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_GET_BSSID\n"); + pr_debug("VIAWGET_GET_BSSID\n"); ret = wpa_get_bssid(pDevice, param); wpa_ioctl = 1; break; case VIAWGET_SET_ASSOCIATE: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_ASSOCIATE\n"); + pr_debug("VIAWGET_SET_ASSOCIATE\n"); ret = wpa_set_associate(pDevice, param); break; case VIAWGET_SET_DISASSOCIATE: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_DISASSOCIATE\n"); + pr_debug("VIAWGET_SET_DISASSOCIATE\n"); ret = wpa_set_disassociate(pDevice, param); break; case VIAWGET_SET_DROP_UNENCRYPT: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_DROP_UNENCRYPT\n"); + pr_debug("VIAWGET_SET_DROP_UNENCRYPT\n"); break; case VIAWGET_SET_DEAUTHENTICATE: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "VIAWGET_SET_DEAUTHENTICATE\n"); + pr_debug("VIAWGET_SET_DEAUTHENTICATE\n"); break; default: - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wpa_ioctl: unknown cmd=%d\n", - param->cmd); + pr_debug("wpa_ioctl: unknown cmd=%d\n", + param->cmd); ret = -EOPNOTSUPP; goto out; } |