Search Linux Wireless

[PATCH] compat-2.6: compat.diff update for master-2009-02-18 wireless-testing.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luis,

this patch makes compat-wireless work with the latest wireless-testing
again.
It also adds the at76c50x-usb driver.
I tested b43 with kernel 2.6.27 and rtl8187 with kernel 2.6.29-rc5.

--
Hauke
From 1bc134361dd56726fa3c9dfaeee2d59aa61f8a0d Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@xxxxxxxxxx>
Date: Thu, 19 Feb 2009 18:24:32 +0100
Subject: [PATCH] compat-wireless: compat.diff update for master-2009-02-18 wireless-testing.
 Revert commit 65949939dd23bcde83dc0fa56dd5932eda38c050 in wireless-testing for kernels older than 2.6.30.
 Add at76c50x-usb driver.

---
 Makefile                |   16 +-
 compat/compat.diff      |  513 +++++++++++++++++++++++++++++++++++++++++++++--
 config.mk               |   11 +-
 scripts/admin-update.sh |    5 +-
 4 files changed, 509 insertions(+), 36 deletions(-)

diff --git a/Makefile b/Makefile
index 95b404b..4b0a7e5 100644
--- a/Makefile
+++ b/Makefile
@@ -104,14 +104,16 @@ install: uninstall modules
 	@$(MODPROBE) -l cfg80211
 	@$(MODPROBE) -l lib80211
 	@$(MODPROBE) -l adm8211
-	@$(MODPROBE) -l at76_usb
+	@$(MODPROBE) -l at76c50x-usb
 	@$(MODPROBE) -l ath5k
 	@$(MODPROBE) -l ath9k
 	@$(MODPROBE) -l b43
 	@$(MODPROBE) -l b43legacy
+	@$(MODPROBE) -l b44
 	@$(MODPROBE) -l ssb
+	@$(MODPROBE) -l rc80211_simple
+	@$(MODPROBE) -l iwlcore
 	@$(MODPROBE) -l iwl3945
-	@$(MODPROBE) -l iwl4965
 	@$(MODPROBE) -l iwlagn
 	@$(MODPROBE) -l ipw2100
 	@$(MODPROBE) -l ipw2200
@@ -122,8 +124,8 @@ install: uninstall modules
 	@$(MODPROBE) -l libertas_tf
 	@$(MODPROBE) -l libertas_tf_usb
 	@$(MODPROBE) -l ub8xxx
-	@$(MODPROBE) -l p54_pci
-	@$(MODPROBE) -l p54_usb
+	@$(MODPROBE) -l p54pci
+	@$(MODPROBE) -l p54usb
 	@$(MODPROBE) -l rt2400pci
 	@$(MODPROBE) -l rt2500pci
 	@$(MODPROBE) -l rt2500usb
@@ -164,15 +166,16 @@ uninstall:
 	@$(MODPROBE) -l cfg80211
 	@$(MODPROBE) -l lib80211
 	@$(MODPROBE) -l adm8211
+	@$(MODPROBE) -l at76c50x-usb
 	@$(MODPROBE) -l ath5k
 	@$(MODPROBE) -l ath9k
-	@$(MODPROBE) -l at76_usb
 	@$(MODPROBE) -l b43
 	@$(MODPROBE) -l b43legacy
+	@$(MODPROBE) -l b44
 	@$(MODPROBE) -l ssb
 	@$(MODPROBE) -l rc80211_simple
+	@$(MODPROBE) -l iwlcore
 	@$(MODPROBE) -l iwl3945
-	@$(MODPROBE) -l iwl4965
 	@$(MODPROBE) -l iwlagn
 	@$(MODPROBE) -l ipw2100
 	@$(MODPROBE) -l ipw2200
@@ -182,7 +185,6 @@ uninstall:
 	@$(MODPROBE) -l libertas_cs
 	@$(MODPROBE) -l libertas_tf
 	@$(MODPROBE) -l libertas_tf_usb
-	@$(MODPROBE) -l mac80211
 	@$(MODPROBE) -l ub8xxx
 	@$(MODPROBE) -l p54pci
 	@$(MODPROBE) -l p54usb
