+Index: acx-20080210/pci.c
+===================================================================
+--- acx-20080210.orig/pci.c 2010-03-06 11:38:01.000000000 +0100
++++ acx-20080210/pci.c 2010-03-06 11:45:02.000000000 +0100
+@@ -4135,6 +4135,18 @@
+ { 0, 0, 0 },
+ };
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++static const struct net_device_ops acx_netdev_ops = {
++ .ndo_open = &acxpci_e_open,
++ .ndo_stop = &acxpci_e_close,
++ .ndo_start_xmit = &acx_i_start_xmit,
++ .ndo_get_stats = &acx_e_get_stats,
++ .ndo_set_multicast_list = &acxpci_i_set_multicast_list,
++ .ndo_tx_timeout = &acxpci_i_tx_timeout,
++ .ndo_change_mtu = &acx_e_change_mtu,
++};
++#endif
++
+ static __devinit int vlynq_probe(struct vlynq_device *vdev,
+ struct vlynq_device_id *id)
+ {
+@@ -4191,6 +4203,7 @@
+ goto fail_alloc_netdev;
+ }
+ ether_setup(ndev);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
+ ndev->open = &acxpci_e_open;
+ ndev->stop = &acxpci_e_close;
+ ndev->hard_start_xmit = &acx_i_start_xmit;
+@@ -4202,6 +4215,9 @@
+ ndev->set_multicast_list = &acxpci_i_set_multicast_list;
+ ndev->tx_timeout = &acxpci_i_tx_timeout;
+ ndev->change_mtu = &acx_e_change_mtu;
++#else
++ ndev->netdev_ops = &acx_netdev_ops;
++#endif
+ ndev->watchdog_timeo = 4 * HZ;
+
+ adev = ndev2adev(ndev);