]> xenbits.xen.org Git - xenclient/build.git/commitdiff
[xc/wifi_backports] Update wifi drivers
authorThomas Horsten <thomas.horsten@citrix.com>
Sat, 26 Sep 2009 09:37:49 +0000 (10:37 +0100)
committerThomas Horsten <thomas.horsten@citrix.com>
Sat, 26 Sep 2009 09:40:10 +0000 (10:40 +0100)
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.

package/xenclient/wifi_backports/iwl5000-workaround-for-invalid-txb-idx.patch [deleted file]
package/xenclient/wifi_backports/wifi_backports.mk
package/xenclient/wifi_backports/xenkernel-compat.patch [new file with mode: 0644]
target/generic/target_xenclient_skeleton/lib/firmware/LICENSE.iwlwifi-5000-ucode [new file with mode: 0644]
target/generic/target_xenclient_skeleton/lib/firmware/iwlwifi-5000-2.ucode [new file with mode: 0644]

diff --git a/package/xenclient/wifi_backports/iwl5000-workaround-for-invalid-txb-idx.patch b/package/xenclient/wifi_backports/iwl5000-workaround-for-invalid-txb-idx.patch
deleted file mode 100644 (file)
index c65092a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
---- 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)) {
index 4f5026982bf5b4dfb65ec3d79fd81add3f5aecc0..c805cec3802d9ee1d660f90c852702e026194f71 100644 (file)
@@ -8,36 +8,45 @@
 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:
diff --git a/package/xenclient/wifi_backports/xenkernel-compat.patch b/package/xenclient/wifi_backports/xenkernel-compat.patch
new file mode 100644 (file)
index 0000000..ec98fa5
--- /dev/null
@@ -0,0 +1,40 @@
+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) */
diff --git a/target/generic/target_xenclient_skeleton/lib/firmware/LICENSE.iwlwifi-5000-ucode b/target/generic/target_xenclient_skeleton/lib/firmware/LICENSE.iwlwifi-5000-ucode
new file mode 100644 (file)
index 0000000..9be3904
--- /dev/null
@@ -0,0 +1,39 @@
+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
diff --git a/target/generic/target_xenclient_skeleton/lib/firmware/iwlwifi-5000-2.ucode b/target/generic/target_xenclient_skeleton/lib/firmware/iwlwifi-5000-2.ucode
new file mode 100644 (file)
index 0000000..9e76e0d
Binary files /dev/null and b/target/generic/target_xenclient_skeleton/lib/firmware/iwlwifi-5000-2.ucode differ