diff options
| -rw-r--r-- | package/madwifi/patches/432-netdev_ops.patch (renamed from package/madwifi/patches/432-backport_oops.patch) | 37 | 
1 files changed, 34 insertions, 3 deletions
| diff --git a/package/madwifi/patches/432-backport_oops.patch b/package/madwifi/patches/432-netdev_ops.patch index 4118fd812..be361287d 100644 --- a/package/madwifi/patches/432-backport_oops.patch +++ b/package/madwifi/patches/432-netdev_ops.patch @@ -61,7 +61,7 @@ http://madwifi-project.org/changeset/4005   	case NETDEV_CHANGENAME:  --- a/net80211/ieee80211.c  +++ b/net80211/ieee80211.c -@@ -450,6 +450,17 @@ ieee80211_ifdetach(struct ieee80211com * +@@ -450,6 +450,18 @@ ieee80211_ifdetach(struct ieee80211com *   }   EXPORT_SYMBOL(ieee80211_ifdetach); @@ -73,13 +73,14 @@ http://madwifi-project.org/changeset/4005  +	.ndo_start_xmit		= ieee80211_hardstart,  +	.ndo_set_multicast_list = ieee80211_set_multicast_list,  +	.ndo_change_mtu 	= ieee80211_change_mtu, ++	.ndo_do_ioctl		= ieee80211_ioctl,  +};  +#endif  +   int   ieee80211_vap_setup(struct ieee80211com *ic, struct net_device *dev,   	const char *name, int opmode, int flags, struct ieee80211vap *master) -@@ -470,12 +481,16 @@ ieee80211_vap_setup(struct ieee80211com  +@@ -470,12 +482,17 @@ ieee80211_vap_setup(struct ieee80211com    		} else   			strncpy(dev->name, name, sizeof(dev->name));   	} @@ -90,13 +91,14 @@ http://madwifi-project.org/changeset/4005   	dev->stop = ieee80211_stop;   	dev->hard_start_xmit = ieee80211_hardstart;   	dev->set_multicast_list = ieee80211_set_multicast_list; ++	dev->do_ioctl = ieee80211_ioctl;  +#else  +	dev->netdev_ops = &ieee80211_netdev_ops;  +#endif   #if 0   	dev->set_mac_address = ieee80211_set_mac_address;   #endif -@@ -1823,7 +1838,11 @@ ieee80211_set_multicast_list(struct net_ +@@ -1823,7 +1840,11 @@ ieee80211_set_multicast_list(struct net_   	IEEE80211_UNLOCK_IRQ(ic);   	/* XXX: Merge multicast list into parent device */ @@ -125,3 +127,32 @@ http://madwifi-project.org/changeset/4005   	switch (event) {   	case NETDEV_CHANGENAME: +--- a/net80211/ieee80211_var.h ++++ b/net80211/ieee80211_var.h +@@ -740,6 +740,7 @@ void ieee80211_build_sc_ie(struct ieee80 + void ieee80211_dfs_action(struct ieee80211com *); + void ieee80211_expire_channel_excl_restrictions(struct ieee80211com *); + void ieee80211_setpuregbasicrates(struct ieee80211_rateset *rs); ++int ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); +  + /* +  * Iterate through ic_channels to enumerate all distinct ic_ieee channel numbers. +--- a/net80211/ieee80211_wireless.c ++++ b/net80211/ieee80211_wireless.c +@@ -5945,7 +5945,7 @@ static struct iw_handler_def ieee80211_i + /* +  * Handle private ioctl requests. +  */ +-static int ++int + ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) + { + 	struct ieee80211vap *vap = netdev_priv(dev); +@@ -6035,7 +6035,6 @@ ieee80211_ioctl_vattach(struct ieee80211 + { + 	struct net_device *dev = vap->iv_dev; +  +-	dev->do_ioctl = ieee80211_ioctl; + #if IW_HANDLER_VERSION < 7 + 	dev->get_wireless_stats = ieee80211_iw_getstats; + #endif | 
