These are latest upstream drivers (24-Sep-2009). Contain the fix from the patch previously applied and various other
fixes.
Also bump Intel 5000 firmware to v2. Added patch to make compatibility layer work with Xen hybrid kernel.
+++ /dev/null
---- a/lbm/updates/compat-wireless-2.6/drivers/net/wireless/iwlwifi/iwl-5000.c 2009-09-21 16:47:31.755489303 +0200
-+++ b/lbm/updates/compat-wireless-2.6/drivers/net/wireless/iwlwifi/iwl-5000.c 2009-09-21 16:49:49.013488831 +0200
-@@ -1196,6 +1196,13 @@ static int iwl5000_tx_status_reply_tx(st
- agg->frame_count, txq_id, idx);
-
- hdr = iwl_tx_queue_get_hdr(priv, txq_id, idx);
-+ if (!hdr) {
-+ IWL_ERR(priv,
-+ "BUG_ON idx doesn't point to valid skb"
-+ " idx=%d, txq_id=%d\n",
-+ idx, txq_id);
-+ return -1;
-+ }
-
- sc = le16_to_cpu(hdr->seq_ctrl);
- if (idx != (SEQ_TO_SN(sc) & 0xff)) {
ifeq ($(BR2_XENCLIENT_KERNEL_VERSION_2_6_27),y)
ifeq ($(BR2_XENCLIENT_KERNEL_CONF_DOM0),y)
-WIFI_BACKPORTS_VERSION:=2.6.27-14.17
-WIFI_BACKPORTS_SITE:=http://uk.archive.ubuntu.com/ubuntu/pool/main/l/linux-backports-modules-2.6.27
-WIFI_BACKPORTS_SOURCE:=linux-backports-modules-2.6.27_$(WIFI_BACKPORTS_VERSION).tar.gz
-WIFI_BACKPORTS_DIR=$(BUILD_DIR)/linux-backport-modules-2.6.27_$(WIFI_BACKPORTS_VERSION)
+WIFI_BACKPORTS_VERSION:=2009-09-24
+WIFI_BACKPORTS_SITE:=http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/09
+WIFI_BACKPORTS_SOURCE:=compat-wireless-$(WIFI_BACKPORTS_VERSION).tar.bz2
+WIFI_BACKPORTS_DIR=$(BUILD_DIR)/compat-wireless-$(WIFI_BACKPORTS_VERSION)
$(DL_DIR)/$(WIFI_BACKPORTS_SOURCE):
$(WGET) -P $(DL_DIR) $(WIFI_BACKPORTS_SITE)/$(WIFI_BACKPORTS_SOURCE)
$(WIFI_BACKPORTS_DIR)/.unpacked: $(DL_DIR)/$(WIFI_BACKPORTS_SOURCE)
- mkdir -p $(WIFI_BACKPORTS_DIR)
- $(ZCAT) $(DL_DIR)/$(WIFI_BACKPORTS_SOURCE) | tar -C $(WIFI_BACKPORTS_DIR) $(TAR_OPTIONS) -
+ $(BZCAT) $(DL_DIR)/$(WIFI_BACKPORTS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(WIFI_BACKPORTS_DIR) package/xenclient/wifi_backports \*.patch
touch $@
$(WIFI_BACKPORTS_DIR)/.compiled: $(WIFI_BACKPORTS_DIR)/.unpacked
+ ( cd $(WIFI_BACKPORTS_DIR) && scripts/driver-select iwlwifi )
CROSS_COMPILE=${TARGET_CC:%gcc=%} \
- $(MAKE) -C $(WIFI_BACKPORTS_DIR)/lbm/updates/compat-wireless-2.6 \
+ $(MAKE) -C $(WIFI_BACKPORTS_DIR) \
ARCH=i386 \
- KLIB=$(TARGET_DIR)/lib/modules/ \
- KLIB_BUILD=$(XENCLIENT_KERNEL_BUILD) \
+ KLIB=$(TARGET_DIR)/lib/modules/2.6.27.23-0.1.1 \
MODPROBE=/bin/false \
modules
$(MAKE) -C $(XENCLIENT_KERNEL_BUILD) \
ARCH=i386 \
- INSTALL_MOD_PATH=$(TARGET_DIR) \
+ KLIB=$(TARGET_DIR)/lib/modules/2.6.27.23-0.1.1 \
+ MODPROBE=/bin/false \
+ M=$(WIFI_BACKPORTS_DIR) \
INSTALL_MOD_DIR=kernel \
- M=$(WIFI_BACKPORTS_DIR)/lbm/updates/compat-wireless-2.6 \
+ INSTALL_MOD_PATH=$(TARGET_DIR) \
modules_install
touch $@
+
+# $(MAKE) -C $(WIFI_BACKPORTS_DIR)/lbm/updates/compat-wireless-2.6 \
+# ARCH=i386 \
+# KLIB=$(TARGET_DIR)/lib/modules/ \
+# KLIB_BUILD=$(XENCLIENT_KERNEL_BUILD) \
+# MODPROBE=/bin/false \
+# modules
+
xenclient-wifi-backports: xenclient-kernel $(WIFI_BACKPORTS_DIR)/.compiled
xenclient-wifi-backports-clean:
--- /dev/null
+diff --git a/include/net/compat-2.6.28.h b/include/net/compat-2.6.28.h
+index e25259f..afbe2a1 100644
+--- a/include/net/compat-2.6.28.h
++++ b/include/net/compat-2.6.28.h
+@@ -149,6 +149,7 @@ static inline void skb_queue_splice_tail_init(struct sk_buff_head *list,
+ struct module;
+ struct tracepoint;
+
++#if 0
+ struct tracepoint {
+ const char *name; /* Tracepoint name */
+ int state; /* State. */
+@@ -186,7 +187,7 @@ struct tracepoint {
+ static inline void tracepoint_update_probe_range(struct tracepoint *begin,
+ struct tracepoint *end)
+ { }
+-
++#endif
+ #endif
+
+ unsigned long round_jiffies_up(unsigned long j);
+diff --git a/net/wireless/compat-2.6.28.c b/net/wireless/compat-2.6.28.c
+index 33871a2..2369fa1 100644
+--- a/net/wireless/compat-2.6.28.c
++++ b/net/wireless/compat-2.6.28.c
+@@ -222,6 +222,7 @@ void __iomem *pci_ioremap_bar(struct pci_dev *pdev, int bar)
+ }
+ EXPORT_SYMBOL_GPL(pci_ioremap_bar);
+
++#if 0
+ static unsigned long round_jiffies_common(unsigned long j, int cpu,
+ bool force_up)
+ {
+@@ -274,5 +275,6 @@ unsigned long round_jiffies_up(unsigned long j)
+ return round_jiffies_common(j, raw_smp_processor_id(), true);
+ }
+ EXPORT_SYMBOL_GPL(round_jiffies_up);
++#endif
+
+ #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) */
--- /dev/null
+Copyright (c) 2006-2009, Intel Corporation.\r
+All rights reserved.\r
+\r
+Redistribution. Redistribution and use in binary form, without \r
+modification, are permitted provided that the following conditions are \r
+met:\r
+\r
+* Redistributions must reproduce the above copyright notice and the \r
+ following disclaimer in the documentation and/or other materials \r
+ provided with the distribution. \r
+* Neither the name of Intel Corporation nor the names of its suppliers \r
+ may be used to endorse or promote products derived from this software \r
+ without specific prior written permission. \r
+* No reverse engineering, decompilation, or disassembly of this software \r
+ is permitted.\r
+\r
+Limited patent license. Intel Corporation grants a world-wide, \r
+royalty-free, non-exclusive license under patents it now or hereafter \r
+owns or controls to make, have made, use, import, offer to sell and \r
+sell ("Utilize") this software, but solely to the extent that any \r
+such patent is necessary to Utilize the software alone, or in \r
+combination with an operating system licensed under an approved Open \r
+Source license as listed by the Open Source Initiative at \r
+http://opensource.org/licenses. The patent license shall not apply to \r
+any other combinations which include this software. No hardware per \r
+se is licensed hereunder.\r
+\r
+DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \r
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, \r
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND \r
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE \r
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, \r
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, \r
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS \r
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND \r
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR \r
+TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE \r
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH \r
+DAMAGE.\r