rpms/kernel/devel git-iwlwifi.patch, 1.6, 1.7 git-wireless-dev.patch, 1.8, 1.9 kernel-2.6.spec, 1.3130, 1.3131 linux-2.6-warnings-inline.patch, 1.5, 1.6 git-iwlwifi-fixes.patch, 1.5, NONE linux-2.6-zd1211rw-mac80211-queue-limit.patch, 1.1, NONE
John W. Linville (linville)
fedora-extras-commits at redhat.com
Fri May 4 00:07:19 UTC 2007
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2584
Modified Files:
git-iwlwifi.patch git-wireless-dev.patch kernel-2.6.spec
linux-2.6-warnings-inline.patch
Removed Files:
git-iwlwifi-fixes.patch
linux-2.6-zd1211rw-mac80211-queue-limit.patch
Log Message:
important wireless fixes
git-iwlwifi.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.6 -r 1.7 git-iwlwifi.patch
Index: git-iwlwifi.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/git-iwlwifi.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- git-iwlwifi.patch 1 May 2007 13:05:24 -0000 1.6
+++ git-iwlwifi.patch 4 May 2007 00:06:43 -0000 1.7
@@ -1,19 +1,13 @@
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/base.c 2007-05-01 08:59:35.000000000 -0400
-@@ -0,0 +1,12341 @@
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/base.c 2007-05-03 16:58:50.000000000 -0400
+@@ -0,0 +1,12282 @@
+/******************************************************************************
+
-+ Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
++ Copyright(c) 2003 - 2007 Intel Corporation. All rights reserved.
+
+ Portions of this file are derived from the ipw3945 project, as well
+ as portions of the ieee80211 subsystem header files.
+
-+ 802.11 status code portion of this file from ethereal-0.10.6:
-+ Copyright 2000, Axis Communications AB
-+ Ethereal - Network traffic analyzer
-+ By Gerald Combs <gerald at ethereal.com>
-+ Copyright 1998 Gerald Combs
-+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
@@ -36,49 +30,6 @@
+
+******************************************************************************/
+
-+/*
-+ * Theory of operation:
-+ *
-+ * The primary NIC mode of operation is configured within the RXON command.
-+ * As such, there are two instances of RXON data -- staging_rxon and
-+ * active_rxon. The former is used to configure the device, the later to
-+ * reflect the actual currently active configuration.
-+ *
-+ * After configuring staging_rxon, it is activated by calling
-+ * ipw_commit_rxon(). The ipw_commit_rxon() will ensure the correct sequence
-+ * of commands are invoked on the hardware to result in Tx being possible
-+ * (if the channel is appropriate for Tx)
-+ *
-+ * About the threading and lock model of the driver...
-+ *
-+ * There are three paths of execution through the driver.
-+ *
-+ * 1. ioctl based (wireless extensions, netdev, etc.)
-+ * 2. interrupt based
-+ * 3. scheduled work queue items
-+ *
-+ * As soon as an interrupt comes in, it schedules a tasklet. That tasklet,
-+ * when run, does any HW checks, pulls any data from the read queue,
-+ * and schedules other layers to do the actual work.
-+ *
-+ * NOTE: This driver is a work in progress. It is currently structured
-+ * in a way that we can add support for the next wireless adapter
-+ * available from Intel.
-+ *
-+ * Our current focus is as follows:
-+ * 1. Get the driver working w/ mac80211 in STA(client) mode.
-+ * 2. Clean up the dual-driver code from function redirection to
-+ * if/else switches where the code detlas are minimal.
-+ * 3. Evaluate the amount of delta between the hardware versions and
-+ * possibly split iwlwifi into multiple drivers for each piece of
-+ * HW, sharing as much base code as possible (would result in
-+ * multiple driver files on disk vs. a single module that works
-+ * with multiple hardware types)
-+ * 4. Document the uCode regulatory enforcement
-+ * 5. Document the rate scaling capabilities of the 3945
-+ * 6. Provide an initial rate scaling algorithm tailored for the
-+ * statistic data exposed by the 3945.
-+ */
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/version.h>
@@ -92,14 +43,11 @@
+#include <linux/firmware.h>
+#include <net/iw_handler.h>
+
-+//#define BIT(x) (1 << (x))
+#include <net/mac80211.h>
+#include <net/ieee80211.h>
+
+#include <../net/mac80211/ieee80211_rate.h>
+
-+#include <net/ieee80211_radiotap.h>
-+
+#ifndef ETH_P_80211_RAW
+#define ETH_P_80211_RAW (ETH_P_ECONET + 1)
+#endif
@@ -108,11 +56,21 @@
+#include <asm/div64.h>
+
+#include "iwlwifi.h"
++#include "iwl-3945-rs.h"
++
++#if IWL == 3945
++#define DRV_DESCRIPTION \
++"Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux"
++#elif IWL == 4965
++#define DRV_DESCRIPTION \
++"Intel(R) Wireless WiFi Link 4965AGN driver for Linux"
++#else
++BUILD_BUG()
++#endif
+
+#define IWLWIFI_VERSION "0.0.16k"
+
-+#define DRV_DESCRIPTION "Intel(R) Wireless Link driver for Linux"
-+#define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation"
++#define DRV_COPYRIGHT "Copyright(c) 2003-2007 Intel Corporation"
+#define DRV_VERSION IWLWIFI_VERSION
+
+MODULE_DESCRIPTION(DRV_DESCRIPTION);
@@ -121,18 +79,15 @@
+MODULE_LICENSE("GPL");
+
+/*MAC80211 move this to mac80211 files */
-+#define IEEE80211_FC(type, stype) cpu_to_le16((type << 2) | (stype << 4))
+
+#define IEEE80211_CHAN_W_RADAR_DETECT 0x00000010
+
+#define IEEE80211_24GHZ_BAND (1<<0)
+#define IEEE80211_52GHZ_BAND (1<<1)
+
-+#define IEEE80211_OFDM_SHIFT_MASK_A 4
-+
+/*MAC80211 end */
+
-+static u32 ipw_debug_level;
++u32 iwl_debug_level;
+
+static int param_disable_hw_scan = 0;
+static int param_debug = 0;
@@ -156,7 +111,6 @@
+
+static int ipw_queue_tx_hcmd(struct ipw_priv *priv, struct ipw_host_cmd *cmd);
+
-+static int ipw_rate_scale_rxon_handle(struct ipw_priv *priv, s32 sta_id);
+static u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid);
+static void ipw_clear_stations_table(struct ipw_priv *priv);
+
@@ -264,7 +218,7 @@
+ const u8 *data = p;
+ char line[81];
+ u32 ofs = 0;
-+ if (!(ipw_debug_level & level))
++ if (!(iwl_debug_level & level))
+ return;
+
+ while (len) {
@@ -342,7 +296,6 @@
+
+/*MAC80211-END*/
+
-+#define IPW_RATE_SCALE_MAX_WINDOW 62
+/*
+ * IO, register, and NIC memory access functions
+ *
@@ -496,7 +449,7 @@
+ return __ipw_read_restricted(__LINE__, priv, reg);
+}
+
-+static void inline _ipw_write_restricted(struct ipw_priv *priv,
++static inline void _ipw_write_restricted(struct ipw_priv *priv,
+ u32 reg, u32 value)
+{
+ _ipw_write32(priv, reg, value);
@@ -552,6 +505,15 @@
+ return _ipw_read_restricted_reg(priv, reg);
+}
+
++#ifdef CONFIG_IWLWIFI_DEBUG
++#define ipw_read_restricted_reg(priv, reg) \
++ __ipw_read_restricted_reg(__LINE__, priv, reg)
++#else
++#define ipw_read_restricted_reg(priv, reg) \
++ _ipw_read_restricted_reg(priv, reg)
++#endif
++
++
+static inline void _ipw_write_restricted_reg(struct ipw_priv *priv,
+ u32 addr, u32 val)
+{
@@ -593,7 +555,7 @@
+#define _ipw_set_bits_mask_restricted_reg(priv, reg, bits, mask) \
+ _ipw_write_restricted_reg( \
+ priv, reg, ((_ipw_read_restricted_reg(priv, reg) & mask) | bits))
-+static void inline __ipw_set_bits_mask_restricted_reg(u32 line, struct ipw_priv
++static inline void __ipw_set_bits_mask_restricted_reg(u32 line, struct ipw_priv
+ *priv, u32 reg,
+ u32 bits, u32 mask)
+{
@@ -1414,7 +1376,7 @@
[...2095 lines suppressed...]
++ spin_lock_irqsave(&rs_priv->lq_mngr.lock, flags);
+
++ if (time_after(jiffies, rs_priv->lq_mngr.stamp +
++ rs_priv->lq_mngr.flush_time)) {
++ mod_timer(&rs_priv->rate_scale_flush,
++ jiffies + IPW_RATE_SCALE_WIN_FLUSH);
++ rs_priv->lq_mngr.stamp = jiffies;
+ }
+
-+ spin_unlock_irqrestore(&priv->lq_mngr.lock, flags);
-+
++ spin_unlock_irqrestore(&rs_priv->lq_mngr.lock, flags);
++
++ sta_info_put(sta);
++
+ IPW_DEBUG_RATE("leave\n");
+
+ return;
@@ -16488,15 +16487,15 @@
+ return &mode->rates[0];
+}
+
-+static u16 ipw_get_adjacent_rate(struct ipw_priv *priv,
++static u16 ipw_get_adjacent_rate(struct ipw_rate_scale_priv *rs_priv,
+ u8 index,
-+ u16 rate_mask)
++ u16 rate_mask, int phymode)
+{
+ u8 i;
+ u8 high = IPW_INVALID_RATE;
+ u8 low = IPW_INVALID_RATE;
+
-+ if (unlikely(priv->phymode == MODE_IEEE80211A)) {
++ if (unlikely(phymode == MODE_IEEE80211A)) {
+ for (i = index; i > 0; i--) {
+ if (rate_mask & (1 << (i - 1))) {
+ low = i - 1;
@@ -16514,10 +16513,10 @@
+ return (high << 8) | low;
+ }
+
-+ if (likely(priv->lq_mngr.next_lower_rate)) {
++ if (likely(rs_priv->lq_mngr.next_lower_rate)) {
+ low = index;
+ while (low != IPW_INVALID_RATE) {
-+ low = priv->lq_mngr.next_lower_rate[low];
++ low = rs_priv->lq_mngr.next_lower_rate[low];
+ if (low == IPW_INVALID_RATE)
+ break;
+ if (rate_mask & (1 << low))
@@ -16528,10 +16527,10 @@
+ }
+ }
+
-+ if (likely(priv->lq_mngr.next_higher_rate)) {
++ if (likely(rs_priv->lq_mngr.next_higher_rate)) {
+ high = index;
+ while (high != IPW_INVALID_RATE) {
-+ high = priv->lq_mngr.next_higher_rate[high];
++ high = rs_priv->lq_mngr.next_higher_rate[high];
+ if (high == IPW_INVALID_RATE)
+ break;
+ if (rate_mask & (1 << high))
@@ -16557,7 +16556,7 @@
+ u8 high = IPW_INVALID_RATE;
+ u16 high_low;
+ int index;
-+ struct ipw_rate_scale_priv *scale_priv;
++ struct ipw_rate_scale_priv *rs_priv;
+ struct ipw_rate_scale_data *window = NULL;
+ int current_tpt = IPW_INVALID_VALUE;
+ int low_tpt = IPW_INVALID_VALUE;
@@ -16598,26 +16597,25 @@
+ rate_mask = sta->supp_rates;
+ index = min(sta->txrate & 0xffff, IPW_MAX_RATES - 1);
+
-+ spin_lock_irqsave(&priv->lq_mngr.lock, flags);
++ rs_priv = (void *)sta->rate_ctrl_priv;
+
-+ scale_priv = (struct ipw_rate_scale_priv*)
-+ sta->rate_ctrl_priv;
++ spin_lock_irqsave(&rs_priv->lq_mngr.lock, flags);
+
-+ if (scale_priv->start_rate != IPW_INVALID_RATE) {
-+ index = scale_priv->start_rate;
-+ scale_priv->start_rate = IPW_INVALID_RATE;
++ if (rs_priv->start_rate != IPW_INVALID_RATE) {
++ index = rs_priv->start_rate;
++ rs_priv->start_rate = IPW_INVALID_RATE;
+ }
+
-+ window = &(scale_priv->win[index]);
++ window = &(rs_priv->win[index]);
+
+ fail_count = window->counter - window->success_counter;
+
+ if (((fail_count <= IPW_RATE_SCALE_MIN_FAILURE_TH) &&
+ (window->success_counter < IPW_RATE_SCALE_MIN_SUCCESS_TH))
-+ || (priv->lq_mngr.expected_tpt == NULL)) {
++ || (rs_priv->lq_mngr.expected_tpt == NULL)) {
+
+ window->average_tpt = IPW_INVALID_VALUE;
-+ spin_unlock_irqrestore(&priv->lq_mngr.lock, flags);
++ spin_unlock_irqrestore(&rs_priv->lq_mngr.lock, flags);
+
+ IPW_DEBUG_RATE("Invalid average_tpt on rate %d: "
+ "counter: %d, success_counter: %d, "
@@ -16625,28 +16623,29 @@
+ index,
+ window->counter,
+ window->success_counter,
-+ priv->lq_mngr.expected_tpt ? "not " : "");
++ rs_priv->lq_mngr.expected_tpt ? "not " : "");
+ goto out;
+
+ }
+
+ window->average_tpt = ((window->success_ratio *
-+ priv->lq_mngr.
++ rs_priv->lq_mngr.
+ expected_tpt[index] + 64) / 128);
+
-+ high_low = ipw_get_adjacent_rate(priv, index, rate_mask);
++ high_low = ipw_get_adjacent_rate(rs_priv, index, rate_mask,
++ local->hw.conf.phymode);
+ low = high_low & 0xff;
+ high = (high_low >> 8) & 0xff;
+
+ current_tpt = window->average_tpt;
+
+ if (low != IPW_INVALID_RATE)
-+ low_tpt = scale_priv->win[low].average_tpt;
++ low_tpt = rs_priv->win[low].average_tpt;
+
+ if (high != IPW_INVALID_RATE)
-+ high_tpt = scale_priv->win[high].average_tpt;
++ high_tpt = rs_priv->win[high].average_tpt;
+
-+ spin_unlock_irqrestore(&priv->lq_mngr.lock, flags);
++ spin_unlock_irqrestore(&rs_priv->lq_mngr.lock, flags);
+
+ scale_action = 1;
+
@@ -16725,28 +16724,41 @@
+
+
+static char* rs_name = "iwlwifi rate-scale";
-+static void ipw_set_rate_scale_handlers(struct ipw_priv *priv)
++extern void ipw_set_rate_scale_handlers(struct rate_control_ops *rs_ops)
++{
++ rs_ops->module = NULL;
++ rs_ops->name = rs_name;
++ rs_ops->tx_status = rs_tx_status;
++ rs_ops->get_rate = rs_get_rate;
++ rs_ops->rate_init = rs_rate_init;
++ rs_ops->clear = rs_clear;
++ rs_ops->alloc = rs_alloc;
++ rs_ops->free = rs_free;
++ rs_ops->alloc_sta = rs_alloc_sta;
++ rs_ops->free_sta = rs_free_sta;
++}
+--- linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/iwl-3945.c.orig 2007-05-03 16:59:03.000000000 -0400
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/iwl-3945.c 2007-05-03 16:58:50.000000000 -0400
+@@ -0,0 +1,10 @@
++/**
++ * NOTE
++ *
++ * This file is a temporary place holder to get the build system working
++ */
++
++void foo(void)
+{
-+ priv->rate_control.module = NULL;
-+ priv->rate_control.name = rs_name;
-+ priv->rate_control.tx_status = &rs_tx_status;
-+ priv->rate_control.get_rate = &rs_get_rate;
-+ priv->rate_control.rate_init = rs_rate_init;
-+ priv->rate_control.clear = rs_clear;
-+ priv->rate_control.alloc = rs_alloc;
-+ priv->rate_control.free = rs_free;
-+ priv->rate_control.alloc_sta = rs_alloc_sta;
-+ priv->rate_control.free_sta = rs_free_sta;
+}
---- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile.orig 2007-05-01 08:59:01.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile 2007-05-01 08:59:19.000000000 -0400
++
+--- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile.orig 2007-05-03 16:58:24.000000000 -0400
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile 2007-05-03 16:58:32.000000000 -0400
@@ -4,3 +4,4 @@ obj-$(CONFIG_ADM8211) += adm8211/
obj-$(CONFIG_P54_COMMON) += p54/
obj-$(CONFIG_ZD1211RW_MAC80211) += zd1211rw/
obj-$(CONFIG_RTL818X) += rtl818x/
+obj-$(CONFIG_IWLWIFI) += iwlwifi/
---- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig.orig 2007-05-01 08:59:01.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig 2007-05-01 08:59:19.000000000 -0400
+--- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig.orig 2007-05-03 16:58:24.000000000 -0400
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig 2007-05-03 16:58:32.000000000 -0400
@@ -4,3 +4,4 @@ source "drivers/net/wireless/mac80211/ad
source "drivers/net/wireless/mac80211/p54/Kconfig"
source "drivers/net/wireless/mac80211/zd1211rw/Kconfig"
git-wireless-dev.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.8 -r 1.9 git-wireless-dev.patch
Index: git-wireless-dev.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/git-wireless-dev.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- git-wireless-dev.patch 1 May 2007 00:44:04 -0000 1.8
+++ git-wireless-dev.patch 4 May 2007 00:06:43 -0000 1.9
@@ -1,9 +1,5 @@
-git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-dev.git
-
-commit 1fd8ffe72853ed41a0d3b489a2d94959aef6af80
-
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/net/mac80211.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/net/mac80211.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,1060 @@
+/*
+ * Low-level hardware driver -- IEEE 802.11 driver (80211.o) interface
@@ -1065,8 +1061,8 @@
+ ((u8*)(x))[3], ((u8*)(x))[4], ((u8*)(x))[5]
+
+#endif /* MAC80211_H */
---- linux-2.6.21.noarch/include/net/cfg80211.h.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/include/net/cfg80211.h 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/include/net/cfg80211.h.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/include/net/cfg80211.h 2007-05-03 16:26:43.000000000 -0400
@@ -11,6 +11,69 @@
* Copyright 2006 Johannes Berg <johannes at sipsolutions.net>
*/
@@ -1200,8 +1196,8 @@
+ u32 seq, int flags, u8 cmd);
+
#endif /* __NET_CFG80211_H */
---- linux-2.6.21.noarch/include/net/iw_handler.h.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/include/net/iw_handler.h 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/include/net/iw_handler.h.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/include/net/iw_handler.h 2007-05-03 16:26:43.000000000 -0400
@@ -431,7 +431,13 @@ struct iw_public_data {
* Those may be called only within the kernel.
*/
@@ -1217,8 +1213,8 @@
/* Send a single event to user space */
extern void wireless_send_event(struct net_device * dev,
---- linux-2.6.21.noarch/include/linux/nl80211.h.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/include/linux/nl80211.h 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/include/linux/nl80211.h.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/nl80211.h 2007-05-03 16:26:43.000000000 -0400
@@ -7,6 +7,217 @@
*/
@@ -1495,7 +1491,7 @@
+
#endif /* __LINUX_NL80211_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/eeprom_93cx6.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/eeprom_93cx6.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,77 @@
+/*
+ Copyright (C) 2004 - 2006 rt2x00 SourceForge Project
@@ -1575,7 +1571,7 @@
+extern void eeprom_93cx6_multiwrite(struct eeprom_93cx6 *eeprom,
+ const u8 word, __le16 *data, const u16 words);
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ieee80211.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ieee80211.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,403 @@
+/*
+ * IEEE 802.11 defines
@@ -1981,7 +1977,7 @@
+
+#endif /* IEEE80211_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/crc-itu-t.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/crc-itu-t.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,27 @@
+/*
+ * crc-itu-t.h - CRC ITU-T V.41 routine
@@ -2011,7 +2007,7 @@
+
+#endif /* CRC_ITU_T_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_extif.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_extif.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,163 @@
+/*
+ * Hardware-specific External Interface I/O core definitions
@@ -2177,7 +2173,7 @@
+#endif /* __KERNEL__ */
+#endif /* LINUX_SSB_EXTIFCORE_H_ */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ssb/ssb.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ssb/ssb.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,403 @@
+#ifndef LINUX_SSB_H_
+#define LINUX_SSB_H_
@@ -2583,7 +2579,7 @@
+#endif /* __KERNEL__ */
+#endif /* LINUX_SSB_H_ */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_pci.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_pci.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,108 @@
+#ifndef LINUX_SSB_PCICORE_H_
+#define LINUX_SSB_PCICORE_H_
@@ -2694,7 +2690,7 @@
+#endif /* __KERNEL__ */
+#endif /* LINUX_SSB_PCICORE_H_ */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ssb/ssb_regs.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ssb/ssb_regs.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,294 @@
+#ifndef LINUX_SSB_REGS_H_
+#define LINUX_SSB_REGS_H_
@@ -2991,7 +2987,7 @@
+#endif /* __KERNEL__ */
+#endif /* LINUX_SSB_REGS_H_ */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_mips.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_mips.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,47 @@
+#ifndef LINUX_SSB_MIPSCORE_H_
+#define LINUX_SSB_MIPSCORE_H_
@@ -3041,7 +3037,7 @@
+#endif /* __KERNEL__ */
+#endif /* LINUX_SSB_MIPSCORE_H_ */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_chipcommon.h 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/include/linux/ssb/ssb_driver_chipcommon.h 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,387 @@
+#ifndef LINUX_SSB_CHIPCO_H_
+#define LINUX_SSB_CHIPCO_H_
@@ -3430,8 +3426,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* LINUX_SSB_CHIPCO_H_ */
---- linux-2.6.21.noarch/CREDITS.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/CREDITS 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/CREDITS.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/CREDITS 2007-05-03 16:26:43.000000000 -0400
@@ -665,6 +665,11 @@ D: Minor updates to SCSI code for the Co
S: (ask for current address)
S: USA
@@ -3498,8 +3494,8 @@
N: Lars Wirzenius
E: liw at iki.fi
D: Linux System Administrator's Guide, author, former maintainer
---- linux-2.6.21.noarch/MAINTAINERS.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/MAINTAINERS 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/MAINTAINERS.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/MAINTAINERS 2007-05-03 16:26:43.000000000 -0400
@@ -296,6 +296,14 @@ M: corentin.labbe at geomatys.fr
L: lm-sensors at lm-sensors.org
S: Maintained
@@ -3591,15 +3587,15 @@
SONY VAIO CONTROL DEVICE DRIVER
P: Mattia Dongili
M: malattia at linux.it
---- linux-2.6.21.noarch/drivers/misc/Makefile.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/misc/Makefile 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/drivers/misc/Makefile.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/drivers/misc/Makefile 2007-05-03 16:26:43.000000000 -0400
@@ -12,3 +12,4 @@ obj-$(CONFIG_TIFM_CORE) += tifm_c
obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
obj-$(CONFIG_SGI_IOC4) += ioc4.o
obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o
+obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/drivers/misc/eeprom_93cx6.c 2007-04-30 20:04:50.000000000 -0400
++++ linux-2.6.21.noarch/drivers/misc/eeprom_93cx6.c 2007-05-03 16:26:43.000000000 -0400
@@ -0,0 +1,347 @@
+/*
+ Copyright (C) 2004 - 2006 rt2x00 SourceForge Project
@@ -3948,8 +3944,8 @@
+ eeprom_93cx6_write(eeprom, word + i, le16_to_cpu(data[i]));
+}
+EXPORT_SYMBOL_GPL(eeprom_93cx6_multiwrite);
---- linux-2.6.21.noarch/drivers/misc/Kconfig.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/misc/Kconfig 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/drivers/misc/Kconfig.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/drivers/misc/Kconfig 2007-05-03 16:26:43.000000000 -0400
@@ -122,4 +122,10 @@ config SONY_LAPTOP
Read <file:Documentation/sony-laptop.txt> for more information.
@@ -3961,15 +3957,15 @@
+ The driver supports both read as well as write commands.
+
endmenu
---- linux-2.6.21.noarch/drivers/Makefile.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/Makefile 2007-04-30 20:04:50.000000000 -0400
+--- linux-2.6.21.noarch/drivers/Makefile.orig 2007-05-03 16:26:02.000000000 -0400
++++ linux-2.6.21.noarch/drivers/Makefile 2007-05-03 16:26:43.000000000 -0400
@@ -82,3 +82,4 @@ obj-$(CONFIG_GENERIC_TIME) += clocksourc
obj-$(CONFIG_DMA_ENGINE) += dma/
obj-$(CONFIG_HID) += hid/
obj-$(CONFIG_PPC_PS3) += ps3/
+obj-$(CONFIG_SSB) += ssb/
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/drivers/usb/host/ohci-ssb.c 2007-04-30 20:04:50.000000000 -0400
[...2602 lines suppressed...]
++
++#endif /* _WME_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/debugfs_key.h 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/debugfs_key.h 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,34 @@
+#ifndef __MAC80211_DEBUGFS_KEY_H
+#define __MAC80211_DEBUGFS_KEY_H
@@ -69232,7 +69583,7 @@
+
+#endif /* __MAC80211_DEBUGFS_KEY_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_common.h 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_common.h 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,98 @@
+/*
+ * IEEE 802.11 driver (80211.o) -- hostapd interface
@@ -69333,7 +69684,7 @@
+
+#endif /* IEEE80211_COMMON_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/wep.c 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/wep.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,328 @@
+/*
+ * Software WEP encryption implementation
@@ -69664,8 +70015,8 @@
+ return NULL;
+}
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211.c 2007-04-30 20:05:14.000000000 -0400
-@@ -0,0 +1,5095 @@
++++ linux-2.6.21.noarch/net/mac80211/ieee80211.c 2007-05-03 16:28:27.000000000 -0400
+@@ -0,0 +1,5106 @@
+/*
+ * Copyright 2002-2005, Instant802 Networks, Inc.
+ * Copyright 2005-2006, Devicescape Software, Inc.
@@ -70619,7 +70970,7 @@
+
+ if (unlikely(!tx->u.tx.mgmt_interface && tx->sdata->ieee802_1x &&
+ !(sta_flags & WLAN_STA_AUTHORIZED))) {
-+#ifdef CONFIG_MAC80211_DEBUG
++#ifdef CONFIG_MAC80211_VERBOSE_DEBUG
+ printk(KERN_DEBUG "%s: dropped frame to " MAC_FMT
+ " (unauthorized port)\n", tx->dev->name,
+ MAC_ARG(hdr->addr1));
@@ -71835,6 +72186,16 @@
+ return 0;
+}
+
++enum netif_tx_lock_class {
++ TX_LOCK_NORMAL,
++ TX_LOCK_MASTER,
++};
++
++static inline void netif_tx_lock_nested(struct net_device *dev, int subclass)
++{
++ spin_lock_nested(&dev->_xmit_lock, subclass);
++ dev->xmit_lock_owner = smp_processor_id();
++}
+
+static void ieee80211_set_multicast_list(struct net_device *dev)
+{
@@ -71842,7 +72203,7 @@
+ struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+ unsigned short flags;
+
-+ netif_tx_lock(local->mdev);
++ netif_tx_lock_nested(local->mdev, TX_LOCK_MASTER);
+ if (((dev->flags & IFF_ALLMULTI) != 0) ^ (sdata->allmulti != 0)) {
+ if (sdata->allmulti) {
+ sdata->allmulti = 0;
@@ -74568,6 +74929,7 @@
+ sta_info_stop(local);
+fail_sta_info:
+ debugfs_hw_del(local);
++ destroy_workqueue(local->hw.workqueue);
+fail_workqueue:
+ wiphy_unregister(local->hw.wiphy);
+ return result;
@@ -74762,7 +75124,7 @@
+MODULE_DESCRIPTION("IEEE 802.11 subsystem");
+MODULE_LICENSE("GPL");
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_led.c 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_led.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2006, Johannes Berg <johannes at sipsolutions.net>
@@ -74856,7 +75218,7 @@
+}
+EXPORT_SYMBOL(__ieee80211_get_rx_led_name);
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_cfg.c 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_cfg.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,72 @@
+/*
+ * mac80211 configuration hooks for cfg80211
@@ -74931,8 +75293,8 @@
+ .del_virtual_intf = ieee80211_del_iface,
+};
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/debugfs_key.c 2007-04-30 20:04:51.000000000 -0400
-@@ -0,0 +1,253 @@
++++ linux-2.6.21.noarch/net/mac80211/debugfs_key.c 2007-05-03 16:26:44.000000000 -0400
+@@ -0,0 +1,252 @@
+/*
+ * Copyright 2003-2005 Devicescape Software, Inc.
+ * Copyright (c) 2006 Jiri Benc <jbenc at suse.cz>
@@ -74944,7 +75306,6 @@
+ */
+
+#include <linux/kobject.h>
-+#include <linux/sysfs.h>
+#include "ieee80211_i.h"
+#include "ieee80211_key.h"
+#include "debugfs.h"
@@ -75187,7 +75548,7 @@
+ key->debugfs.stalink = NULL;
+}
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/debugfs_sta.c 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/debugfs_sta.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,247 @@
+/*
+ * Copyright 2003-2005 Devicescape Software, Inc.
@@ -75437,7 +75798,7 @@
+ sta->debugfs.dir = NULL;
+}
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_rate.c 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_rate.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2002-2005, Instant802 Networks, Inc.
@@ -75580,7 +75941,7 @@
+ kref_put(&ref->kref, rate_control_release);
+}
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/wpa.c 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/wpa.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,846 @@
+/*
+ * Copyright 2002-2004, Instant802 Networks, Inc.
@@ -76429,7 +76790,7 @@
+}
+
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_rate.h 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_rate.h 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,144 @@
+/*
+ * Copyright 2002-2005, Instant802 Networks, Inc.
@@ -76576,7 +76937,7 @@
+
+#endif /* IEEE80211_RATE_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/tkip.h 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/tkip.h 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2002-2004, Instant802 Networks, Inc.
@@ -76615,7 +76976,7 @@
+
+#endif /* TKIP_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_sta.c 2007-04-30 20:05:14.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_sta.c 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,3217 @@
+/*
+ * BSS client mode implementation
@@ -79835,7 +80196,7 @@
+ return 0;
+}
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_cfg.h 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_cfg.h 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,9 @@
+/*
+ * mac80211 configuration hooks for cfg80211
@@ -79847,7 +80208,7 @@
+
+#endif /* __IEEE80211_CFG_H */
--- /dev/null 2007-04-17 21:17:54.747954992 -0400
-+++ linux-2.6.21.noarch/net/mac80211/debugfs.h 2007-04-30 20:04:51.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/debugfs.h 2007-05-03 16:26:44.000000000 -0400
@@ -0,0 +1,16 @@
+#ifndef __MAC80211_DEBUGFS_H
+#define __MAC80211_DEBUGFS_H
@@ -79865,8 +80226,8 @@
+#endif
+
+#endif /* __MAC80211_DEBUGFS_H */
---- linux-2.6.21.noarch/.mailmap.orig 2007-04-30 20:04:37.000000000 -0400
-+++ linux-2.6.21.noarch/.mailmap 2007-04-30 20:04:51.000000000 -0400
+--- linux-2.6.21.noarch/.mailmap.orig 2007-05-03 16:26:17.000000000 -0400
++++ linux-2.6.21.noarch/.mailmap 2007-05-03 16:26:44.000000000 -0400
@@ -57,6 +57,7 @@ Jean Tourrilhes <jt at hpl.hp.com>
Jeff Garzik <jgarzik at pretzel.yyz.us>
Jens Axboe <axboe at suse.de>
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.3130
retrieving revision 1.3131
diff -u -r1.3130 -r1.3131
--- kernel-2.6.spec 3 May 2007 23:20:49 -0000 1.3130
+++ kernel-2.6.spec 4 May 2007 00:06:43 -0000 1.3131
@@ -600,8 +600,6 @@
Patch2300: linux-2.6-wireless.patch
Patch2301: git-wireless-dev.patch
Patch2302: git-iwlwifi.patch
-Patch2303: git-iwlwifi-fixes.patch
-Patch2304: linux-2.6-zd1211rw-mac80211-queue-limit.patch
# Assorted dyntick/clock/timer fixes.
Patch2400: linux-2.6-highres-dyntick-avoid-xtime-lock-contention.patch
@@ -1354,10 +1352,6 @@
%patch2301 -p1
# ...and the iwlwifi driver from Intel
%patch2302 -p1
-# ...plus some fixes not yet in Intel's tree
-%patch2303 -p1
-# limite queueing of URBs to zd1211rw-mac80211 driver
-%patch2304 -p1
# Assorted dyntick/clock/timer fixes.
%patch2400 -p1
@@ -2339,6 +2333,13 @@
%endif
%changelog
+* Thu May 03 2007 John W. Linville <linville at redhat.com>
+- Update git-wireless-dev.patch (fix lockdep spew, zd1211rw-mac80211 fixes)
+- Remove linux-2.6-zd1211rw-mac80211-queue-limit.patch (obsolete)
+- Update git-iwlwifi.patch (signal level fixes, iwlwifi -> iwl3945 name change)
+- Remove git-iwlwifi-fixes.patch (obsolete)
+- Remove iwlwifi portions of linux-2.6-warnings-inline.patch (obsolete)
+
* Wed May 2 2007 Dave Jones <davej at redhat.com>
- Assorted dyntick/clock/timer fixes.
linux-2.6-warnings-inline.patch:
Index: linux-2.6-warnings-inline.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-warnings-inline.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- linux-2.6-warnings-inline.patch 16 Apr 2007 21:28:37 -0000 1.5
+++ linux-2.6-warnings-inline.patch 4 May 2007 00:06:43 -0000 1.6
@@ -488,52 +488,6 @@
{
stream_t *dma = &vortex->dma_wt[wtdma];
int temp;
---- linux-2.6.20.noarch/drivers/net/wireless/mac80211/iwlwifi/base.c~ 2007-04-04 19:31:32.000000000 -0400
-+++ linux-2.6.20.noarch/drivers/net/wireless/mac80211/iwlwifi/base.c 2007-04-04 19:31:51.000000000 -0400
-@@ -543,7 +543,7 @@ static u32 ipw_read_restricted(struct ip
- return __ipw_read_restricted(__LINE__, priv, reg);
- }
-
--static void inline _ipw_write_restricted(struct ipw_priv *priv,
-+static inline void _ipw_write_restricted(struct ipw_priv *priv,
- u32 reg, u32 value)
- {
- _ipw_write32(priv, reg, value);
-@@ -640,7 +640,7 @@ static void ipw_set_bits_restricted_reg(
- #define _ipw_set_bits_mask_restricted_reg(priv, reg, bits, mask) \
- _ipw_write_restricted_reg( \
- priv, reg, ((_ipw_read_restricted_reg(priv, reg) & mask) | bits))
--static void inline __ipw_set_bits_mask_restricted_reg(u32 line, struct ipw_priv
-+static inline void __ipw_set_bits_mask_restricted_reg(u32 line, struct ipw_priv
- *priv, u32 reg,
- u32 bits, u32 mask)
- {
---- linux-2.6.20.noarch/drivers/net/wireless/mac80211/iwlwifi/base.c~ 2007-04-04 19:31:53.000000000 -0400
-+++ linux-2.6.20.noarch/drivers/net/wireless/mac80211/iwlwifi/base.c 2007-04-04 19:32:15.000000000 -0400
-@@ -6626,12 +6626,12 @@ struct ipw_status_code {
- const char *reason;
- };
-
--static void inline average_init(struct average *avg)
-+static inline void average_init(struct average *avg)
- {
- memset(avg, 0, sizeof(*avg));
- }
-
--static void inline average_add(struct average *avg, s16 val)
-+static inline void average_add(struct average *avg, s16 val)
- {
- avg->sum -= avg->entries[avg->pos];
- avg->sum += val;
-@@ -6642,7 +6642,7 @@ static void inline average_add(struct av
- }
- }
-
--static s16 inline average_value(struct average *avg)
-+static inline s16 average_value(struct average *avg)
- {
- if (!unlikely(avg->init)) {
- if (avg->pos)
--- linux-2.6.20.noarch/net/mac80211/ieee80211.c~ 2007-04-04 19:32:30.000000000 -0400
+++ linux-2.6.20.noarch/net/mac80211/ieee80211.c 2007-04-04 19:32:51.000000000 -0400
@@ -1045,7 +1045,7 @@ ieee80211_tx_h_ps_buf(struct ieee80211_t
--- git-iwlwifi-fixes.patch DELETED ---
--- linux-2.6-zd1211rw-mac80211-queue-limit.patch DELETED ---
More information about the fedora-extras-commits
mailing list