mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
wifi: atmel: remove unused ioctl function
This function has no callers, and for the past 20 years, the request_firmware interface has been in place instead of the custom firmware loader. Acked-by: Kalle Valo <kvalo@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20231011140225.253106-8-arnd@kernel.org
This commit is contained in:
parent
618071ae0f
commit
166ab7ca34
@ -571,7 +571,6 @@ static const struct {
|
||||
{ REG_DOMAIN_ISRAEL, 3, 9, "Israel"} };
|
||||
|
||||
static void build_wpa_mib(struct atmel_private *priv);
|
||||
static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
|
||||
static void atmel_copy_to_card(struct net_device *dev, u16 dest,
|
||||
const unsigned char *src, u16 len);
|
||||
static void atmel_copy_to_host(struct net_device *dev, unsigned char *dest,
|
||||
@ -1487,7 +1486,6 @@ static const struct net_device_ops atmel_netdev_ops = {
|
||||
.ndo_stop = atmel_close,
|
||||
.ndo_set_mac_address = atmel_set_mac_address,
|
||||
.ndo_start_xmit = start_tx,
|
||||
.ndo_do_ioctl = atmel_ioctl,
|
||||
.ndo_validate_addr = eth_validate_addr,
|
||||
};
|
||||
|
||||
@ -2616,76 +2614,6 @@ static const struct iw_handler_def atmel_handler_def = {
|
||||
.get_wireless_stats = atmel_get_wireless_stats
|
||||
};
|
||||
|
||||
static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
||||
{
|
||||
int i, rc = 0;
|
||||
struct atmel_private *priv = netdev_priv(dev);
|
||||
struct atmel_priv_ioctl com;
|
||||
struct iwreq *wrq = (struct iwreq *) rq;
|
||||
unsigned char *new_firmware;
|
||||
char domain[REGDOMAINSZ + 1];
|
||||
|
||||
switch (cmd) {
|
||||
case ATMELIDIFC:
|
||||
wrq->u.param.value = ATMELMAGIC;
|
||||
break;
|
||||
|
||||
case ATMELFWL:
|
||||
if (copy_from_user(&com, rq->ifr_data, sizeof(com))) {
|
||||
rc = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!capable(CAP_NET_ADMIN)) {
|
||||
rc = -EPERM;
|
||||
break;
|
||||
}
|
||||
|
||||
new_firmware = memdup_user(com.data, com.len);
|
||||
if (IS_ERR(new_firmware)) {
|
||||
rc = PTR_ERR(new_firmware);
|
||||
break;
|
||||
}
|
||||
|
||||
kfree(priv->firmware);
|
||||
|
||||
priv->firmware = new_firmware;
|
||||
priv->firmware_length = com.len;
|
||||
strncpy(priv->firmware_id, com.id, 31);
|
||||
priv->firmware_id[31] = '\0';
|
||||
break;
|
||||
|
||||
case ATMELRD:
|
||||
if (copy_from_user(domain, rq->ifr_data, REGDOMAINSZ)) {
|
||||
rc = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!capable(CAP_NET_ADMIN)) {
|
||||
rc = -EPERM;
|
||||
break;
|
||||
}
|
||||
|
||||
domain[REGDOMAINSZ] = 0;
|
||||
rc = -EINVAL;
|
||||
for (i = 0; i < ARRAY_SIZE(channel_table); i++) {
|
||||
if (!strcasecmp(channel_table[i].name, domain)) {
|
||||
priv->config_reg_domain = channel_table[i].reg_domain;
|
||||
rc = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (rc == 0 && priv->station_state != STATION_STATE_DOWN)
|
||||
rc = atmel_open(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
rc = -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
struct auth_body {
|
||||
__le16 alg;
|
||||
__le16 trans_seq;
|
||||
|
Loading…
Reference in New Issue
Block a user