rpms/kernel/devel kernel.spec, 1.749, 1.750 linux-2.6-wireless.patch, 1.46, 1.47

John W. Linville (linville) fedora-extras-commits at redhat.com
Thu Jul 10 17:29:12 UTC 2008


Author: linville

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22478

Modified Files:
	kernel.spec linux-2.6-wireless.patch 
Log Message:
Upstream wireless fixes from 2008-07-09


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.749
retrieving revision 1.750
diff -u -r1.749 -r1.750
--- kernel.spec	10 Jul 2008 15:44:13 -0000	1.749
+++ kernel.spec	10 Jul 2008 17:28:14 -0000	1.750
@@ -1788,6 +1788,10 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Thu Jul 10 2008 John W. Linville <linville at redhat.com>
+- Upstream wireless fixes from 2008-07-09
+  (http://marc.info/?l=linux-netdev&m=121563769208664&w=2)
+
 * Thu Jul 10 2008 Dave Jones <davej at redhat.com>
 - 2.6.26-rc9-git6
 

linux-2.6-wireless.patch:

Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless.patch,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- linux-2.6-wireless.patch	8 Jul 2008 17:27:00 -0000	1.46
+++ linux-2.6-wireless.patch	10 Jul 2008 17:28:14 -0000	1.47
@@ -1,3 +1,62 @@
+commit 814feefa859a736d29d0700d49debf13904b429f
+Author: Ihar Hrachyshka <ihar.hrachyshka at promwad.com>
+Date:   Wed Jul 9 09:29:58 2008 +0300
+
+    libertas: fix memory alignment problems on the blackfin
+    
+    Fixing unaligned memory access on the blackfin architecture.
+    
+    Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka at promwad.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 86229f0c7b4e065f51b5572a8a61801e281740a0
+Author: Luis Carlos Cobo <luisca at cozybit.com>
+Date:   Tue Jul 8 16:19:21 2008 +0200
+
+    zd1211rw: stop beacons on remove_interface
+    
+    If a mesh or ad-hoc interface is brought up and later it is replaced
+    by managed interface, the managed interface will keep transmitting
+    the beacons that were configured for the former interface. This patch
+    fixes that behaviour.
+    
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 1f90916264049a7d9e6106fd60d289c9a775d24f
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Tue Jul 8 13:45:20 2008 +0200
+
+    rt2x00: Disable synchronization during initialization
+    
+    As soon as init_registers() was called, the rt2400/rt2500
+    would start raising beacondone interrupts. Since this is highly
+    premature since no beacons were provided yet, we should
+    initialize the synchronization register to 0.
+    
+    This will make all drivers initialize it to 0 regardless
+    if they are raising beacondone interrupts or not, since it only
+    makes sense to have it completely disabled.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit adeed48090fc370afa0db8d007748ee72a40b578
+Author: Mattias Nissler <mattias.nissler at gmx.de>
+Date:   Mon Jul 7 23:08:19 2008 +0200
+
+    rc80211_pid: Fix fast_start parameter handling
+    
+    This removes the fast_start parameter from the rc_pid parameters
+    information and instead uses the parameter macro when initializing
+    the rc_pid state. Since the parameter is only used on initialization,
+    there is no point of making exporting it via debugfs. This also fixes
+    uninitialized memory references to the fast_start and norm_offset
+    parameters detected by the kmemcheck utility.  Thanks to Vegard Nossum
+    for reporting the bug.
+    
+    Signed-off-by: Mattias Nissler <mattias.nissler at gmx.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit 6e43829bb69bf1d584a592075f1357590eb49b1a
 Author: Vladimir Koutny <vlado at work.ksp.sk>
 Date:   Mon Jul 7 14:23:01 2008 +0200
@@ -96,8 +155,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 diff -up linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c
---- linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig	2008-07-08 12:02:26.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c	2008-07-08 12:41:52.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig	2008-07-10 10:52:58.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c	2008-07-10 10:53:04.000000000 -0400
 @@ -777,8 +777,10 @@ static int hostap_cs_suspend(struct pcmc
  	int dev_open = 0;
  	struct hostap_interface *iface = NULL;
@@ -125,8 +184,8 @@
  	PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_RESUME\n", dev_info);
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig	2008-07-08 12:41:29.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c	2008-07-08 12:41:52.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig	2008-07-10 10:52:58.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c	2008-07-10 10:53:04.000000000 -0400
 @@ -449,7 +449,7 @@ static void iwl3945_dbg_report_frame(str
  
  	if (print_summary) {
@@ -145,9 +204,134 @@
  				     title, fc, header->addr1[5],
  				     length, rssi, channel, rate);
  		else {
+diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/scan.c.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/scan.c
+--- linux-2.6.25.noarch/drivers/net/wireless/libertas/scan.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/libertas/scan.c	2008-07-10 10:53:45.000000000 -0400
+@@ -567,11 +567,11 @@ static int lbs_process_bss(struct bss_de
+ 	pos += 8;
+ 
+ 	/* beacon interval is 2 bytes long */
+-	bss->beaconperiod = le16_to_cpup((void *) pos);
++	bss->beaconperiod = get_unaligned_le16(pos);
+ 	pos += 2;
+ 
+ 	/* capability information is 2 bytes long */
+-	bss->capability = le16_to_cpup((void *) pos);
++	bss->capability = get_unaligned_le16(pos);
+ 	lbs_deb_scan("process_bss: capabilities 0x%04x\n", bss->capability);
+ 	pos += 2;
+ 
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c	2008-07-10 10:53:45.000000000 -0400
+@@ -731,6 +731,17 @@ static int rt2400pci_init_registers(stru
+ 			   (rt2x00dev->rx->data_size / 128));
+ 	rt2x00pci_register_write(rt2x00dev, CSR9, reg);
+ 
++	rt2x00pci_register_read(rt2x00dev, CSR14, &reg);
++	rt2x00_set_field32(&reg, CSR14_TSF_COUNT, 0);
++	rt2x00_set_field32(&reg, CSR14_TSF_SYNC, 0);
++	rt2x00_set_field32(&reg, CSR14_TBCN, 0);
++	rt2x00_set_field32(&reg, CSR14_TCFP, 0);
++	rt2x00_set_field32(&reg, CSR14_TATIMW, 0);
++	rt2x00_set_field32(&reg, CSR14_BEACON_GEN, 0);
++	rt2x00_set_field32(&reg, CSR14_CFP_COUNT_PRELOAD, 0);
++	rt2x00_set_field32(&reg, CSR14_TBCM_PRELOAD, 0);
++	rt2x00pci_register_write(rt2x00dev, CSR14, reg);
++
+ 	rt2x00pci_register_write(rt2x00dev, CNT3, 0x3f080000);
+ 
+ 	rt2x00pci_register_read(rt2x00dev, ARCSR0, &reg);
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c	2008-07-10 10:53:45.000000000 -0400
+@@ -824,6 +824,17 @@ static int rt2500pci_init_registers(stru
+ 	rt2x00_set_field32(&reg, CSR11_CW_SELECT, 0);
+ 	rt2x00pci_register_write(rt2x00dev, CSR11, reg);
+ 
++	rt2x00pci_register_read(rt2x00dev, CSR14, &reg);
++	rt2x00_set_field32(&reg, CSR14_TSF_COUNT, 0);
++	rt2x00_set_field32(&reg, CSR14_TSF_SYNC, 0);
++	rt2x00_set_field32(&reg, CSR14_TBCN, 0);
++	rt2x00_set_field32(&reg, CSR14_TCFP, 0);
++	rt2x00_set_field32(&reg, CSR14_TATIMW, 0);
++	rt2x00_set_field32(&reg, CSR14_BEACON_GEN, 0);
++	rt2x00_set_field32(&reg, CSR14_CFP_COUNT_PRELOAD, 0);
++	rt2x00_set_field32(&reg, CSR14_TBCM_PRELOAD, 0);
++	rt2x00pci_register_write(rt2x00dev, CSR14, reg);
++
+ 	rt2x00pci_register_write(rt2x00dev, CNT3, 0);
+ 
+ 	rt2x00pci_register_read(rt2x00dev, TXCSR8, &reg);
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c	2008-07-10 10:53:45.000000000 -0400
+@@ -801,6 +801,13 @@ static int rt2500usb_init_registers(stru
+ 	rt2x00_set_field16(&reg, TXRX_CSR8_BBP_ID1_VALID, 0);
+ 	rt2500usb_register_write(rt2x00dev, TXRX_CSR8, reg);
+ 
++	rt2500usb_register_read(rt2x00dev, TXRX_CSR19, &reg);
++	rt2x00_set_field16(&reg, TXRX_CSR19_TSF_COUNT, 0);
++	rt2x00_set_field16(&reg, TXRX_CSR19_TSF_SYNC, 0);
++	rt2x00_set_field16(&reg, TXRX_CSR19_TBCN, 0);
++	rt2x00_set_field16(&reg, TXRX_CSR19_BEACON_GEN, 0);
++	rt2500usb_register_write(rt2x00dev, TXRX_CSR19, reg);
++
+ 	rt2500usb_register_write(rt2x00dev, TXRX_CSR21, 0xe78f);
+ 	rt2500usb_register_write(rt2x00dev, MAC_CSR9, 0xff1d);
+ 
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c	2008-07-10 10:53:45.000000000 -0400
+@@ -1201,6 +1201,15 @@ static int rt61pci_init_registers(struct
+ 	rt2x00_set_field32(&reg, TXRX_CSR8_ACK_CTS_54MBS, 42);
+ 	rt2x00pci_register_write(rt2x00dev, TXRX_CSR8, reg);
+ 
++	rt2x00pci_register_read(rt2x00dev, TXRX_CSR9, &reg);
++	rt2x00_set_field32(&reg, TXRX_CSR9_BEACON_INTERVAL, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TSF_TICKING, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TSF_SYNC, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TBTT_ENABLE, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_BEACON_GEN, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TIMESTAMP_COMPENSATE, 0);
++	rt2x00pci_register_write(rt2x00dev, TXRX_CSR9, reg);
++
+ 	rt2x00pci_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f);
+ 
+ 	rt2x00pci_register_write(rt2x00dev, MAC_CSR6, 0x00000fff);
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c	2008-07-10 10:53:45.000000000 -0400
+@@ -1006,6 +1006,15 @@ static int rt73usb_init_registers(struct
+ 	rt2x00_set_field32(&reg, TXRX_CSR8_ACK_CTS_54MBS, 42);
+ 	rt73usb_register_write(rt2x00dev, TXRX_CSR8, reg);
+ 
++	rt73usb_register_read(rt2x00dev, TXRX_CSR9, &reg);
++	rt2x00_set_field32(&reg, TXRX_CSR9_BEACON_INTERVAL, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TSF_TICKING, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TSF_SYNC, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TBTT_ENABLE, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_BEACON_GEN, 0);
++	rt2x00_set_field32(&reg, TXRX_CSR9_TIMESTAMP_COMPENSATE, 0);
++	rt73usb_register_write(rt2x00dev, TXRX_CSR9, reg);
++
+ 	rt73usb_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f);
+ 
+ 	rt73usb_register_read(rt2x00dev, MAC_CSR6, &reg);
+diff -up linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c
+--- linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c	2008-07-10 10:53:45.000000000 -0400
+@@ -765,6 +765,7 @@ static void zd_op_remove_interface(struc
+ {
+ 	struct zd_mac *mac = zd_hw_mac(hw);
+ 	mac->type = IEEE80211_IF_TYPE_INVALID;
++	zd_set_beacon_interval(&mac->chip, 0);
+ 	zd_write_mac_addr(&mac->chip, NULL);
+ }
+ 
 diff -up linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_usb.c.orig linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_usb.c
---- linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_usb.c.orig	2008-07-08 12:41:29.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_usb.c	2008-07-08 12:41:52.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_usb.c.orig	2008-07-10 10:52:58.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_usb.c	2008-07-10 10:53:04.000000000 -0400
 @@ -64,6 +64,7 @@ static struct usb_device_id usb_ids[] = 
  	{ USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B },
  	{ USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B },
@@ -157,8 +341,8 @@
  	{ USB_DEVICE(0x0471, 0x1236), .driver_info = DEVICE_ZD1211B },
  	{ USB_DEVICE(0x13b1, 0x0024), .driver_info = DEVICE_ZD1211B },
 diff -up linux-2.6.25.noarch/drivers/ssb/driver_pcicore.c.orig linux-2.6.25.noarch/drivers/ssb/driver_pcicore.c
---- linux-2.6.25.noarch/drivers/ssb/driver_pcicore.c.orig	2008-07-08 12:02:27.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/ssb/driver_pcicore.c	2008-07-08 12:41:52.000000000 -0400
+--- linux-2.6.25.noarch/drivers/ssb/driver_pcicore.c.orig	2008-07-10 10:52:58.000000000 -0400
++++ linux-2.6.25.noarch/drivers/ssb/driver_pcicore.c	2008-07-10 10:53:04.000000000 -0400
 @@ -537,6 +537,13 @@ int ssb_pcicore_dev_irqvecs_enable(struc
  	int err = 0;
  	u32 tmp;
@@ -174,8 +358,8 @@
  		goto out;
  	bus = pdev->bus;
 diff -up linux-2.6.25.noarch/net/mac80211/main.c.orig linux-2.6.25.noarch/net/mac80211/main.c
---- linux-2.6.25.noarch/net/mac80211/main.c.orig	2008-07-08 12:41:30.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/main.c	2008-07-08 12:41:52.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/main.c.orig	2008-07-10 10:52:58.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/main.c	2008-07-10 10:53:04.000000000 -0400
 @@ -530,8 +530,6 @@ static int ieee80211_stop(struct net_dev
  				local->sta_hw_scanning = 0;
  		}
@@ -195,8 +379,8 @@
  		tasklet_disable(&local->tasklet);
  	}
 diff -up linux-2.6.25.noarch/net/mac80211/mlme.c.orig linux-2.6.25.noarch/net/mac80211/mlme.c
---- linux-2.6.25.noarch/net/mac80211/mlme.c.orig	2008-07-08 12:41:30.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/mlme.c	2008-07-08 12:41:52.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/mlme.c.orig	2008-07-10 10:52:58.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/mlme.c	2008-07-10 10:53:04.000000000 -0400
 @@ -547,15 +547,14 @@ static void ieee80211_set_associated(str
  			sdata->bss_conf.ht_bss_conf = &conf->ht_bss_conf;
  		}
@@ -238,3 +422,100 @@
  #endif /* CONFIG_MAC80211_IBSS_DEBUG */
  	if (found && memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0 &&
  	    (bss = ieee80211_rx_bss_get(dev, bssid,
+diff -up linux-2.6.25.noarch/net/mac80211/rc80211_pid_algo.c.orig linux-2.6.25.noarch/net/mac80211/rc80211_pid_algo.c
+--- linux-2.6.25.noarch/net/mac80211/rc80211_pid_algo.c.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/rc80211_pid_algo.c	2008-07-10 10:53:45.000000000 -0400
+@@ -398,13 +398,25 @@ static void *rate_control_pid_alloc(stru
+ 		return NULL;
+ 	}
+ 
++	pinfo->target = RC_PID_TARGET_PF;
++	pinfo->sampling_period = RC_PID_INTERVAL;
++	pinfo->coeff_p = RC_PID_COEFF_P;
++	pinfo->coeff_i = RC_PID_COEFF_I;
++	pinfo->coeff_d = RC_PID_COEFF_D;
++	pinfo->smoothing_shift = RC_PID_SMOOTHING_SHIFT;
++	pinfo->sharpen_factor = RC_PID_SHARPENING_FACTOR;
++	pinfo->sharpen_duration = RC_PID_SHARPENING_DURATION;
++	pinfo->norm_offset = RC_PID_NORM_OFFSET;
++	pinfo->rinfo = rinfo;
++	pinfo->oldrate = 0;
++
+ 	/* Sort the rates. This is optimized for the most common case (i.e.
+ 	 * almost-sorted CCK+OFDM rates). Kind of bubble-sort with reversed
+ 	 * mapping too. */
+ 	for (i = 0; i < sband->n_bitrates; i++) {
+ 		rinfo[i].index = i;
+ 		rinfo[i].rev_index = i;
+-		if (pinfo->fast_start)
++		if (RC_PID_FAST_START)
+ 			rinfo[i].diff = 0;
+ 		else
+ 			rinfo[i].diff = i * pinfo->norm_offset;
+@@ -425,19 +437,6 @@ static void *rate_control_pid_alloc(stru
+ 			break;
+ 	}
+ 
+-	pinfo->target = RC_PID_TARGET_PF;
+-	pinfo->sampling_period = RC_PID_INTERVAL;
+-	pinfo->coeff_p = RC_PID_COEFF_P;
+-	pinfo->coeff_i = RC_PID_COEFF_I;
+-	pinfo->coeff_d = RC_PID_COEFF_D;
+-	pinfo->smoothing_shift = RC_PID_SMOOTHING_SHIFT;
+-	pinfo->sharpen_factor = RC_PID_SHARPENING_FACTOR;
+-	pinfo->sharpen_duration = RC_PID_SHARPENING_DURATION;
+-	pinfo->norm_offset = RC_PID_NORM_OFFSET;
+-	pinfo->fast_start = RC_PID_FAST_START;
+-	pinfo->rinfo = rinfo;
+-	pinfo->oldrate = 0;
+-
+ #ifdef CONFIG_MAC80211_DEBUGFS
+ 	de = &pinfo->dentries;
+ 	de->dir = debugfs_create_dir("rc80211_pid",
+@@ -465,9 +464,6 @@ static void *rate_control_pid_alloc(stru
+ 	de->norm_offset = debugfs_create_u32("norm_offset",
+ 					     S_IRUSR | S_IWUSR, de->dir,
+ 					     &pinfo->norm_offset);
+-	de->fast_start = debugfs_create_bool("fast_start",
+-					     S_IRUSR | S_IWUSR, de->dir,
+-					     &pinfo->fast_start);
+ #endif
+ 
+ 	return pinfo;
+@@ -479,7 +475,6 @@ static void rate_control_pid_free(void *
+ #ifdef CONFIG_MAC80211_DEBUGFS
+ 	struct rc_pid_debugfs_entries *de = &pinfo->dentries;
+ 
+-	debugfs_remove(de->fast_start);
+ 	debugfs_remove(de->norm_offset);
+ 	debugfs_remove(de->sharpen_duration);
+ 	debugfs_remove(de->sharpen_factor);
+diff -up linux-2.6.25.noarch/net/mac80211/rc80211_pid.h.orig linux-2.6.25.noarch/net/mac80211/rc80211_pid.h
+--- linux-2.6.25.noarch/net/mac80211/rc80211_pid.h.orig	2008-07-10 10:52:54.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/rc80211_pid.h	2008-07-10 10:53:45.000000000 -0400
+@@ -141,7 +141,6 @@ struct rc_pid_events_file_info {
+  *	rate behaviour values (lower means we should trust more what we learnt
+  *	about behaviour of rates, higher means we should trust more the natural
+  *	ordering of rates)
+- * @fast_start: if Y, push high rates right after initialization
+  */
+ struct rc_pid_debugfs_entries {
+ 	struct dentry *dir;
+@@ -154,7 +153,6 @@ struct rc_pid_debugfs_entries {
+ 	struct dentry *sharpen_factor;
+ 	struct dentry *sharpen_duration;
+ 	struct dentry *norm_offset;
+-	struct dentry *fast_start;
+ };
+ 
+ void rate_control_pid_event_tx_status(struct rc_pid_event_buffer *buf,
+@@ -267,9 +265,6 @@ struct rc_pid_info {
+ 	/* Normalization offset. */
+ 	unsigned int norm_offset;
+ 
+-	/* Fast starst parameter. */
+-	unsigned int fast_start;
+-
+ 	/* Rates information. */
+ 	struct rc_pid_rateinfo *rinfo;
+ 




More information about the scm-commits mailing list