Loading arch/powerpc/configs/ppc64_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -1000,7 +1000,6 @@ CONFIG_TIGON3=y CONFIG_SPIDER_NET=m CONFIG_GELIC_NET=m CONFIG_GELIC_WIRELESS=y # CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set # CONFIG_QLA3XXX is not set # CONFIG_ATL1 is not set # CONFIG_ATL1E is not set Loading arch/powerpc/configs/ps3_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -593,7 +593,6 @@ CONFIG_MII=m CONFIG_NETDEV_1000=y CONFIG_GELIC_NET=y CONFIG_GELIC_WIRELESS=y # CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set # CONFIG_NETDEV_10000 is not set # Loading drivers/net/Kconfig +0 −14 Original line number Diff line number Diff line Loading @@ -2368,20 +2368,6 @@ config GELIC_WIRELESS the driver automatically distinguishes the models, you can safely enable this option even if you have a wireless-less model. config GELIC_WIRELESS_OLD_PSK_INTERFACE bool "PS3 Wireless private PSK interface (OBSOLETE)" depends on GELIC_WIRELESS select WEXT_PRIV help This option retains the obsolete private interface to pass the PSK from user space programs to the driver. The PSK stands for 'Pre Shared Key' and is used for WPA[2]-PSK (WPA-Personal) environment. If WPA[2]-PSK is used and you need to use old programs that support only this old interface, say Y. Otherwise N. If unsure, say N. config FSL_PQ_MDIO tristate "Freescale PQ MDIO" depends on FSL_SOC Loading drivers/net/ps3_gelic_wireless.c +7 −142 Original line number Diff line number Diff line Loading @@ -1389,113 +1389,6 @@ static int gelic_wl_get_mode(struct net_device *netdev, return 0; } #ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE /* SIOCIWFIRSTPRIV */ static int hex2bin(u8 *str, u8 *bin, unsigned int len) { unsigned int i; static unsigned char *hex = "0123456789ABCDEF"; unsigned char *p, *q; u8 tmp; if (len != WPA_PSK_LEN * 2) return -EINVAL; for (i = 0; i < WPA_PSK_LEN * 2; i += 2) { p = strchr(hex, toupper(str[i])); q = strchr(hex, toupper(str[i + 1])); if (!p || !q) { pr_info("%s: unconvertible PSK digit=%d\n", __func__, i); return -EINVAL; } tmp = ((p - hex) << 4) + (q - hex); *bin++ = tmp; } return 0; }; static int gelic_wl_priv_set_psk(struct net_device *net_dev, struct iw_request_info *info, union iwreq_data *data, char *extra) { struct gelic_wl_info *wl = port_wl(netdev_priv(net_dev)); unsigned int len; unsigned long irqflag; int ret = 0; pr_debug("%s:<- len=%d\n", __func__, data->data.length); len = data->data.length - 1; if (len <= 2) return -EINVAL; spin_lock_irqsave(&wl->lock, irqflag); if (extra[0] == '"' && extra[len - 1] == '"') { pr_debug("%s: passphrase mode\n", __func__); /* pass phrase */ if (GELIC_WL_EURUS_PSK_MAX_LEN < (len - 2)) { pr_info("%s: passphrase too long\n", __func__); ret = -E2BIG; goto out; } memset(wl->psk, 0, sizeof(wl->psk)); wl->psk_len = len - 2; memcpy(wl->psk, &(extra[1]), wl->psk_len); wl->psk_type = GELIC_EURUS_WPA_PSK_PASSPHRASE; } else { ret = hex2bin(extra, wl->psk, len); if (ret) goto out; wl->psk_len = WPA_PSK_LEN; wl->psk_type = GELIC_EURUS_WPA_PSK_BIN; } set_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat); out: spin_unlock_irqrestore(&wl->lock, irqflag); pr_debug("%s:->\n", __func__); return ret; } static int gelic_wl_priv_get_psk(struct net_device *net_dev, struct iw_request_info *info, union iwreq_data *data, char *extra) { struct gelic_wl_info *wl = port_wl(netdev_priv(net_dev)); char *p; unsigned long irqflag; unsigned int i; pr_debug("%s:<-\n", __func__); if (!capable(CAP_NET_ADMIN)) return -EPERM; spin_lock_irqsave(&wl->lock, irqflag); p = extra; if (test_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat)) { if (wl->psk_type == GELIC_EURUS_WPA_PSK_BIN) { for (i = 0; i < wl->psk_len; i++) { sprintf(p, "%02xu", wl->psk[i]); p += 2; } *p = '\0'; data->data.length = wl->psk_len * 2; } else { *p++ = '"'; memcpy(p, wl->psk, wl->psk_len); p += wl->psk_len; *p++ = '"'; *p = '\0'; data->data.length = wl->psk_len + 2; } } else /* no psk set */ data->data.length = 0; spin_unlock_irqrestore(&wl->lock, irqflag); pr_debug("%s:-> %d\n", __func__, data->data.length); return 0; } #endif /* SIOCGIWNICKN */ static int gelic_wl_get_nick(struct net_device *net_dev, struct iw_request_info *info, Loading Loading @@ -1571,8 +1464,10 @@ static int gelic_wl_start_scan(struct gelic_wl_info *wl, int always_scan, init_completion(&wl->scan_done); /* * If we have already a bss list, don't try to get new * unless we are doing an ESSID scan */ if (!always_scan && wl->scan_stat == GELIC_WL_SCAN_STAT_GOT_LIST) { if ((!essid_len && !always_scan) && wl->scan_stat == GELIC_WL_SCAN_STAT_GOT_LIST) { pr_debug("%s: already has the list\n", __func__); complete(&wl->scan_done); goto out; Loading Loading @@ -1673,7 +1568,7 @@ static void gelic_wl_scan_complete_event(struct gelic_wl_info *wl) } } /* put them in the newtork_list */ /* put them in the network_list */ for (i = 0, scan_info_size = 0, scan_info = buf; scan_info_size < data_len; i++, scan_info_size += be16_to_cpu(scan_info->size), Loading Loading @@ -2009,7 +1904,7 @@ static int gelic_wl_do_wpa_setup(struct gelic_wl_info *wl) /* PSK type */ wpa->psk_type = cpu_to_be16(wl->psk_type); #ifdef DEBUG pr_debug("%s: sec=%s psktype=%s\nn", __func__, pr_debug("%s: sec=%s psktype=%s\n", __func__, wpasecstr(wpa->security), (wpa->psk_type == GELIC_EURUS_WPA_PSK_BIN) ? "BIN" : "passphrase"); Loading @@ -2019,9 +1914,9 @@ static int gelic_wl_do_wpa_setup(struct gelic_wl_info *wl) * the debug log because this dumps your precious * passphrase/key. */ pr_debug("%s: psk=%s\n", pr_debug("%s: psk=%s\n", __func__, (wpa->psk_type == GELIC_EURUS_WPA_PSK_BIN) ? (char *)"N/A" : (char *)wpa->psk); "N/A" : wpa->psk); #endif #endif /* issue wpa setup */ Loading Loading @@ -2406,40 +2301,10 @@ static const iw_handler gelic_wl_wext_handler[] = IW_IOCTL(SIOCGIWNICKN) = gelic_wl_get_nick, }; #ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE static struct iw_priv_args gelic_wl_private_args[] = { { .cmd = GELIC_WL_PRIV_SET_PSK, .set_args = IW_PRIV_TYPE_CHAR | (GELIC_WL_EURUS_PSK_MAX_LEN + 2), .name = "set_psk" }, { .cmd = GELIC_WL_PRIV_GET_PSK, .get_args = IW_PRIV_TYPE_CHAR | (GELIC_WL_EURUS_PSK_MAX_LEN + 2), .name = "get_psk" } }; static const iw_handler gelic_wl_private_handler[] = { gelic_wl_priv_set_psk, gelic_wl_priv_get_psk, }; #endif static const struct iw_handler_def gelic_wl_wext_handler_def = { .num_standard = ARRAY_SIZE(gelic_wl_wext_handler), .standard = gelic_wl_wext_handler, .get_wireless_stats = gelic_wl_get_wireless_stats, #ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE .num_private = ARRAY_SIZE(gelic_wl_private_handler), .num_private_args = ARRAY_SIZE(gelic_wl_private_args), .private = gelic_wl_private_handler, .private_args = gelic_wl_private_args, #endif }; static struct net_device * __devinit gelic_wl_alloc(struct gelic_card *card) Loading drivers/net/wireless/airo.c +18 −16 Original line number Diff line number Diff line Loading @@ -5254,11 +5254,7 @@ static int set_wep_key(struct airo_info *ai, u16 index, const char *key, WepKeyRid wkr; int rc; if (keylen == 0) { airo_print_err(ai->dev->name, "%s: key length to set was zero", __func__); return -1; } WARN_ON(keylen == 0); memset(&wkr, 0, sizeof(wkr)); wkr.len = cpu_to_le16(sizeof(wkr)); Loading Loading @@ -6405,11 +6401,7 @@ static int airo_set_encode(struct net_device *dev, if (dwrq->length > MIN_KEY_SIZE) key.len = MAX_KEY_SIZE; else if (dwrq->length > 0) key.len = MIN_KEY_SIZE; else /* Disable the key */ key.len = 0; /* Check if the key is not marked as invalid */ if(!(dwrq->flags & IW_ENCODE_NOKEY)) { /* Cleanup */ Loading Loading @@ -6590,14 +6582,24 @@ static int airo_set_encodeext(struct net_device *dev, default: return -EINVAL; } /* Send the key to the card */ if (key.len == 0) { rc = set_wep_tx_idx(local, idx, perm, 1); if (rc < 0) { airo_print_err(local->dev->name, "failed to set WEP transmit index to %d: %d.", idx, rc); return rc; } } else { rc = set_wep_key(local, idx, key.key, key.len, perm, 1); if (rc < 0) { airo_print_err(local->dev->name, "failed to set WEP key" " at index %d: %d.", idx, rc); airo_print_err(local->dev->name, "failed to set WEP key at index %d: %d.", idx, rc); return rc; } } } /* Read the flags */ if(encoding->flags & IW_ENCODE_DISABLED) Loading Loading
arch/powerpc/configs/ppc64_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -1000,7 +1000,6 @@ CONFIG_TIGON3=y CONFIG_SPIDER_NET=m CONFIG_GELIC_NET=m CONFIG_GELIC_WIRELESS=y # CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set # CONFIG_QLA3XXX is not set # CONFIG_ATL1 is not set # CONFIG_ATL1E is not set Loading
arch/powerpc/configs/ps3_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -593,7 +593,6 @@ CONFIG_MII=m CONFIG_NETDEV_1000=y CONFIG_GELIC_NET=y CONFIG_GELIC_WIRELESS=y # CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set # CONFIG_NETDEV_10000 is not set # Loading
drivers/net/Kconfig +0 −14 Original line number Diff line number Diff line Loading @@ -2368,20 +2368,6 @@ config GELIC_WIRELESS the driver automatically distinguishes the models, you can safely enable this option even if you have a wireless-less model. config GELIC_WIRELESS_OLD_PSK_INTERFACE bool "PS3 Wireless private PSK interface (OBSOLETE)" depends on GELIC_WIRELESS select WEXT_PRIV help This option retains the obsolete private interface to pass the PSK from user space programs to the driver. The PSK stands for 'Pre Shared Key' and is used for WPA[2]-PSK (WPA-Personal) environment. If WPA[2]-PSK is used and you need to use old programs that support only this old interface, say Y. Otherwise N. If unsure, say N. config FSL_PQ_MDIO tristate "Freescale PQ MDIO" depends on FSL_SOC Loading
drivers/net/ps3_gelic_wireless.c +7 −142 Original line number Diff line number Diff line Loading @@ -1389,113 +1389,6 @@ static int gelic_wl_get_mode(struct net_device *netdev, return 0; } #ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE /* SIOCIWFIRSTPRIV */ static int hex2bin(u8 *str, u8 *bin, unsigned int len) { unsigned int i; static unsigned char *hex = "0123456789ABCDEF"; unsigned char *p, *q; u8 tmp; if (len != WPA_PSK_LEN * 2) return -EINVAL; for (i = 0; i < WPA_PSK_LEN * 2; i += 2) { p = strchr(hex, toupper(str[i])); q = strchr(hex, toupper(str[i + 1])); if (!p || !q) { pr_info("%s: unconvertible PSK digit=%d\n", __func__, i); return -EINVAL; } tmp = ((p - hex) << 4) + (q - hex); *bin++ = tmp; } return 0; }; static int gelic_wl_priv_set_psk(struct net_device *net_dev, struct iw_request_info *info, union iwreq_data *data, char *extra) { struct gelic_wl_info *wl = port_wl(netdev_priv(net_dev)); unsigned int len; unsigned long irqflag; int ret = 0; pr_debug("%s:<- len=%d\n", __func__, data->data.length); len = data->data.length - 1; if (len <= 2) return -EINVAL; spin_lock_irqsave(&wl->lock, irqflag); if (extra[0] == '"' && extra[len - 1] == '"') { pr_debug("%s: passphrase mode\n", __func__); /* pass phrase */ if (GELIC_WL_EURUS_PSK_MAX_LEN < (len - 2)) { pr_info("%s: passphrase too long\n", __func__); ret = -E2BIG; goto out; } memset(wl->psk, 0, sizeof(wl->psk)); wl->psk_len = len - 2; memcpy(wl->psk, &(extra[1]), wl->psk_len); wl->psk_type = GELIC_EURUS_WPA_PSK_PASSPHRASE; } else { ret = hex2bin(extra, wl->psk, len); if (ret) goto out; wl->psk_len = WPA_PSK_LEN; wl->psk_type = GELIC_EURUS_WPA_PSK_BIN; } set_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat); out: spin_unlock_irqrestore(&wl->lock, irqflag); pr_debug("%s:->\n", __func__); return ret; } static int gelic_wl_priv_get_psk(struct net_device *net_dev, struct iw_request_info *info, union iwreq_data *data, char *extra) { struct gelic_wl_info *wl = port_wl(netdev_priv(net_dev)); char *p; unsigned long irqflag; unsigned int i; pr_debug("%s:<-\n", __func__); if (!capable(CAP_NET_ADMIN)) return -EPERM; spin_lock_irqsave(&wl->lock, irqflag); p = extra; if (test_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat)) { if (wl->psk_type == GELIC_EURUS_WPA_PSK_BIN) { for (i = 0; i < wl->psk_len; i++) { sprintf(p, "%02xu", wl->psk[i]); p += 2; } *p = '\0'; data->data.length = wl->psk_len * 2; } else { *p++ = '"'; memcpy(p, wl->psk, wl->psk_len); p += wl->psk_len; *p++ = '"'; *p = '\0'; data->data.length = wl->psk_len + 2; } } else /* no psk set */ data->data.length = 0; spin_unlock_irqrestore(&wl->lock, irqflag); pr_debug("%s:-> %d\n", __func__, data->data.length); return 0; } #endif /* SIOCGIWNICKN */ static int gelic_wl_get_nick(struct net_device *net_dev, struct iw_request_info *info, Loading Loading @@ -1571,8 +1464,10 @@ static int gelic_wl_start_scan(struct gelic_wl_info *wl, int always_scan, init_completion(&wl->scan_done); /* * If we have already a bss list, don't try to get new * unless we are doing an ESSID scan */ if (!always_scan && wl->scan_stat == GELIC_WL_SCAN_STAT_GOT_LIST) { if ((!essid_len && !always_scan) && wl->scan_stat == GELIC_WL_SCAN_STAT_GOT_LIST) { pr_debug("%s: already has the list\n", __func__); complete(&wl->scan_done); goto out; Loading Loading @@ -1673,7 +1568,7 @@ static void gelic_wl_scan_complete_event(struct gelic_wl_info *wl) } } /* put them in the newtork_list */ /* put them in the network_list */ for (i = 0, scan_info_size = 0, scan_info = buf; scan_info_size < data_len; i++, scan_info_size += be16_to_cpu(scan_info->size), Loading Loading @@ -2009,7 +1904,7 @@ static int gelic_wl_do_wpa_setup(struct gelic_wl_info *wl) /* PSK type */ wpa->psk_type = cpu_to_be16(wl->psk_type); #ifdef DEBUG pr_debug("%s: sec=%s psktype=%s\nn", __func__, pr_debug("%s: sec=%s psktype=%s\n", __func__, wpasecstr(wpa->security), (wpa->psk_type == GELIC_EURUS_WPA_PSK_BIN) ? "BIN" : "passphrase"); Loading @@ -2019,9 +1914,9 @@ static int gelic_wl_do_wpa_setup(struct gelic_wl_info *wl) * the debug log because this dumps your precious * passphrase/key. */ pr_debug("%s: psk=%s\n", pr_debug("%s: psk=%s\n", __func__, (wpa->psk_type == GELIC_EURUS_WPA_PSK_BIN) ? (char *)"N/A" : (char *)wpa->psk); "N/A" : wpa->psk); #endif #endif /* issue wpa setup */ Loading Loading @@ -2406,40 +2301,10 @@ static const iw_handler gelic_wl_wext_handler[] = IW_IOCTL(SIOCGIWNICKN) = gelic_wl_get_nick, }; #ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE static struct iw_priv_args gelic_wl_private_args[] = { { .cmd = GELIC_WL_PRIV_SET_PSK, .set_args = IW_PRIV_TYPE_CHAR | (GELIC_WL_EURUS_PSK_MAX_LEN + 2), .name = "set_psk" }, { .cmd = GELIC_WL_PRIV_GET_PSK, .get_args = IW_PRIV_TYPE_CHAR | (GELIC_WL_EURUS_PSK_MAX_LEN + 2), .name = "get_psk" } }; static const iw_handler gelic_wl_private_handler[] = { gelic_wl_priv_set_psk, gelic_wl_priv_get_psk, }; #endif static const struct iw_handler_def gelic_wl_wext_handler_def = { .num_standard = ARRAY_SIZE(gelic_wl_wext_handler), .standard = gelic_wl_wext_handler, .get_wireless_stats = gelic_wl_get_wireless_stats, #ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE .num_private = ARRAY_SIZE(gelic_wl_private_handler), .num_private_args = ARRAY_SIZE(gelic_wl_private_args), .private = gelic_wl_private_handler, .private_args = gelic_wl_private_args, #endif }; static struct net_device * __devinit gelic_wl_alloc(struct gelic_card *card) Loading
drivers/net/wireless/airo.c +18 −16 Original line number Diff line number Diff line Loading @@ -5254,11 +5254,7 @@ static int set_wep_key(struct airo_info *ai, u16 index, const char *key, WepKeyRid wkr; int rc; if (keylen == 0) { airo_print_err(ai->dev->name, "%s: key length to set was zero", __func__); return -1; } WARN_ON(keylen == 0); memset(&wkr, 0, sizeof(wkr)); wkr.len = cpu_to_le16(sizeof(wkr)); Loading Loading @@ -6405,11 +6401,7 @@ static int airo_set_encode(struct net_device *dev, if (dwrq->length > MIN_KEY_SIZE) key.len = MAX_KEY_SIZE; else if (dwrq->length > 0) key.len = MIN_KEY_SIZE; else /* Disable the key */ key.len = 0; /* Check if the key is not marked as invalid */ if(!(dwrq->flags & IW_ENCODE_NOKEY)) { /* Cleanup */ Loading Loading @@ -6590,14 +6582,24 @@ static int airo_set_encodeext(struct net_device *dev, default: return -EINVAL; } /* Send the key to the card */ if (key.len == 0) { rc = set_wep_tx_idx(local, idx, perm, 1); if (rc < 0) { airo_print_err(local->dev->name, "failed to set WEP transmit index to %d: %d.", idx, rc); return rc; } } else { rc = set_wep_key(local, idx, key.key, key.len, perm, 1); if (rc < 0) { airo_print_err(local->dev->name, "failed to set WEP key" " at index %d: %d.", idx, rc); airo_print_err(local->dev->name, "failed to set WEP key at index %d: %d.", idx, rc); return rc; } } } /* Read the flags */ if(encoding->flags & IW_ENCODE_DISABLED) Loading