rpms/kernel/F-7 git-iwlwifi.patch, 1.9, 1.10 kernel-2.6.spec, 1.3190, 1.3191 linux-2.6-mac80211-fixes.patch, 1.1, 1.2 linux-2.6-iwlwifi-irq_tasklet.patch, 1.2, NONE linux-2.6-iwlwifi-preferred_rate_control.patch, 1.1, NONE linux-2.6-mac80211-scan-optimizations.patch, 1.1, NONE
John W. Linville (linville)
fedora-extras-commits at redhat.com
Wed May 23 19:43:13 UTC 2007
Author: linville
Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5483
Modified Files:
git-iwlwifi.patch kernel-2.6.spec
linux-2.6-mac80211-fixes.patch
Removed Files:
linux-2.6-iwlwifi-irq_tasklet.patch
linux-2.6-iwlwifi-preferred_rate_control.patch
linux-2.6-mac80211-scan-optimizations.patch
Log Message:
update iwlwifi to 0.0.21
git-iwlwifi.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.9 -r 1.10 git-iwlwifi.patch
Index: git-iwlwifi.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/git-iwlwifi.patch,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- git-iwlwifi.patch 8 May 2007 00:53:17 -0000 1.9
+++ git-iwlwifi.patch 23 May 2007 19:42:37 -0000 1.10
@@ -1,106 +1,285 @@
-rsync://www.intellinuxwireless.org/repos/iwlwifi.git
-
-commit 7e788a8559862f74c07054851beb9b99ba721b16
-
---- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile.orig 2007-05-07 20:17:13.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile 2007-05-07 20:17:18.000000000 -0400
-@@ -4,3 +4,4 @@
+--- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile.orig 2007-05-23 15:11:24.000000000 -0400
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Makefile 2007-05-23 15:10:57.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-07 20:17:13.000000000 -0400
-+++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig 2007-05-07 20:17:18.000000000 -0400
-@@ -4,3 +4,4 @@
+--- linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig.orig 2007-05-23 15:11:10.000000000 -0400
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/Kconfig 2007-05-23 15:11:06.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"
source "drivers/net/wireless/mac80211/rtl818x/Kconfig"
+source "drivers/net/wireless/mac80211/iwlwifi/Kconfig"
---- /dev/null 2007-05-07 18:42:05.734656575 -0400
-+++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/Makefile 2007-05-07 20:17:18.000000000 -0400
-@@ -0,0 +1,15 @@
+--- linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/iwl-channel.h.orig 2007-05-23 15:09:42.000000000 -0400
++++ linux-2.6.21.noarch/drivers/net/wireless/mac80211/iwlwifi/iwl-channel.h 2007-05-23 15:09:35.000000000 -0400
+@@ -0,0 +1,161 @@
++/******************************************************************************
++ *
++ * Copyright(c) 2005 - 2007 Intel Corporation. All rights reserved.
++ *
++ * 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.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
++ * more details.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
++ *
++ * The full GNU General Public License is included in this distribution in the
++ * file called LICENSE.
++ *
++ * Contact Information:
++ * James P. Ketrenos <ipw2100-admin at linux.intel.com>
++ * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
++ *
++ *****************************************************************************/
++#ifndef __iwl_channel_h__
++#define __iwl_channel_h__
++
++#define IWL_NUM_SCAN_RATES (2)
++
++struct iwl_channel_tgd_info {
++ u8 type;
++ s8 max_power;
++};
++
++struct iwl_channel_tgh_info {
++ s64 last_radar_time;
++};
++
++/* current Tx power values to use, one for each rate for each channel.
++ * requested power is limited by:
++ * -- regulatory EEPROM limits for this channel
++ * -- hardware capabilities (clip-powers)
++ * -- spectrum management
++ * -- user preference (e.g. iwconfig)
++ * when requested power is set, base power index must also be set. */
++struct iwl_channel_power_info {
++ struct iwl_tx_power tpc; /* actual radio and DSP gain settings */
++ s8 power_table_index; /* actual (compenst'd) index into gain table */
++ s8 base_power_index; /* gain index for power at factory temp. */
++ s8 requested_power; /* power (dBm) requested for this chnl/rate */
++};
++
++/* current scan Tx power values to use, one for each scan rate for each
++ * channel. */
++struct iwl_scan_power_info {
++ struct iwl_tx_power tpc; /* actual radio and DSP gain settings */
++ s8 power_table_index; /* actual (compenst'd) index into gain table */
++ s8 requested_power; /* scan pwr (dBm) requested for chnl/rate */
++};
++
++/* Channel unlock period is 15 seconds. If no beacon or probe response
++ * has been received within 15 seconds on a locked channel then the channel
++ * remains locked. */
++#define TX_UNLOCK_PERIOD 15
++
++/* CSA lock period is 15 seconds. If a CSA has been received on a channel in
++ * the last 15 seconds, the channel is locked */
++#define CSA_LOCK_PERIOD 15
++/*
++ * One for each channel, holds all channel setup data
++ * Some of the fields (e.g. eeprom and flags/max_power_avg) are redundant
++ * with one another!
++ */
++#define IWL4965_MAX_RATE (33)
++
++struct iwl_channel_info {
++ struct iwl_channel_tgd_info tgd;
++ struct iwl_channel_tgh_info tgh;
++ struct iwl_eeprom_channel eeprom; /* EEPROM regulatory limit */
++ struct iwl_eeprom_channel fat_eeprom; /* EEPROM regulatory limit for FAT channel */
++
++ u8 channel; /* channel number */
++ u8 flags; /* flags copied from EEPROM */
++ s8 max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */
++ s8 curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) */
++ s8 min_power; /* always 0 */
++ s8 scan_power; /* (dBm) regul. eeprom, direct scans, any rate */
++
++ u8 group_index; /* 0-4, maps channel to group1/2/3/4/5 */
++ u8 band_index; /* 0-4, maps channel to band1/2/3/4/5 */
++ u8 phymode; /* MODE_IEEE80211{A,B,G} */
++
++ /* Radio/DSP gain settings for each "normal" data Tx rate.
++ * These include, in addition to RF and DSP gain, a few fields for
++ * remembering/modifying gain settings (indexes). */
++ struct iwl_channel_power_info power_info[IWL4965_MAX_RATE];
++
++#if IWL == 4965
++ /* FAT channel info */
++ s8 fat_max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */
++ s8 fat_curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) */
++ s8 fat_min_power; /* always 0 */
++ s8 fat_scan_power; /* (dBm) eeprom, direct scans, any rate */
++ u8 fat_flags; /* flags copied from EEPROM */
++ u8 fat_extension_channel;
++#endif
++
++ /* Radio/DSP gain settings for each scan rate, for directed scans. */
++ struct iwl_scan_power_info scan_pwr_info[IWL_NUM_SCAN_RATES];
++};
++
++struct iwl_clip_group {
++ /* maximum power level to prevent clipping for each rate, derived by
++ * us from this band's saturation power in EEPROM */
++ const s8 clip_powers[IWL_MAX_RATES];
++};
++
++static inline int is_channel_valid(const struct iwl_channel_info *ch_info)
++{
++ if (ch_info == NULL)
++ return 0;
++ return (ch_info->flags & EEPROM_CHANNEL_VALID) ? 1 : 0;
++}
++
++static inline int is_channel_narrow(const struct iwl_channel_info *ch_info)
++{
++ return (ch_info->flags & EEPROM_CHANNEL_NARROW) ? 1 : 0;
++}
++
++static inline int is_channel_radar(const struct iwl_channel_info *ch_info)
++{
++ return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0;
++}
++
++static inline u8 is_channel_a_band(const struct iwl_channel_info *ch_info)
++{
++ return (ch_info->phymode == MODE_IEEE80211A) ? 1 : 0;
++}
++
++static inline u8 is_channel_bg_band(const struct iwl_channel_info *ch_info)
++{
++ return (ch_info->phymode == MODE_IEEE80211B ||
++ ch_info->phymode == MODE_IEEE80211G) ? 1 : 0;
++}
++
++static inline int is_channel_passive(const struct iwl_channel_info *ch)
++{
++ return (!(ch->flags & EEPROM_CHANNEL_ACTIVE)) ? 1 : 0;
++}
++
++static inline int is_channel_ibss(const struct iwl_channel_info *ch)
++{
++ return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0;
++}
++
++extern const struct iwl_channel_info *iwl_get_channel_info(const struct iwl_priv
++ *priv, int phymode,
++ int channel);
++
++#endif
[...33540 lines suppressed...]
-+ struct ipw_priv *priv = (struct ipw_priv *)priv_rate;
++ struct iwl_priv *priv = (struct iwl_priv *)priv_rate;
+
-+ IPW_DEBUG_RATE("enter\n");
++ IWL_DEBUG_RATE("enter\n");
+
+ memset(extra, 0, sizeof(*extra));
+
+ fc = le16_to_cpu(hdr->frame_control);
-+ if ((WLAN_FC_GET_TYPE(fc) != IEEE80211_FTYPE_DATA) ||
++ if (((fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA) ||
+ (is_multicast_ether_addr(hdr->addr1))) {
+ /* Send management frames and broadcast/multicast data using
+ * lowest rate. */
+ /* TODO: this could probably be improved.. */
-+ IPW_DEBUG_RATE("leave: lowest rate (not data or is "
++ IWL_DEBUG_RATE("leave: lowest rate (not data or is "
+ "multicast)\n");
-+
-+ return ipw_get_lowest_rate(local);
++
++ return iwl_get_lowest_rate(local);
+ }
-+
++
+ sta = sta_info_get(local, hdr->addr1);
+ if (!sta || !sta->rate_ctrl_priv) {
-+ IPW_DEBUG_RATE("leave: No STA priv data to update!\n");
++ IWL_DEBUG_RATE("leave: No STA priv data to update!\n");
+ if (sta)
+ sta_info_put(sta);
+ return NULL;
+ }
+
+ rate_mask = sta->supp_rates;
-+ index = min(sta->txrate & 0xffff, IPW_RATE_COUNT - 1);
-+
++ index = min(sta->txrate & 0xffff, IWL_RATE_COUNT - 1);
++
+ rs_priv = (void *)sta->rate_ctrl_priv;
+
-+ spin_lock_irqsave(&rs_priv->lq_mngr.lock, flags);
++ spin_lock_irqsave(&rs_priv->lock, flags);
+
-+ if (rs_priv->start_rate != IPW_RATE_INVALID) {
++ if (rs_priv->start_rate != IWL_RATE_INVALID) {
+ index = rs_priv->start_rate;
-+ rs_priv->start_rate = IPW_RATE_INVALID;
++ rs_priv->start_rate = IWL_RATE_INVALID;
+ }
+
+ window = &(rs_priv->win[index]);
+
+ fail_count = window->counter - window->success_counter;
+
-+ if (((fail_count <= IPW_RATE_MIN_FAILURE_TH) &&
-+ (window->success_counter < IPW_RATE_MIN_SUCCESS_TH))) {
-+ window->average_tpt = IPW_INVALID_VALUE;
-+ spin_unlock_irqrestore(&rs_priv->lq_mngr.lock, flags);
++ if (((fail_count <= IWL_RATE_MIN_FAILURE_TH) &&
++ (window->success_counter < IWL_RATE_MIN_SUCCESS_TH))) {
++ window->average_tpt = IWL_INVALID_VALUE;
++ spin_unlock_irqrestore(&rs_priv->lock, flags);
+
-+ IPW_DEBUG_RATE("Invalid average_tpt on rate %d: "
++ IWL_DEBUG_RATE("Invalid average_tpt on rate %d: "
+ "counter: %d, success_counter: %d, "
-+ "expected_tpt is %sNULL\n",
++ "expected_tpt is %sNULL\n",
+ index,
-+ window->counter,
++ window->counter,
+ window->success_counter,
-+ rs_priv->lq_mngr.expected_tpt ? "not " : "");
++ rs_priv->expected_tpt ? "not " : "");
+ goto out;
+
-+ }
++ }
+
+ window->average_tpt = ((window->success_ratio *
-+ rs_priv->lq_mngr.
-+ expected_tpt[index] + 64) / 128);
++ rs_priv->expected_tpt[index] + 64) / 128);
+ current_tpt = window->average_tpt;
+
-+ high_low = ipw_get_adjacent_rate(rs_priv, index, rate_mask,
++ high_low = iwl_get_adjacent_rate(rs_priv, index, rate_mask,
+ local->hw.conf.phymode);
+ low = high_low & 0xff;
+ high = (high_low >> 8) & 0xff;
+
-+ if (low != IPW_RATE_INVALID)
++ if (low != IWL_RATE_INVALID)
+ low_tpt = rs_priv->win[low].average_tpt;
+
-+ if (high != IPW_RATE_INVALID)
++ if (high != IWL_RATE_INVALID)
+ high_tpt = rs_priv->win[high].average_tpt;
+
-+ spin_unlock_irqrestore(&rs_priv->lq_mngr.lock, flags);
++ spin_unlock_irqrestore(&rs_priv->lock, flags);
+
+ scale_action = 1;
+
-+ if ((window->success_ratio < IPW_RATE_DECREASE_TH) ||
-+ !current_tpt) {
-+ IPW_DEBUG_RATE("decrease rate because of low success_ratio\n");
++ if ((window->success_ratio < IWL_RATE_DECREASE_TH) || !current_tpt) {
++ IWL_DEBUG_RATE("decrease rate because of low success_ratio\n");
+ scale_action = -1;
-+ } else if ((low_tpt == IPW_INVALID_VALUE) &&
-+ (high_tpt == IPW_INVALID_VALUE)) {
++ } else if ((low_tpt == IWL_INVALID_VALUE) &&
++ (high_tpt == IWL_INVALID_VALUE)) {
+ scale_action = 1;
-+ } else if ((low_tpt != IPW_INVALID_VALUE) &&
-+ (high_tpt != IPW_INVALID_VALUE)
++ } else if ((low_tpt != IWL_INVALID_VALUE) &&
++ (high_tpt != IWL_INVALID_VALUE)
+ && (low_tpt < current_tpt)
+ && (high_tpt < current_tpt)) {
-+ IPW_DEBUG_RATE("No action -- low [%d] & high [%d] < "
++ IWL_DEBUG_RATE("No action -- low [%d] & high [%d] < "
+ "current_tpt [%d]\n",
+ low_tpt, high_tpt, current_tpt);
+ scale_action = 0;
+ } else {
-+ if (high_tpt != IPW_INVALID_VALUE) {
++ if (high_tpt != IWL_INVALID_VALUE) {
+ if (high_tpt > current_tpt)
+ scale_action = 1;
+ else {
-+ IPW_DEBUG_RATE
-+ ("decrease rate because of high tpt\n");
++ IWL_DEBUG_RATE
++ ("decrease rate because of high tpt\n");
+ scale_action = -1;
+ }
-+ } else if (low_tpt != IPW_INVALID_VALUE) {
++ } else if (low_tpt != IWL_INVALID_VALUE) {
+ if (low_tpt > current_tpt) {
-+ IPW_DEBUG_RATE
-+ ("decrease rate because of low tpt\n");
++ IWL_DEBUG_RATE
++ ("decrease rate because of low tpt\n");
+ scale_action = -1;
+ } else
+ scale_action = 1;
+ }
+ }
+
-+ if ((window->success_ratio > IPW_RATE_HIGH_TH) ||
++ if ((window->success_ratio > IWL_RATE_HIGH_TH) ||
+ (current_tpt > window->average_tpt)) {
-+ IPW_DEBUG_RATE("No action -- success_ratio [%d] > HIGH_TH or "
++ IWL_DEBUG_RATE("No action -- success_ratio [%d] > HIGH_TH or "
+ "current_tpt [%d] > average_tpt [%d]\n",
+ window->success_ratio,
+ current_tpt, window->average_tpt);
@@ -17052,12 +21546,12 @@
+
+ switch (scale_action) {
+ case -1:
-+ if (low != IPW_RATE_INVALID)
++ if (low != IWL_RATE_INVALID)
+ index = low;
+ break;
+
+ case 1:
-+ if (high != IPW_RATE_INVALID)
++ if (high != IWL_RATE_INVALID)
+ index = high;
+
+ break;
@@ -17067,20 +21561,20 @@
+ break;
+ }
+
-+ IPW_DEBUG_RATE("Selected %d (action %d) - low %d high %d\n",
++ IWL_DEBUG_RATE("Selected %d (action %d) - low %d high %d\n",
+ index, scale_action, low, high);
+
+ out:
-+
++
+ sta->last_txrate = index;
+ sta->txrate = sta->last_txrate;
+ sta_info_put(sta);
+
-+ IPW_DEBUG_RATE("leave: %d\n", index);
++ IWL_DEBUG_RATE("leave: %d\n", index);
+ return &priv->ieee_rates[index];
+}
+
-+extern void ipw_set_rate_scale_handlers(struct rate_control_ops *rs_ops)
++extern void iwl_set_rate_scale_handlers(struct rate_control_ops *rs_ops)
+{
+ rs_ops->module = NULL;
+ rs_ops->name = rs_name;
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3190
retrieving revision 1.3191
diff -u -r1.3190 -r1.3191
--- kernel-2.6.spec 23 May 2007 01:35:11 -0000 1.3190
+++ kernel-2.6.spec 23 May 2007 19:42:37 -0000 1.3191
@@ -628,11 +628,8 @@
Patch2301: git-wireless-dev.patch
Patch2302: git-iwlwifi.patch
Patch2303: linux-2.6-bcm43xx-pci-neuter.patch
-Patch2304: linux-2.6-iwlwifi-preferred_rate_control.patch
-Patch2305: linux-2.6-iwlwifi-irq_tasklet.patch
-Patch2306: linux-2.6-mac80211-fixes.patch
-Patch2307: linux-2.6-mac80211-scan-optimizations.patch
-Patch2308: linux-2.6-bcm43xx-mac80211-fixes.patch
+Patch2304: linux-2.6-mac80211-fixes.patch
+Patch2305: linux-2.6-bcm43xx-mac80211-fixes.patch
# Assorted dyntick/clock/timer fixes.
Patch2402: linux-2.6-acpi-keep-tsc-stable-when-lapic-timer-c2-ok-is-set.patch
@@ -1420,16 +1417,10 @@
%patch2302 -p1
# avoid bcm43xx vs bcm43xx-mac80211 PCI ID conflicts
%patch2303 -p1
-# let iwl3945 specify its preferred rate control algorithm
-%patch2304 -p1
-# kill iwl3945 irq_tasklet at module remove
-%patch2305 -p1
# some mac80211 bug fixes (defrag mem leak, reassoc failure handling)
-%patch2306 -p1
-# mac80211: improve scan performance
-%patch2307 -p1
+%patch2304 -p1
# bcm43xx-mac80211: important phy and ssb bus fixes
-%patch2308 -p1
+%patch2305 -p1
# Assorted dyntick/clock/timer fixes.
%patch2402 -p1
@@ -2415,6 +2406,12 @@
%endif
%changelog
+* Wed May 23 2007 John W. Linville <linville at redhat.com>
+- Update git-iwlwifi.patch from Intel's tree (version 0.0.21)
+- Update linux-2.6-mac80211-fixes.patch w/ last minute fixes
+- Remove mac80211 scanning optimization patch
+- Remove obsolete iwlwifi patches
+
* Tue May 22 2007 Kristian Høgsberg <krh at redhat.com>
- Add missing byteswap in fw-ohci (#238606).
linux-2.6-mac80211-fixes.patch:
Index: linux-2.6-mac80211-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-mac80211-fixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-mac80211-fixes.patch 18 May 2007 19:37:09 -0000 1.1
+++ linux-2.6-mac80211-fixes.patch 23 May 2007 19:42:37 -0000 1.2
@@ -1,6 +1,15 @@
---- linux-2.6.21.noarch/net/mac80211/ieee80211.c.orig 2007-05-18 10:16:22.000000000 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211.c 2007-05-18 10:19:02.000000000 -0400
-@@ -3406,8 +3406,10 @@ ieee80211_rx_h_defragment(struct ieee802
+--- linux-2.6.21.noarch/net/mac80211/ieee80211.c.orig 2007-05-23 15:33:04.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211.c 2007-05-23 15:36:42.000000000 -0400
+@@ -2470,6 +2470,8 @@ static int ieee80211_open(struct net_dev
+ if (sdata->type == IEEE80211_IF_TYPE_STA &&
+ !local->user_space_mlme)
+ netif_carrier_off(dev);
++ else
++ netif_carrier_on(dev);
+
+ netif_start_queue(dev);
+ return 0;
+@@ -3406,8 +3408,10 @@ ieee80211_rx_h_defragment(struct ieee802
return TXRX_DROP;
}
}
@@ -12,8 +21,8 @@
/* Complete frame has been reassembled - process it now */
rx->fragmented = 1;
---- linux-2.6.21.noarch/net/mac80211/ieee80211_sta.c.orig 2007-05-18 10:16:20.000000000 -0400
-+++ linux-2.6.21.noarch/net/mac80211/ieee80211_sta.c 2007-05-18 10:19:02.000000000 -0400
+--- linux-2.6.21.noarch/net/mac80211/ieee80211_sta.c.orig 2007-05-23 15:33:04.000000000 -0400
++++ linux-2.6.21.noarch/net/mac80211/ieee80211_sta.c 2007-05-23 15:36:42.000000000 -0400
@@ -1180,6 +1180,8 @@ static void ieee80211_rx_mgmt_assoc_resp
if (status_code != WLAN_STATUS_SUCCESS) {
printk(KERN_DEBUG "%s: AP denied association (code=%d)\n",
@@ -23,3 +32,12 @@
return;
}
+@@ -3152,7 +3154,7 @@ struct sta_info * ieee80211_ibss_add_sta
+ {
+ struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ struct sta_info *sta;
+- struct ieee80211_sub_if_data *sdata = NULL;
++ struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+
+ /* TODO: Could consider removing the least recently used entry and
+ * allow new one to be added. */
--- linux-2.6-iwlwifi-irq_tasklet.patch DELETED ---
--- linux-2.6-iwlwifi-preferred_rate_control.patch DELETED ---
--- linux-2.6-mac80211-scan-optimizations.patch DELETED ---
More information about the fedora-extras-commits
mailing list