diff --git a/compat/compat.diff b/compat/compat.diff
index 1b93356..ce98e63 100644
--- a/compat/compat.diff
+++ b/compat/compat.diff
@@ -93,25 +93,25 @@ diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
 index a0c860f..9c6f214 100644
 --- a/net/mac80211/wme.c
 +++ b/net/mac80211/wme.c
-@@ -124,6 +124,7 @@ u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb)
+@@ -122,6 +122,7 @@ u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb)
  	if (unlikely(queue >= local->hw.queues))
  		queue = local->hw.queues - 1;
  
 +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28))
- 	if (skb->requeue) {
- 		if (!hw->ampdu_queues)
- 			return queue;
-@@ -142,6 +143,7 @@ u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb)
- 
- 		return queue;
+ 	/*
+ 	 * Now we know the 1d priority, fill in the QoS header if
+ 	 * there is one (and we haven't done this before).
+@@ -137,6 +138,7 @@ u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb)
+ 		*p++ = ack_policy | tid;
+ 		*p = 0;
  	}
 +#endif
  
- 	/* Now we know the 1d priority, fill in the QoS header if
- 	 * there is one.
+ 	return queue;
+ }
 --- a/drivers/net/wireless/Makefile	2008-11-10 12:55:55.000000000 -0800
 +++ b/drivers/net/wireless/Makefile	2008-11-10 12:57:30.000000000 -0800
-@@ -5,41 +5,14 @@
+@@ -5,43 +5,17 @@
  obj-$(CONFIG_IPW2100) += ipw2x00/
  obj-$(CONFIG_IPW2200) += ipw2x00/
  
@@ -134,6 +134,8 @@ index a0c860f..9c6f214 100644
 -obj-$(CONFIG_PCI_ATMEL)         += atmel_pci.o 
 -obj-$(CONFIG_PCMCIA_ATMEL)      += atmel_cs.o
 -
+ obj-$(CONFIG_AT76C50X_USB)      += at76c50x-usb.o
+ 
 -obj-$(CONFIG_PRISM54)		+= prism54/
 -
 -obj-$(CONFIG_HOSTAP)		+= hostap/
@@ -146,7 +148,7 @@ index a0c860f..9c6f214 100644
 -# 16-bit wireless PCMCIA client drivers
 -obj-$(CONFIG_PCMCIA_RAYCS)	+= ray_cs.o
 -obj-$(CONFIG_PCMCIA_WL3501)	+= wl3501_cs.o
--
+ 
  obj-$(CONFIG_USB_NET_RNDIS_WLAN)	+= rndis_wlan.o
  
 -obj-$(CONFIG_USB_ZD1201)	+= zd1201.o
@@ -301,7 +303,7 @@ index a0c860f..9c6f214 100644
  
 --- a/net/mac80211/iface.c	2009-02-13 14:25:06.000000000 -0800
 +++ b/net/mac80211/iface.c	2009-02-13 14:25:08.000000000 -0800
-@@ -657,6 +657,7 @@
+@@ -667,6 +667,7 @@
  	WARN_ON(flushed);
  }
  
@@ -309,7 +311,7 @@ index a0c860f..9c6f214 100644
  static const struct net_device_ops ieee80211_dataif_ops = {
  	.ndo_open		= ieee80211_open,
  	.ndo_stop		= ieee80211_stop,
-@@ -676,11 +677,22 @@
+@@ -686,11 +687,22 @@
  	.ndo_change_mtu 	= ieee80211_change_mtu,
  	.ndo_set_mac_address 	= eth_mac_addr,
  };
@@ -332,7 +334,7 @@ index a0c860f..9c6f214 100644
  	dev->wireless_handlers = &ieee80211_iw_handler_def;
  	dev->destructor = free_netdev;
  }
-@@ -696,7 +708,11 @@
+@@ -706,7 +718,11 @@
  
  	/* and set some type-dependent values */
  	sdata->vif.type = type;
@@ -344,7 +346,7 @@ index a0c860f..9c6f214 100644
  	sdata->wdev.iftype = type;
  
  	/* only monitor differs */
