|
@@ -230,10 +230,10 @@ err:
|
|
|
return NETDEV_TX_BUSY;
|
|
|
}
|
|
|
|
|
|
-static void ntb_netdev_tx_timer(unsigned long data)
|
|
|
+static void ntb_netdev_tx_timer(struct timer_list *t)
|
|
|
{
|
|
|
- struct net_device *ndev = (struct net_device *)data;
|
|
|
- struct ntb_netdev *dev = netdev_priv(ndev);
|
|
|
+ struct ntb_netdev *dev = from_timer(dev, t, tx_timer);
|
|
|
+ struct net_device *ndev = dev->ndev;
|
|
|
|
|
|
if (ntb_transport_tx_free_entry(dev->qp) < tx_stop) {
|
|
|
mod_timer(&dev->tx_timer, jiffies + msecs_to_jiffies(tx_time));
|
|
@@ -269,7 +269,7 @@ static int ntb_netdev_open(struct net_device *ndev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- setup_timer(&dev->tx_timer, ntb_netdev_tx_timer, (unsigned long)ndev);
|
|
|
+ timer_setup(&dev->tx_timer, ntb_netdev_tx_timer, 0);
|
|
|
|
|
|
netif_carrier_off(ndev);
|
|
|
ntb_transport_link_up(dev->qp);
|