qeth: use ndo_siocdevprivate
[linux-2.6-microblaze.git] / drivers / s390 / net / qeth_l3_main.c
index 7cc59f4..d7a8953 100644 (file)
@@ -1512,7 +1512,7 @@ static int qeth_l3_arp_flush_cache(struct qeth_card *card)
        return rc;
 }
 
-static int qeth_l3_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+static int qeth_l3_do_ioctl(struct net_device *dev, struct ifreq *rq, void __user *data, int cmd)
 {
        struct qeth_card *card = dev->ml_priv;
        struct qeth_arp_cache_entry arp_entry;
@@ -1532,13 +1532,13 @@ static int qeth_l3_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                        rc = -EPERM;
                        break;
                }
-               rc = qeth_l3_arp_query(card, rq->ifr_ifru.ifru_data);
+               rc = qeth_l3_arp_query(card, data);
                break;
        case SIOC_QETH_ARP_ADD_ENTRY:
        case SIOC_QETH_ARP_REMOVE_ENTRY:
                if (!capable(CAP_NET_ADMIN))
                        return -EPERM;
-               if (copy_from_user(&arp_entry, rq->ifr_data, sizeof(arp_entry)))
+               if (copy_from_user(&arp_entry, data, sizeof(arp_entry)))
                        return -EFAULT;
 
                arp_cmd = (cmd == SIOC_QETH_ARP_ADD_ENTRY) ?
@@ -1842,6 +1842,7 @@ static const struct net_device_ops qeth_l3_netdev_ops = {
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_rx_mode        = qeth_l3_set_rx_mode,
        .ndo_do_ioctl           = qeth_do_ioctl,
+       .ndo_siocdevprivate     = qeth_siocdevprivate,
        .ndo_fix_features       = qeth_fix_features,
        .ndo_set_features       = qeth_set_features,
        .ndo_tx_timeout         = qeth_tx_timeout,
@@ -1857,6 +1858,7 @@ static const struct net_device_ops qeth_l3_osa_netdev_ops = {
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_rx_mode        = qeth_l3_set_rx_mode,
        .ndo_do_ioctl           = qeth_do_ioctl,
+       .ndo_siocdevprivate     = qeth_siocdevprivate,
        .ndo_fix_features       = qeth_fix_features,
        .ndo_set_features       = qeth_set_features,
        .ndo_tx_timeout         = qeth_tx_timeout,