struct ib_port_attr *props)
 {
        struct usnic_ib_dev *us_ibdev = to_usdev(ibdev);
-       struct ethtool_cmd cmd;
+       struct ethtool_link_ksettings cmd;
 
        usnic_dbg("\n");
 
        mutex_lock(&us_ibdev->usdev_lock);
-       __ethtool_get_settings(us_ibdev->netdev, &cmd);
+       __ethtool_get_link_ksettings(us_ibdev->netdev, &cmd);
        memset(props, 0, sizeof(*props));
 
        props->lid = 0;
        props->pkey_tbl_len = 1;
        props->bad_pkey_cntr = 0;
        props->qkey_viol_cntr = 0;
-       eth_speed_to_ib_speed(cmd.speed, &props->active_speed,
-                               &props->active_width);
+       eth_speed_to_ib_speed(cmd.base.speed, &props->active_speed,
+                             &props->active_width);
        props->max_mtu = IB_MTU_4096;
        props->active_mtu = iboe_get_mtu(us_ibdev->ufdev->mtu);
        /* Userspace will adjust for hdrs */