--- src/wl/sys/wl_linux.c.orig.1 2009-07-12 13:28:30.000000000 -0700 +++ src/wl/sys/wl_linux.c 2009-07-12 15:46:52.000000000 -0700 @@ -222,9 +222,23 @@ }; #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31) +static const struct net_device_ops wl_net_device_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, +}; +#endif + static void wl_if_setup(struct net_device *dev) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31) dev->open = wl_open; dev->stop = wl_close; dev->hard_start_xmit = wl_start; @@ -232,6 +246,9 @@ dev->set_mac_address = wl_set_mac_address; dev->set_multicast_list = wl_set_multicast_list; dev->do_ioctl = wl_ioctl; +#else + dev->netdev_ops = &wl_net_device_ops; +#endif #ifdef CONFIG_WIRELESS_EXT #if WIRELESS_EXT < 19 dev->get_wireless_stats = wl_get_wireless_stats; --- src/wl/sys/wl_iw.c.orig.1 2009-07-12 13:40:51.000000000 -0700 +++ src/wl/sys/wl_iw.c 2009-07-12 15:46:39.000000000 -0700 @@ -124,7 +124,11 @@ fs = get_fs(); set_fs(get_ds()); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31) ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE); +#else + ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); +#endif set_fs(fs); return ret;