void (*remove) (struct ccwgroup_device *);
        int (*set_online)(struct qeth_card *card, bool carrier_ok);
        void (*set_offline)(struct qeth_card *card);
-       int (*do_ioctl)(struct net_device *dev, struct ifreq *rq,
-                       void __user *data, int cmd);
        int (*control_event_handler)(struct qeth_card *card,
                                        struct qeth_ipa_cmd *cmd);
 };
 
        return rc;
 }
 
-static int qeth_l3_do_ioctl(struct net_device *dev, struct ifreq *rq, void __user *data, int cmd)
+static int qeth_l3_ndo_siocdevprivate(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;
                rc = qeth_l3_arp_flush_cache(card);
                break;
        default:
-               rc = -EOPNOTSUPP;
+               rc = qeth_siocdevprivate(dev, rq, data, cmd);
        }
        return rc;
 }
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_rx_mode        = qeth_l3_set_rx_mode,
        .ndo_eth_ioctl          = qeth_do_ioctl,
-       .ndo_siocdevprivate     = qeth_siocdevprivate,
+       .ndo_siocdevprivate     = qeth_l3_ndo_siocdevprivate,
        .ndo_fix_features       = qeth_fix_features,
        .ndo_set_features       = qeth_set_features,
        .ndo_tx_timeout         = qeth_tx_timeout,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_rx_mode        = qeth_l3_set_rx_mode,
        .ndo_eth_ioctl          = qeth_do_ioctl,
-       .ndo_siocdevprivate     = qeth_siocdevprivate,
+       .ndo_siocdevprivate     = qeth_l3_ndo_siocdevprivate,
        .ndo_fix_features       = qeth_fix_features,
        .ndo_set_features       = qeth_set_features,
        .ndo_tx_timeout         = qeth_tx_timeout,
        .remove = qeth_l3_remove_device,
        .set_online = qeth_l3_set_online,
        .set_offline = qeth_l3_set_offline,
-       .do_ioctl = qeth_l3_do_ioctl,
        .control_event_handler = qeth_l3_control_event,
 };
 EXPORT_SYMBOL_GPL(qeth_l3_discipline);