rpms/kernel/F-8 linux-2.6-wireless-stable-backports.patch, NONE, 1.1 patch-2.6.26.3.bz2.sign, NONE, 1.1 .cvsignore, 1.734, 1.735 config-generic, 1.78, 1.79 kernel.spec, 1.513, 1.514 linux-2.6-upstream-reverts.patch, 1.14, 1.15 sources, 1.695, 1.696 upstream, 1.615, 1.616 patch-2.6.26.2.bz2.sign, 1.1, NONE

Chuck Ebbert cebbert at fedoraproject.org
Sun Aug 24 05:05:49 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21690

Modified Files:
	.cvsignore config-generic kernel.spec 
	linux-2.6-upstream-reverts.patch sources upstream 
Added Files:
	linux-2.6-wireless-stable-backports.patch 
	patch-2.6.26.3.bz2.sign 
Removed Files:
	patch-2.6.26.2.bz2.sign 
Log Message:
Linux 2.6.26.3
  Upstream revert:
    rtl8187-fix-lockups-due-to-concurrent-access-to-config-routine.patch
  New wireless patch:
    linux-2.6-wireless-stable-backports.patch
Disable the snd_pcsp driver. (F9#459477)

linux-2.6-wireless-stable-backports.patch:

--- NEW FILE linux-2.6-wireless-stable-backports.patch ---
>From stable-bounces at linux.kernel.org Tue Aug  5 21:22:47 2008
From: Larry Finger <Larry.Finger at lwfinger.net>
Date: Tue, 05 Aug 2008 23:20:56 -0500
Subject: [stable] [PATCH] rtl8187: Fix lockups due to concurrent access to config routine
To: stable at kernel.org
Message-ID: <489926a8.Tmk8qWQZeTkY9DVD%Larry.Finger at lwfinger.net>

From: Larry Finger <Larry.Finger at lwfinger.net>

With the rtl8187 driver, the config routine is not protected against
access before a previous call has completed. When this happens, the
TX loopback that is needed to change channels may cause the chip to
be locked with a reset needed to restore communications. This patch
entered mainline as commit 7dcdd073bf78bb6958bbc12a1a47754a0f3c4721.

The problem was found by Herton Ronaldo Krzesinski <herton at mandriva.com.br>,
who also suggested this type of fix.

Signed-off-by: Larry Finger <Larry.Finger at lwfinger.net>
Acked-by: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
Acked-by: Hin-Tak Leung <htl10 at users.sourceforge.net>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>


---
 drivers/net/wireless/rtl8187.h     |    4 ++++
 drivers/net/wireless/rtl8187_dev.c |    3 +++
 2 files changed, 7 insertions(+)

--- a/drivers/net/wireless/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl8187_dev.c
@@ -580,6 +580,7 @@ static int rtl8187_config(struct ieee802
 	struct rtl8187_priv *priv = dev->priv;
 	u32 reg;
 
+	mutex_lock(&priv->conf_mutex);
 	reg = rtl818x_ioread32(priv, &priv->map->TX_CONF);
 	/* Enable TX loopback on MAC level to avoid TX during channel
 	 * changes, as this has be seen to causes problems and the
@@ -610,6 +611,7 @@ static int rtl8187_config(struct ieee802
 	rtl818x_iowrite16(priv, &priv->map->ATIMTR_INTERVAL, 100);
 	rtl818x_iowrite16(priv, &priv->map->BEACON_INTERVAL, 100);
 	rtl818x_iowrite16(priv, &priv->map->BEACON_INTERVAL_TIME, 100);
+	mutex_unlock(&priv->conf_mutex);
 	return 0;
 }
 
@@ -814,6 +816,7 @@ static int __devinit rtl8187_probe(struc
 		printk(KERN_ERR "rtl8187: Cannot register device\n");
 		goto err_free_dev;
 	}
+	mutex_init(&priv->conf_mutex);
 
 	printk(KERN_INFO "%s: hwaddr %s, %s V%d + %s\n",
 	       wiphy_name(dev->wiphy), print_mac(mac, dev->wiphy->perm_addr),
--- a/drivers/net/wireless/rtl8187.h
+++ b/drivers/net/wireless/rtl8187.h
@@ -67,6 +67,10 @@ struct rtl8187_priv {
 	const struct rtl818x_rf_ops *rf;
 	struct ieee80211_vif *vif;
 	int mode;
+	/* The mutex protects the TX loopback state.
+	 * Any attempt to set channels concurrently locks the device.
+	 */
+	struct mutex conf_mutex;
 
 	/* rtl8187 specific */
 	struct ieee80211_channel channels[14];


--- NEW FILE patch-2.6.26.3.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBIrGGbyGugalF9Dw4RAsUbAJ0WGNJtWECDpcFPHzcZJ/XBMeJLcQCfUp0d
QH7/insRsfjM1aEhOwMjxtk=
=/RAD
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/.cvsignore,v
retrieving revision 1.734
retrieving revision 1.735
diff -u -r1.734 -r1.735
--- .cvsignore	8 Aug 2008 18:56:00 -0000	1.734
+++ .cvsignore	24 Aug 2008 05:05:18 -0000	1.735
@@ -3,4 +3,4 @@
 temp-*
 kernel-2.6.26
 linux-2.6.26.tar.bz2
-patch-2.6.26.2.bz2
+patch-2.6.26.3.bz2


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/config-generic,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- config-generic	8 Aug 2008 21:23:59 -0000	1.78
+++ config-generic	24 Aug 2008 05:05:18 -0000	1.79
@@ -1811,14 +1811,15 @@
 # I2C Algorithms
 #
 # CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_HELPER_AUTO is not set
 CONFIG_I2C_ALGOBIT=m
 CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
 
 #
 # I2C Hardware Bus support
 #
 
-CONFIG_I2C_ALGOPCA=m
 # CONFIG_I2C_ALI1535 is not set
 # CONFIG_I2C_ALI1563 is not set
 # CONFIG_I2C_ALI15X3 is not set
@@ -2470,7 +2471,7 @@
 CONFIG_SND_NM256=m
 CONFIG_SND_OXYGEN=m
 CONFIG_SND_RME32=m
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
 CONFIG_SND_PCXHR=m
 CONFIG_SND_RIPTIDE=m
 CONFIG_SND_RME96=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.513
retrieving revision 1.514
diff -u -r1.513 -r1.514
--- kernel.spec	12 Aug 2008 22:48:24 -0000	1.513
+++ kernel.spec	24 Aug 2008 05:05:18 -0000	1.514
@@ -33,7 +33,7 @@
 ## If this is a released kernel ##
 %if 0%{?released_kernel}
 # Do we have a 2.6.21.y update to apply?
-%define stable_update 2
+%define stable_update 3
 # Set rpm version accordingly
 %if 0%{?stable_update}
 %define stablerev .%{stable_update}
@@ -633,7 +633,8 @@
 Patch680: linux-2.6-wireless.patch
 Patch681: linux-2.6-wireless-pending.patch
 #Patch682: linux-2.6-wireless-fixups.patch
-Patch683: linux-2.6-rt2500usb-fix.patch
+Patch683: linux-2.6-wireless-stable-backports.patch
+Patch685: linux-2.6-rt2500usb-fix.patch
 Patch690: linux-2.6-at76.patch
 Patch691: linux-2.6-zd1211rw-module-alias.patch
 Patch692: linux-2.6-cfg80211-extras.patch
@@ -1120,6 +1121,14 @@
 ApplyPatch linux-2.6-at76.patch
 # fixups to make current wireless patches build on this kernel
 #ApplyPatch linux-2.6-wireless-fixups.patch
+
+# backports of upstream -stable wireless patches that we need
+# (reverted in -upstream-reverts)
+C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-wireless-stable-backports.patch | awk '{print $1}')
+if [ "$C" -gt 10 ]; then
+ApplyPatch linux-2.6-wireless-stable-backports.patch
+fi
+
 # fix for long-standing rt2500usb issues
 ApplyPatch linux-2.6-rt2500usb-fix.patch
 # module alias for zd1211rw module
@@ -1764,6 +1773,14 @@
 
 
 %changelog
+* Fri Aug 22 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.3-17
+- Linux 2.6.26.3
+  Upstream revert:
+    rtl8187-fix-lockups-due-to-concurrent-access-to-config-routine.patch
+  New wireless patch:
+    linux-2.6-wireless-stable-backports.patch
+- Disable the snd_pcsp driver. (F9#459477)
+
 * Tue Aug 12 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.2-3
 - Fix obvious bug in ACPI processor driver.
 

linux-2.6-upstream-reverts.patch:

Index: linux-2.6-upstream-reverts.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-upstream-reverts.patch,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- linux-2.6-upstream-reverts.patch	8 Aug 2008 18:56:00 -0000	1.14
+++ linux-2.6-upstream-reverts.patch	24 Aug 2008 05:05:18 -0000	1.15
@@ -111,3 +111,72 @@
  	return err;
  }
  
+From stable-bounces at linux.kernel.org Tue Aug  5 21:22:47 2008
+From: Larry Finger <Larry.Finger at lwfinger.net>
+Date: Tue, 05 Aug 2008 23:20:56 -0500
+Subject: [stable] [PATCH] rtl8187: Fix lockups due to concurrent access to config routine
+To: stable at kernel.org
+Message-ID: <489926a8.Tmk8qWQZeTkY9DVD%Larry.Finger at lwfinger.net>
+
+From: Larry Finger <Larry.Finger at lwfinger.net>
+
+With the rtl8187 driver, the config routine is not protected against
+access before a previous call has completed. When this happens, the
+TX loopback that is needed to change channels may cause the chip to
+be locked with a reset needed to restore communications. This patch
+entered mainline as commit 7dcdd073bf78bb6958bbc12a1a47754a0f3c4721.
+
+The problem was found by Herton Ronaldo Krzesinski <herton at mandriva.com.br>,
+who also suggested this type of fix.
+
+Signed-off-by: Larry Finger <Larry.Finger at lwfinger.net>
+Acked-by: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+Acked-by: Hin-Tak Leung <htl10 at users.sourceforge.net>
+Signed-off-by: John W. Linville <linville at tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+
+---
+ drivers/net/wireless/rtl8187.h     |    4 ++++
+ drivers/net/wireless/rtl8187_dev.c |    3 +++
+ 2 files changed, 7 insertions(+)
+
+--- a/drivers/net/wireless/rtl8187_dev.c
++++ b/drivers/net/wireless/rtl8187_dev.c
+@@ -580,6 +580,7 @@ static int rtl8187_config(struct ieee802
+ 	struct rtl8187_priv *priv = dev->priv;
+ 	u32 reg;
+ 
++	mutex_lock(&priv->conf_mutex);
+ 	reg = rtl818x_ioread32(priv, &priv->map->TX_CONF);
+ 	/* Enable TX loopback on MAC level to avoid TX during channel
+ 	 * changes, as this has be seen to causes problems and the
+@@ -610,6 +611,7 @@ static int rtl8187_config(struct ieee802
+ 	rtl818x_iowrite16(priv, &priv->map->ATIMTR_INTERVAL, 100);
+ 	rtl818x_iowrite16(priv, &priv->map->BEACON_INTERVAL, 100);
+ 	rtl818x_iowrite16(priv, &priv->map->BEACON_INTERVAL_TIME, 100);
++	mutex_unlock(&priv->conf_mutex);
+ 	return 0;
+ }
+ 
+@@ -814,6 +816,7 @@ static int __devinit rtl8187_probe(struc
+ 		printk(KERN_ERR "rtl8187: Cannot register device\n");
+ 		goto err_free_dev;
+ 	}
++	mutex_init(&priv->conf_mutex);
+ 
+ 	printk(KERN_INFO "%s: hwaddr %s, rtl8187 V%d + %s\n",
+ 	       wiphy_name(dev->wiphy), print_mac(mac, dev->wiphy->perm_addr),
+--- a/drivers/net/wireless/rtl8187.h
++++ b/drivers/net/wireless/rtl8187.h
+@@ -67,6 +67,10 @@ struct rtl8187_priv {
+ 	const struct rtl818x_rf_ops *rf;
+ 	struct ieee80211_vif *vif;
+ 	int mode;
++	/* The mutex protects the TX loopback state.
++	 * Any attempt to set channels concurrently locks the device.
++	 */
++	struct mutex conf_mutex;
+ 
+ 	/* rtl8187 specific */
+ 	struct ieee80211_channel channels[14];


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/sources,v
retrieving revision 1.695
retrieving revision 1.696
diff -u -r1.695 -r1.696
--- sources	8 Aug 2008 18:56:01 -0000	1.695
+++ sources	24 Aug 2008 05:05:18 -0000	1.696
@@ -1,2 +1,2 @@
 5169d01c405bc3f866c59338e217968c  linux-2.6.26.tar.bz2
-5e0b0853ab6e968f7a09597c11b8e0c7  patch-2.6.26.2.bz2
+556282beb8feabee2972e1971984f6dd  patch-2.6.26.3.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/upstream,v
retrieving revision 1.615
retrieving revision 1.616
diff -u -r1.615 -r1.616
--- upstream	8 Aug 2008 18:56:01 -0000	1.615
+++ upstream	24 Aug 2008 05:05:18 -0000	1.616
@@ -1,2 +1,2 @@
 linux-2.6.26.tar.bz2
-patch-2.6.26.2.bz2
+patch-2.6.26.3.bz2


--- patch-2.6.26.2.bz2.sign DELETED ---




More information about the fedora-extras-commits mailing list