]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.37 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Sat, 19 Feb 2011 07:01:32 +0000 (23:01 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 19 Feb 2011 07:01:32 +0000 (23:01 -0800)
queue-2.6.37/iwl3945-remove-plcp-check.patch [new file with mode: 0644]
queue-2.6.37/net-deinit-automatic-list_head.patch [new file with mode: 0644]
queue-2.6.37/series

diff --git a/queue-2.6.37/iwl3945-remove-plcp-check.patch b/queue-2.6.37/iwl3945-remove-plcp-check.patch
new file mode 100644 (file)
index 0000000..61091f3
--- /dev/null
@@ -0,0 +1,42 @@
+From c91d01556f52255a31575be0cb1981c92a2a5028 Mon Sep 17 00:00:00 2001
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Date: Wed, 9 Feb 2011 08:46:06 +0100
+Subject: iwl3945: remove plcp check
+
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+
+commit c91d01556f52255a31575be0cb1981c92a2a5028 upstream.
+
+Patch fixes:
+https://bugzilla.redhat.com/show_bug.cgi?id=654599
+
+Many users report very low speed problem on 3945 devices,
+this patch fixes problem, but only for some of them.
+
+For unknown reason, sometimes after hw scanning, device is not able
+to receive frames at high rate. Since plcp health check may request
+hw scan to "reset radio", performance problem start to be observable
+after update kernel to .35, where plcp check was introduced.
+
+Bug reporter confirmed that removing plcp check fixed problem for him.
+
+Reported-and-tested-by: SilvioTO <silviotoya@yahoo.it>
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/wireless/iwlwifi/iwl-3945.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
++++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
+@@ -2727,7 +2727,6 @@ static struct iwl_lib_ops iwl3945_lib =
+       .config_ap = iwl3945_config_ap,
+       .manage_ibss_station = iwl3945_manage_ibss_station,
+       .recover_from_tx_stall = iwl_bg_monitor_recover,
+-      .check_plcp_health = iwl3945_good_plcp_health,
+       .debugfs_ops = {
+               .rx_stats_read = iwl3945_ucode_rx_stats_read,
diff --git a/queue-2.6.37/net-deinit-automatic-list_head.patch b/queue-2.6.37/net-deinit-automatic-list_head.patch
new file mode 100644 (file)
index 0000000..19f2ee5
--- /dev/null
@@ -0,0 +1,52 @@
+From ceaaec98ad99859ac90ac6863ad0a6cd075d8e0e Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <eric.dumazet@gmail.com>
+Date: Thu, 17 Feb 2011 22:59:19 +0000
+Subject: net: deinit automatic LIST_HEAD
+
+From: Eric Dumazet <eric.dumazet@gmail.com>
+
+commit ceaaec98ad99859ac90ac6863ad0a6cd075d8e0e upstream.
+
+commit 9b5e383c11b08784 (net: Introduce
+unregister_netdevice_many()) left an active LIST_HEAD() in
+rollback_registered(), with possible memory corruption.
+
+Even if device is freed without touching its unreg_list (and therefore
+touching the previous memory location holding LISTE_HEAD(single), better
+close the bug for good, since its really subtle.
+
+(Same fix for default_device_exit_batch() for completeness)
+
+Reported-by: Michal Hocko <mhocko@suse.cz>
+Tested-by: Michal Hocko <mhocko@suse.cz>
+Reported-by: Eric W. Biderman <ebiderman@xmission.com>
+Tested-by: Eric W. Biderman <ebiderman@xmission.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+CC: Ingo Molnar <mingo@elte.hu>
+CC: Octavian Purdila <opurdila@ixiacom.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/core/dev.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -4945,6 +4945,7 @@ static void rollback_registered(struct n
+       list_add(&dev->unreg_list, &single);
+       rollback_registered_many(&single);
++      list_del(&single);
+ }
+ unsigned long netdev_fix_features(unsigned long features, const char *name)
+@@ -6114,6 +6115,7 @@ static void __net_exit default_device_ex
+               }
+       }
+       unregister_netdevice_many(&dev_kill_list);
++      list_del(&dev_kill_list);
+       rtnl_unlock();
+ }
index a88b4ea5a5db21a546f20cc2d8601effb8f7d158..b9a9817bdedf8d0a6becd6bc2c308ffdbaef953d 100644 (file)
@@ -38,3 +38,5 @@ drm-radeon-kms-add-missing-frac-fb-div-flag-for-dce4.patch
 fs-partitions-validate-map_count-in-mac-partition-tables.patch
 workqueue-wake-up-a-worker-when-a-rescuer-is-leaving-a-gcwq.patch
 workqueue-make-sure-mayday_initial_timeout-is-at-least-2-jiffies-long.patch
+net-deinit-automatic-list_head.patch
+iwl3945-remove-plcp-check.patch