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

staging: rtl8192e: remove dead private call to _rtl92e_ioctl.



A RTL_IOCTL_WPA_SUPPLICANT call is a proprietary version of
wpa supplicant.

All kernel calls use SIOCSIWENCODEEXT call via wireless handlers
already used in this driver.

Remove dead code.

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4271eabb
Loading
Loading
Loading
Loading
+0 −126
Original line number Diff line number Diff line
@@ -2275,131 +2275,6 @@ static int _rtl92e_set_mac_adr(struct net_device *dev, void *mac)
	return 0;
}

/* based on ipw2200 driver */
static int _rtl92e_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
	struct r8192_priv *priv = rtllib_priv(dev);
	struct iwreq *wrq = (struct iwreq *)rq;
	int ret = -1;
	struct rtllib_device *ieee = priv->rtllib;
	u32 key[4];
	const u8 broadcast_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
	struct iw_point *p = &wrq->u.data;
	struct ieee_param *ipw = NULL;

	mutex_lock(&priv->wx_mutex);

	switch (cmd) {
	case RTL_IOCTL_WPA_SUPPLICANT:
		if (p->length < sizeof(struct ieee_param) || !p->pointer) {
			ret = -EINVAL;
			goto out;
		}

		ipw = memdup_user(p->pointer, p->length);
		if (IS_ERR(ipw)) {
			ret = PTR_ERR(ipw);
			goto out;
		}

		if (ipw->cmd == IEEE_CMD_SET_ENCRYPTION) {
			if (ipw->u.crypt.set_tx) {
				if (strcmp(ipw->u.crypt.alg, "CCMP") == 0)
					ieee->pairwise_key_type = KEY_TYPE_CCMP;
				else if (strcmp(ipw->u.crypt.alg, "TKIP") == 0)
					ieee->pairwise_key_type = KEY_TYPE_TKIP;
				else if (strcmp(ipw->u.crypt.alg, "WEP") == 0) {
					if (ipw->u.crypt.key_len == 13)
						ieee->pairwise_key_type =
							 KEY_TYPE_WEP104;
					else if (ipw->u.crypt.key_len == 5)
						ieee->pairwise_key_type =
							 KEY_TYPE_WEP40;
				} else {
					ieee->pairwise_key_type = KEY_TYPE_NA;
				}

				if (ieee->pairwise_key_type) {
					if (is_zero_ether_addr(ieee->ap_mac_addr))
						ieee->iw_mode = IW_MODE_ADHOC;
					memcpy((u8 *)key, ipw->u.crypt.key, 16);
					rtl92e_enable_hw_security_config(dev);
					rtl92e_set_swcam(dev, 4,
							 ipw->u.crypt.idx,
							 ieee->pairwise_key_type,
							 (u8 *)ieee->ap_mac_addr,
							 0, key, 0);
					rtl92e_set_key(dev, 4, ipw->u.crypt.idx,
						       ieee->pairwise_key_type,
						       (u8 *)ieee->ap_mac_addr,
						       0, key);
					if (ieee->iw_mode == IW_MODE_ADHOC) {
						rtl92e_set_swcam(dev,
								 ipw->u.crypt.idx,
								 ipw->u.crypt.idx,
								 ieee->pairwise_key_type,
								 (u8 *)ieee->ap_mac_addr,
								 0, key, 0);
						rtl92e_set_key(dev,
							       ipw->u.crypt.idx,
							       ipw->u.crypt.idx,
							       ieee->pairwise_key_type,
							       (u8 *)ieee->ap_mac_addr,
							       0, key);
					}
				}
				if ((ieee->pairwise_key_type ==
				     KEY_TYPE_CCMP) &&
				     ieee->pHTInfo->bCurrentHTSupport) {
					rtl92e_writeb(dev, 0x173, 1);
				}

			} else {
				memcpy((u8 *)key, ipw->u.crypt.key, 16);
				if (strcmp(ipw->u.crypt.alg, "CCMP") == 0)
					ieee->group_key_type = KEY_TYPE_CCMP;
				else if (strcmp(ipw->u.crypt.alg, "TKIP") == 0)
					ieee->group_key_type = KEY_TYPE_TKIP;
				else if (strcmp(ipw->u.crypt.alg, "WEP") == 0) {
					if (ipw->u.crypt.key_len == 13)
						ieee->group_key_type =
							 KEY_TYPE_WEP104;
					else if (ipw->u.crypt.key_len == 5)
						ieee->group_key_type =
							 KEY_TYPE_WEP40;
				} else
					ieee->group_key_type = KEY_TYPE_NA;

				if (ieee->group_key_type) {
					rtl92e_set_swcam(dev, ipw->u.crypt.idx,
							 ipw->u.crypt.idx,
							 ieee->group_key_type,
							 broadcast_addr, 0, key,
							 0);
					rtl92e_set_key(dev, ipw->u.crypt.idx,
						       ipw->u.crypt.idx,
						       ieee->group_key_type,
						       broadcast_addr, 0, key);
				}
			}
		}

		ret = rtllib_wpa_supplicant_ioctl(priv->rtllib, &wrq->u.data,
						  0);
		kfree(ipw);
		break;
	default:
		ret = -EOPNOTSUPP;
		break;
	}

out:
	mutex_unlock(&priv->wx_mutex);

	return ret;
}


static irqreturn_t _rtl92e_irq(int irq, void *netdev)
{
	struct net_device *dev = netdev;
@@ -2542,7 +2417,6 @@ static const struct net_device_ops rtl8192_netdev_ops = {
	.ndo_open = _rtl92e_open,
	.ndo_stop = _rtl92e_close,
	.ndo_tx_timeout = _rtl92e_tx_timeout,
	.ndo_do_ioctl = _rtl92e_ioctl,
	.ndo_set_rx_mode = _rtl92e_set_multicast,
	.ndo_set_mac_address = _rtl92e_set_mac_adr,
	.ndo_validate_addr = eth_validate_addr,
+0 −2
Original line number Diff line number Diff line
@@ -102,8 +102,6 @@

#define	PHY_RSSI_SLID_WIN_MAX			100

#define RTL_IOCTL_WPA_SUPPLICANT		(SIOCIWFIRSTPRIV + 30)

#define TxBBGainTableLength			37
#define CCKTxBBGainTableLength			23