aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/neterion/vxge/vxge-main.c6
-rw-r--r--drivers/net/ethernet/neterion/vxge/vxge-main.h15
2 files changed, 12 insertions, 9 deletions
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c
index ef76725454d2..95fb61156e11 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-main.c
+++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c
@@ -2860,12 +2860,12 @@ static int vxge_open(struct net_device *dev)
2860 vdev->config.rx_pause_enable); 2860 vdev->config.rx_pause_enable);
2861 2861
2862 if (vdev->vp_reset_timer.function == NULL) 2862 if (vdev->vp_reset_timer.function == NULL)
2863 vxge_os_timer(vdev->vp_reset_timer, 2863 vxge_os_timer(&vdev->vp_reset_timer, vxge_poll_vp_reset, vdev,
2864 vxge_poll_vp_reset, vdev, (HZ/2)); 2864 HZ / 2);
2865 2865
2866 /* There is no need to check for RxD leak and RxD lookup on Titan1A */ 2866 /* There is no need to check for RxD leak and RxD lookup on Titan1A */
2867 if (vdev->titan1 && vdev->vp_lockup_timer.function == NULL) 2867 if (vdev->titan1 && vdev->vp_lockup_timer.function == NULL)
2868 vxge_os_timer(vdev->vp_lockup_timer, vxge_poll_vp_lockup, vdev, 2868 vxge_os_timer(&vdev->vp_lockup_timer, vxge_poll_vp_lockup, vdev,
2869 HZ / 2); 2869 HZ / 2);
2870 2870
2871 set_bit(__VXGE_STATE_CARD_UP, &vdev->state); 2871 set_bit(__VXGE_STATE_CARD_UP, &vdev->state);
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.h b/drivers/net/ethernet/neterion/vxge/vxge-main.h
index 372406cea25d..35f3e7552ec2 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-main.h
+++ b/drivers/net/ethernet/neterion/vxge/vxge-main.h
@@ -416,12 +416,15 @@ struct vxge_tx_priv {
416 static int p = val; \ 416 static int p = val; \
417 module_param(p, int, 0) 417 module_param(p, int, 0)
418 418
419#define vxge_os_timer(timer, handle, arg, exp) do { \ 419static inline
420 init_timer(&timer); \ 420void vxge_os_timer(struct timer_list *timer, void (*func)(unsigned long data),
421 timer.function = handle; \ 421 struct vxgedev *vdev, unsigned long timeout)
422 timer.data = (unsigned long) arg; \ 422{
423 mod_timer(&timer, (jiffies + exp)); \ 423 init_timer(timer);
424 } while (0) 424 timer->function = func;
425 timer->data = (unsigned long)vdev;
426 mod_timer(timer, jiffies + timeout);
427}
425 428
426void vxge_initialize_ethtool_ops(struct net_device *ndev); 429void vxge_initialize_ethtool_ops(struct net_device *ndev);
427enum vxge_hw_status vxge_reset_all_vpaths(struct vxgedev *vdev); 430enum vxge_hw_status vxge_reset_all_vpaths(struct vxgedev *vdev);