summaryrefslogtreecommitdiffstats
path: root/freed-ora/current
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2011-06-14 12:47:23 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2011-06-14 12:47:23 +0000
commit10adc7cb7e6ce510bddc7cf9aa08fcd9079cd856 (patch)
treece5c38ea15486cfa6d0cbca4a7a6b7cb45e6e9f3 /freed-ora/current
parent344f801d0d388de6284d7b87541ac6b07f14ad58 (diff)
downloadlinux-libre-raptor-10adc7cb7e6ce510bddc7cf9aa08fcd9079cd856.tar.gz
linux-libre-raptor-10adc7cb7e6ce510bddc7cf9aa08fcd9079cd856.zip
2.6.38.8-32.fc15
Diffstat (limited to 'freed-ora/current')
-rw-r--r--freed-ora/current/f15/ath5k-disable-fast-channel-switching-by-default.patch72
-rw-r--r--freed-ora/current/f15/block-queue-refcount.patch61
-rw-r--r--freed-ora/current/f15/kernel.spec17
3 files changed, 149 insertions, 1 deletions
diff --git a/freed-ora/current/f15/ath5k-disable-fast-channel-switching-by-default.patch b/freed-ora/current/f15/ath5k-disable-fast-channel-switching-by-default.patch
new file mode 100644
index 000000000..86ebf8340
--- /dev/null
+++ b/freed-ora/current/f15/ath5k-disable-fast-channel-switching-by-default.patch
@@ -0,0 +1,72 @@
+From c564db51fe187362c4da0a9de2905c020e981c75 Mon Sep 17 00:00:00 2001
+From: Nick Kossifidis <mickflemm@gmail.com>
+Date: Thu, 2 Jun 2011 03:09:48 +0300
+Subject: ath5k: Disable fast channel switching by default
+
+Disable fast channel change by default on AR2413/AR5413 due to
+some bug reports (it still works for me but it's better to be safe).
+Add a module parameter "fastchanswitch" in case anyone wants to enable
+it and play with it.
+
+Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
+Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+---
+ drivers/net/wireless/ath/ath5k/base.c | 9 ++++++++-
+ drivers/net/wireless/ath/ath5k/reset.c | 5 ++++-
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
+index 09ae4ef..0fb6333 100644
+--- a/drivers/net/wireless/ath/ath5k/base.c
++++ b/drivers/net/wireless/ath/ath5k/base.c
+@@ -69,6 +69,11 @@ static int modparam_all_channels;
+ module_param_named(all_channels, modparam_all_channels, bool, S_IRUGO);
+ MODULE_PARM_DESC(all_channels, "Expose all channels the device can use.");
+
++static int modparam_fastchanswitch;
++module_param_named(fastchanswitch, modparam_fastchanswitch, bool, S_IRUGO);
++MODULE_PARM_DESC(fastchanswitch, "Enable fast channel switching for AR2413/AR5413 radios.");
++
++
+ /* Module info */
+ MODULE_AUTHOR("Jiri Slaby");
+ MODULE_AUTHOR("Nick Kossifidis");
+@@ -2664,6 +2669,7 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,
+ struct ath5k_hw *ah = sc->ah;
+ struct ath_common *common = ath5k_hw_common(ah);
+ int ret, ani_mode;
++ bool fast;
+
+ ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "resetting\n");
+
+@@ -2685,7 +2691,8 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,
+ sc->curchan = chan;
+ sc->curband = &sc->sbands[chan->band];
+ }
+- ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, chan != NULL,
++ fast = ((chan != NULL) && modparam_fastchanswitch) ? 1 : 0;
++ ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, fast,
+ skip_pcu);
+ if (ret) {
+ ATH5K_ERR(sc, "can't reset hardware (%d)\n", ret);
+diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c
+index 8420689..6f53d2b 100644
+--- a/drivers/net/wireless/ath/ath5k/reset.c
++++ b/drivers/net/wireless/ath/ath5k/reset.c
+@@ -1119,8 +1119,11 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
+ /* Non fatal, can happen eg.
+ * on mode change */
+ ret = 0;
+- } else
++ } else {
++ ATH5K_DBG(ah->ah_sc, ATH5K_DEBUG_RESET,
++ "fast chan change successful\n");
+ return 0;
++ }
+ }
+
+ /*
+--
+1.7.5.2
+
diff --git a/freed-ora/current/f15/block-queue-refcount.patch b/freed-ora/current/f15/block-queue-refcount.patch
new file mode 100644
index 000000000..c0f09a45a
--- /dev/null
+++ b/freed-ora/current/f15/block-queue-refcount.patch
@@ -0,0 +1,61 @@
+commit e73e079bf128d68284efedeba1fbbc18d78610f9
+Author: James Bottomley <James.Bottomley@HansenPartnership.com>
+Date: Wed May 25 15:52:14 2011 -0500
+
+ [SCSI] Fix oops caused by queue refcounting failure
+
+ In certain circumstances, we can get an oops from a torn down device.
+ Most notably this is from CD roms trying to call scsi_ioctl. The root
+ cause of the problem is the fact that after scsi_remove_device() has
+ been called, the queue is fully torn down. This is actually wrong
+ since the queue can be used until the sdev release function is called.
+ Therefore, we add an extra reference to the queue which is released in
+ sdev->release, so the queue always exists.
+
+ Reported-by: Parag Warudkar <parag.lkml@gmail.com>
+ Cc: stable@kernel.org
+ Signed-off-by: James Bottomley <jbottomley@parallels.com>
+
+diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
+index 58584dc..44e8ca3 100644
+--- a/drivers/scsi/scsi_scan.c
++++ b/drivers/scsi/scsi_scan.c
+@@ -297,7 +297,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
+ kfree(sdev);
+ goto out;
+ }
+-
++ blk_get_queue(sdev->request_queue);
+ sdev->request_queue->queuedata = sdev;
+ scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun);
+
+diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
+index e639125..e0bd3f7 100644
+--- a/drivers/scsi/scsi_sysfs.c
++++ b/drivers/scsi/scsi_sysfs.c
+@@ -322,6 +322,7 @@ static void scsi_device_dev_release_usercontext(struct work_struct *work)
+ kfree(evt);
+ }
+
++ blk_put_queue(sdev->request_queue);
+ /* NULL queue means the device can't be used */
+ sdev->request_queue = NULL;
+
+--- linux-2.6.38.noarch/block/blk-core.c~ 2011-06-07 15:29:26.000000000 -0400
++++ linux-2.6.38.noarch/block/blk-core.c 2011-06-07 15:29:49.000000000 -0400
+@@ -456,6 +456,7 @@ void blk_put_queue(struct request_queue
+ {
+ kobject_put(&q->kobj);
+ }
++EXPORT_SYMBOL(blk_put_queue);
+
+ void blk_cleanup_queue(struct request_queue *q)
+ {
+@@ -663,6 +664,7 @@ int blk_get_queue(struct request_queue *
+
+ return 1;
+ }
++EXPORT_SYMBOL(blk_get_queue);
+
+ static inline void blk_free_request(struct request_queue *q, struct request *rq)
+ {
diff --git a/freed-ora/current/f15/kernel.spec b/freed-ora/current/f15/kernel.spec
index 0944f8dbe..eefcba8f4 100644
--- a/freed-ora/current/f15/kernel.spec
+++ b/freed-ora/current/f15/kernel.spec
@@ -51,7 +51,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be prepended with "0.", so
# for example a 3 here will become 0.3
#
-%global baserelease 31
+%global baserelease 32
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -679,6 +679,8 @@ Patch530: linux-2.6-silence-fbcon-logo.patch
Patch570: linux-2.6-selinux-mprotect-checks.patch
Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
+Patch600: block-queue-refcount.patch
+
Patch610: hda_intel-prealloc-4mb-dmabuffer.patch
Patch700: linux-2.6-e1000-ich9-montevina.patch
@@ -770,6 +772,8 @@ Patch12407: scsi_dh_hp_sw-fix-deadlock-in-start_stop_endio.patch
Patch12415: hid-multitouch-add-support-for-elo-touchsystems.patch
Patch12416: bluetooth-device-ids-for-ath3k-on-pegatron-lucid-tablets.patch
+Patch12418: ath5k-disable-fast-channel-switching-by-default.patch
+
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1321,6 +1325,7 @@ ApplyPatch x86-pci-preserve-existing-pci-bfsort-whitelist-for-dell-systems.patch
#
# SCSI Bits.
#
+ApplyPatch block-queue-refcount.patch
# ACPI
@@ -1441,6 +1446,9 @@ ApplyPatch scsi_dh_hp_sw-fix-deadlock-in-start_stop_endio.patch
ApplyPatch hid-multitouch-add-support-for-elo-touchsystems.patch
ApplyPatch bluetooth-device-ids-for-ath3k-on-pegatron-lucid-tablets.patch
+# rhbz#709122
+ApplyPatch ath5k-disable-fast-channel-switching-by-default.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2049,6 +2057,13 @@ fi
# and build.
%changelog
+* Thu Jun 09 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38.8-32
+- ath5k-disable-fast-channel-switching-by-default.patch (rhbz#709122)
+ (korgbz#34992) [a99168ee in wireless-next]
+
+* Tue Jun 07 2011 Dave Jones <davej@redhat.com>
+- [SCSI] Fix oops caused by queue refcounting failure.
+
* Sat Jun 04 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38.8-31
- Linux 2.6.38.8
- Revert radeon patches we already have:
OpenPOWER on IntegriCloud