|
@@ -37,7 +37,6 @@ static void wlan_deinitialize_threads(struct net_device *dev);
|
|
|
static void linux_wlan_tx_complete(void *priv, int status);
|
|
|
static int mac_init_fn(struct net_device *ndev);
|
|
|
static struct net_device_stats *mac_stats(struct net_device *dev);
|
|
|
-static int mac_ioctl(struct net_device *ndev, struct ifreq *req, int cmd);
|
|
|
static int wilc_mac_open(struct net_device *ndev);
|
|
|
static int wilc_mac_close(struct net_device *ndev);
|
|
|
static void wilc_set_multicast_list(struct net_device *dev);
|
|
@@ -49,7 +48,6 @@ static const struct net_device_ops wilc_netdev_ops = {
|
|
|
.ndo_open = wilc_mac_open,
|
|
|
.ndo_stop = wilc_mac_close,
|
|
|
.ndo_start_xmit = wilc_mac_xmit,
|
|
|
- .ndo_do_ioctl = mac_ioctl,
|
|
|
.ndo_get_stats = mac_stats,
|
|
|
.ndo_set_rx_mode = wilc_set_multicast_list,
|
|
|
|
|
@@ -1049,67 +1047,6 @@ static int wilc_mac_close(struct net_device *ndev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int mac_ioctl(struct net_device *ndev, struct ifreq *req, int cmd)
|
|
|
-{
|
|
|
- u8 *buff = NULL;
|
|
|
- s8 rssi;
|
|
|
- u32 size = 0;
|
|
|
- struct wilc_vif *vif;
|
|
|
- s32 ret = 0;
|
|
|
- struct wilc *wilc;
|
|
|
-
|
|
|
- vif = netdev_priv(ndev);
|
|
|
- wilc = vif->wilc;
|
|
|
-
|
|
|
- if (!wilc->initialized)
|
|
|
- return 0;
|
|
|
-
|
|
|
- switch (cmd) {
|
|
|
- case SIOCSIWPRIV:
|
|
|
- {
|
|
|
- struct iwreq *wrq = (struct iwreq *)req;
|
|
|
-
|
|
|
- size = wrq->u.data.length;
|
|
|
-
|
|
|
- if (size && wrq->u.data.pointer) {
|
|
|
- buff = memdup_user(wrq->u.data.pointer,
|
|
|
- wrq->u.data.length);
|
|
|
- if (IS_ERR(buff))
|
|
|
- return PTR_ERR(buff);
|
|
|
-
|
|
|
- if (strncasecmp(buff, "RSSI", size) == 0) {
|
|
|
- ret = wilc_get_rssi(vif, &rssi);
|
|
|
- netdev_info(ndev, "RSSI :%d\n", rssi);
|
|
|
-
|
|
|
- rssi += 5;
|
|
|
-
|
|
|
- snprintf(buff, size, "rssi %d", rssi);
|
|
|
-
|
|
|
- if (copy_to_user(wrq->u.data.pointer, buff, size)) {
|
|
|
- netdev_err(ndev, "failed to copy\n");
|
|
|
- ret = -EFAULT;
|
|
|
- goto done;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
- {
|
|
|
- netdev_info(ndev, "Command - %d - has been received\n", cmd);
|
|
|
- ret = -EOPNOTSUPP;
|
|
|
- goto done;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-done:
|
|
|
-
|
|
|
- kfree(buff);
|
|
|
-
|
|
|
- return ret;
|
|
|
-}
|
|
|
-
|
|
|
void wilc_frmw_to_linux(struct wilc *wilc, u8 *buff, u32 size, u32 pkt_offset)
|
|
|
{
|
|
|
unsigned int frame_len = 0;
|