diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c --- a/src/wl/sys/wl_linux.c 2009-06-19 17:41:26 +0200 +++ b/src/wl/sys/wl_linux.c 2009-06-19 18:00:51 +0200 @@ -219,16 +219,20 @@ }; #endif +static const struct net_device_ops wl_netdev_ops = { + .ndo_open = wl_open, + .ndo_stop = wl_close, + .ndo_start_xmit = wl_start, + .ndo_get_stats = wl_get_stats, + .ndo_set_mac_address = wl_set_mac_address, + .ndo_set_multicast_list = wl_set_multicast_list, + .ndo_do_ioctl = wl_ioctl, +}; + static void wl_if_setup(struct net_device *dev) { - dev->open = wl_open; - dev->stop = wl_close; - dev->hard_start_xmit = wl_start; - dev->get_stats = wl_get_stats; - dev->set_mac_address = wl_set_mac_address; - dev->set_multicast_list = wl_set_multicast_list; - dev->do_ioctl = wl_ioctl; + dev->netdev_ops = &wl_netdev_ops; #ifdef CONFIG_WIRELESS_EXT #if WIRELESS_EXT < 19 dev->get_wireless_stats = wl_get_wireless_stats; diff -urN a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c --- a/src/wl/sys/wl_iw.c 2009-06-19 18:13:20 +0200 +++ b/src/wl/sys/wl_iw.c 2009-06-19 18:12:04 +0200 @@ -118,7 +118,7 @@ fs = get_fs(); set_fs(get_ds()); - ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE); + ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); set_fs(fs); return ret;