-@@ -717,7 +733,11 @@
+@@ -729,7 +745,11 @@
  		break;
  	case NL80211_IFTYPE_MONITOR:
  		sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
@@ -356,7 +358,7 @@ index a0c860f..9c6f214 100644
  		sdata->u.mntr_flags = MONITOR_FLAG_CONTROL |
  				      MONITOR_FLAG_OTHER_BSS;
  		break;
-@@ -823,6 +843,10 @@
+@@ -836,6 +856,10 @@
  	if (ret)
  		goto fail;
  
@@ -369,7 +371,7 @@ index a0c860f..9c6f214 100644
  		ieee80211_sdata_set_mesh_id(sdata,
 --- a/net/mac80211/main.c	2009-02-13 14:25:06.000000000 -0800
 +++ b/net/mac80211/main.c	2009-02-13 14:25:08.000000000 -0800
-@@ -487,6 +487,7 @@
+@@ -488,6 +488,7 @@
  		return;
  	}
  
@@ -377,7 +379,7 @@ index a0c860f..9c6f214 100644
  	if (!test_sta_flags(sta, WLAN_STA_PS) && !skb->requeue) {
  		/* Software retry the packet once */
  		skb->requeue = 1;
-@@ -494,6 +495,7 @@
+@@ -495,6 +496,7 @@
  		dev_queue_xmit(skb);
  		return;
  	}
@@ -385,7 +387,7 @@ index a0c860f..9c6f214 100644
  
  #ifdef CONFIG_MAC80211_VERBOSE_DEBUG
  	if (net_ratelimit())
-@@ -797,6 +799,7 @@
+@@ -803,6 +805,7 @@
  }
  EXPORT_SYMBOL(ieee80211_alloc_hw);
  
@@ -393,7 +395,7 @@ index a0c860f..9c6f214 100644
  static const struct net_device_ops ieee80211_master_ops = {
  	.ndo_start_xmit = ieee80211_master_start_xmit,
  	.ndo_open = ieee80211_master_open,
-@@ -804,12 +807,22 @@
+@@ -810,12 +813,22 @@
  	.ndo_set_multicast_list = ieee80211_master_set_multicast_list,
  	.ndo_select_queue = ieee80211_select_queue,
  };
@@ -438,3 +440,474 @@ index a0c860f..9c6f214 100644
  
  	return ops;
  }
+diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
+index c157d60..40f86df 100644
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -21,6 +21,7 @@
+ #include "nl80211.h"
+ #include "reg.h"
+ 
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30))
+ static int nl80211_lock_doit(struct sk_buff *skb, struct genl_info *info)
+ {
+ 	rtnl_lock();
+@@ -38,6 +39,7 @@
+ 	rtnl_unlock();
+ }
+ 
++#endif
+ /* the netlink family */
+ static struct genl_family nl80211_fam = {
+ 	.id = GENL_ID_GENERATE,	/* don't bother with a hardcoded ID */
+@@ -45,10 +47,12 @@
+ 	.hdrsize = 0,		/* no private header */
+ 	.version = 1,		/* no particular meaning now */
+ 	.maxattr = NL80211_ATTR_MAX,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30))
+ 	.pre_doit = nl80211_lock_doit,
+ 	.pre_dumpit = nl80211_lock_dumpit,
+ 	.post_doit = nl80211_unlock,
+ 	.post_dumpit = nl80211_unlock,
++#endif
+ };
+ 
+ /* internal helper: get drv and dev */
+@@ -637,12 +641,18 @@
+ 			flags = &_flags;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++#endif
+ 	err = drv->ops->change_virtual_intf(&drv->wiphy, ifindex,
+ 					    type, flags, &params);
+ 
+ 	dev = __dev_get_by_index(&init_net, ifindex);
+ 	WARN_ON(!dev || (!err && dev->ieee80211_ptr->iftype != type));
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_unlock();
++#endif
+  unlock:
+ 	cfg80211_put_dev(drv);
+ 	return err;
+@@ -683,12 +693,18 @@
+ 		params.mesh_id_len = nla_len(info->attrs[NL80211_ATTR_MESH_ID]);
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++#endif
+ 	err = parse_monitor_flags(type == NL80211_IFTYPE_MONITOR ?
+ 				  info->attrs[NL80211_ATTR_MNTR_FLAGS] : NULL,
+ 				  &flags);
+ 	err = drv->ops->add_virtual_intf(&drv->wiphy,
+ 		nla_data(info->attrs[NL80211_ATTR_IFNAME]),
+ 		type, err ? NULL : &flags, &params);
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_unlock();
++#endif
+ 
+  unlock:
+ 	cfg80211_put_dev(drv);
+@@ -712,7 +728,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->del_virtual_intf(&drv->wiphy, ifindex);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->del_virtual_intf(&drv->wiphy, ifindex);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -797,8 +819,15 @@
+ 	if (mac_addr)
+ 		NLA_PUT(msg, NL80211_ATTR_MAC, ETH_ALEN, mac_addr);
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = drv->ops->get_key(&drv->wiphy, dev, key_idx, mac_addr,
+ 				&cookie, get_key_callback);
++	rtnl_unlock();
++#else
++	err = drv->ops->get_key(&drv->wiphy, dev, key_idx, mac_addr,
++				&cookie, get_key_callback);
++#endif
+ 
+ 	if (err)
+ 		goto out;
+@@ -858,7 +887,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = func(&drv->wiphy, dev, key_idx);
++	rtnl_unlock();
++#else
++	err = func(&drv->wiphy, dev, key_idx);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -941,7 +976,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->add_key(&drv->wiphy, dev, key_idx, mac_addr, &params);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->add_key(&drv->wiphy, dev, key_idx, mac_addr, &params);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -975,7 +1016,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->del_key(&drv->wiphy, dev, key_idx, mac_addr);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->del_key(&drv->wiphy, dev, key_idx, mac_addr);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1056,7 +1103,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = call(&drv->wiphy, dev, &params);
++	rtnl_unlock();
++#else
++	err = call(&drv->wiphy, dev, &params);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1079,7 +1132,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = drv->ops->del_beacon(&drv->wiphy, dev);
++	rtnl_unlock();
++#else
++	err = drv->ops->del_beacon(&drv->wiphy, dev);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1264,13 +1323,20 @@
+ 		goto out_err;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++#endif
+ 	while (1) {
+ 		err = dev->ops->dump_station(&dev->wiphy, netdev, sta_idx,
+ 					     mac_addr, &sinfo);
+ 		if (err == -ENOENT)
+ 			break;
+ 		if (err)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++			goto out_err_rtnl;
++#else
+ 			goto out_err;
++#endif
+ 
+ 		if (nl80211_send_station(skb,
+ 				NETLINK_CB(cb->skb).pid,
+@@ -1286,6 +1352,10 @@
+  out:
+ 	cb->args[1] = sta_idx;
+ 	err = skb->len;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++ out_err_rtnl:
++	rtnl_unlock();
++#endif
+  out_err:
+ 	cfg80211_put_dev(dev);
+  out_put_netdev:
+@@ -1319,7 +1389,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = drv->ops->get_station(&drv->wiphy, dev, mac_addr, &sinfo);
++	rtnl_unlock();
++#else
++	err = drv->ops->get_station(&drv->wiphy, dev, mac_addr, &sinfo);
++#endif
+ 
+ 	if (err)
+ 		goto out;
+@@ -1421,7 +1497,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = drv->ops->change_station(&drv->wiphy, dev, mac_addr, &params);
++	rtnl_unlock();
++#else
++	err = drv->ops->change_station(&drv->wiphy, dev, mac_addr, &params);
++#endif
+ 
+  out:
+ 	if (params.vlan)
+@@ -1482,7 +1564,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->add_station(&drv->wiphy, dev, mac_addr, &params);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->add_station(&drv->wiphy, dev, mac_addr, &params);
++#endif
+ 
+  out:
+ 	if (params.vlan)
+@@ -1511,7 +1599,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->del_station(&drv->wiphy, dev, mac_addr);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->del_station(&drv->wiphy, dev, mac_addr);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1611,13 +1705,20 @@
+ 		goto out_err;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++#endif
+ 	while (1) {
+ 		err = dev->ops->dump_mpath(&dev->wiphy, netdev, path_idx,
+ 					   dst, next_hop, &pinfo);
+ 		if (err == -ENOENT)
+ 			break;
+ 		if (err)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++			goto out_err_rtnl;
++#else
+ 			goto out_err;
++#endif
+ 
+ 		if (nl80211_send_mpath(skb, NETLINK_CB(cb->skb).pid,
+ 				       cb->nlh->nlmsg_seq, NLM_F_MULTI,
+@@ -1632,6 +1733,10 @@
+  out:
+ 	cb->args[1] = path_idx;
+ 	err = skb->len;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++ out_err_rtnl:
++	rtnl_unlock();
++#endif
+  out_err:
+ 	cfg80211_put_dev(dev);
+  out_put_netdev:
+@@ -1666,7 +1771,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->get_mpath(&drv->wiphy, dev, dst, next_hop, &pinfo);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->get_mpath(&drv->wiphy, dev, dst, next_hop, &pinfo);
++#endif
+ 
+ 	if (err)
+ 		goto out;
+@@ -1717,7 +1828,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->change_mpath(&drv->wiphy, dev, dst, next_hop);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->change_mpath(&drv->wiphy, dev, dst, next_hop);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1750,7 +1867,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->add_mpath(&drv->wiphy, dev, dst, next_hop);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->add_mpath(&drv->wiphy, dev, dst, next_hop);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1777,7 +1900,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = drv->ops->del_mpath(&drv->wiphy, dev, dst);
++	rtnl_unlock();
++#else
++	err = drv->ops->del_mpath(&drv->wiphy, dev, dst);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1823,7 +1952,13 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
+ 	err = drv->ops->change_bss(&drv->wiphy, dev, &params);
++	rtnl_unlock();
++#else
++	err = drv->ops->change_bss(&drv->wiphy, dev, &params);
++#endif
+ 
+  out:
+ 	cfg80211_put_dev(drv);
+@@ -1920,7 +2055,13 @@
+ 		return err;
+ 
+ 	/* Get the mesh params */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->get_mesh_params(&drv->wiphy, dev, &cur_params);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->get_mesh_params(&drv->wiphy, dev, &cur_params);
++#endif
+ 	if (err)
+ 		goto out;
+ 
+@@ -2066,7 +2207,13 @@
+ 			nla_get_u16);
+ 
+ 	/* Apply changes */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++	err = drv->ops->set_mesh_params(&drv->wiphy, dev, &cfg, mask);
++	rtnl_unlock();
++#else
+ 	err = drv->ops->set_mesh_params(&drv->wiphy, dev, &cfg, mask);
++#endif
+ 
+ 	/* cleanup */
+ 	cfg80211_put_dev(drv);
+@@ -2241,9 +2388,15 @@
+ 	if (err)
+ 		return err;
+ 
+-	if (drv->ops->set_mgmt_extra_ie)
++	if (drv->ops->set_mgmt_extra_ie) {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++		rtnl_lock();
+ 		err = drv->ops->set_mgmt_extra_ie(&drv->wiphy, dev, &params);
+-	else
++		rtnl_unlock();
++#else
++		err = drv->ops->set_mgmt_extra_ie(&drv->wiphy, dev, &params);
++#endif
++	} else
+ 		err = -EOPNOTSUPP;
+ 
+ 	cfg80211_put_dev(drv);
+@@ -2275,9 +2428,16 @@
+ 		goto out;
+ 	}
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++	rtnl_lock();
++#endif
+ 	if (drv->scan_req) {
+ 		err = -EBUSY;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++		goto out_unlock;
++#else
+ 		goto out;
++#endif
+ 	}
+ 
+ 	if (info->attrs[NL80211_ATTR_SCAN_FREQUENCIES]) {
+@@ -2285,7 +2445,11 @@
+ 			n_channels++;
+ 		if (!n_channels) {
+ 			err = -EINVAL;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++			goto out_unlock;
++#else
+ 			goto out;
++#endif
+ 		}
+ 	} else {
+ 		for (band = 0; band < IEEE80211_NUM_BANDS; band++)
+@@ -2299,7 +2463,11 @@
+ 
+ 	if (n_ssids > wiphy->max_scan_ssids) {
+ 		err = -EINVAL;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++		goto out_unlock;
++#else
+ 		goto out;
++#endif
+ 	}
+ 
+ 	if (info->attrs[NL80211_ATTR_IE])
+@@ -2313,7 +2481,11 @@
+ 			+ ie_len, GFP_KERNEL);
+ 	if (!request) {
+ 		err = -ENOMEM;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++		goto out_unlock;
++#else
+ 		goto out;
++#endif
+ 	}
+ 
+ 	request->channels = (void *)((char *)request + sizeof(*request));
+@@ -2384,6 +2556,10 @@
+ 		drv->scan_req = NULL;
+ 		kfree(request);
+ 	}
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
++ out_unlock:
++	rtnl_unlock();
++#endif
+  out:
+ 	cfg80211_put_dev(drv);
+ 	dev_put(dev);
diff --git a/config.mk b/config.mk
index 0e1546e..e9cdae7 100644
--- a/config.mk
+++ b/config.mk
@@ -113,21 +113,18 @@ CONFIG_ATH9K=m
 # CONFIG_ATH9K_DEBUG is not set
 
 
-CONFIG_IWLWIFI=y
-CONFIG_IWLCORE=m
+CONFIG_IWLWIFI=m
 CONFIG_IWLWIFI_LEDS=y
 # CONFIG_IWLWIFI_RFKILL=y
+CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y
 # CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEBUGFS is not set
 CONFIG_IWLAGN=m
-CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
-CONFIG_IWLAGN_LEDS=y
 CONFIG_IWL4965=y
 CONFIG_IWL5000=y
 CONFIG_IWL3945=m
-# CONFIG_IWL3945_RFKILL=y
 CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
 CONFIG_IWL3945_LEDS=y
-# CONFIG_IWL3945_DEBUG is not set
 
 
 CONFIG_B43=m
@@ -241,6 +238,8 @@ CONFIG_USB_NET_CDCETHER=m
 CONFIG_P54_USB=m
 CONFIG_RTL8187=m
 
+CONFIG_AT76C50X_USB=m
+
 
 # RT2500USB does not require firmware
 CONFIG_RT2500USB=m
diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh
index 5fa23c0..8eeef89 100755
--- a/scripts/admin-update.sh
+++ b/scripts/admin-update.sh
@@ -24,10 +24,8 @@ INCLUDE_LINUX="$INCLUDE_LINUX ath9k_platform.h"
 # For rndis_wext
 INCLUDE_LINUX_USB="usbnet.h rndis_host.h"
 
-# Stuff that should die or be merged, only ipw uses it
-INCLUDE_NET_OLD="ieee80211.h"
 # The good new yummy stuff
-INCLUDE_NET="$INCLUDE_NET_OLD cfg80211.h ieee80211_radiotap.h iw_handler.h"
+INCLUDE_NET="cfg80211.h ieee80211_radiotap.h iw_handler.h"
 INCLUDE_NET="$INCLUDE_NET mac80211.h wext.h wireless.h lib80211.h"
 
 NET_DIRS="wireless mac80211"
@@ -66,6 +64,7 @@ DRIVERS="$DRIVERS drivers/net/wireless/ipw2x00"
 DRIVER_FILES="adm8211.c  adm8211.h"
 DRIVER_FILES="$DRIVER_FILES rndis_wlan.c"
 DRIVER_FILES="$DRIVER_FILES mac80211_hwsim.c"
+DRIVER_FILES="$DRIVER_FILES at76c50x-usb.c at76c50x-usb.h"
 
 mkdir -p include/linux/ include/net/ include/linux/usb \
 	net/mac80211/ net/wireless/ \
-- 
1.5.6.3


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux