diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2011-06-14 12:47:23 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2011-06-14 12:47:23 +0000 |
commit | 10adc7cb7e6ce510bddc7cf9aa08fcd9079cd856 (patch) | |
tree | ce5c38ea15486cfa6d0cbca4a7a6b7cb45e6e9f3 /freed-ora/current | |
parent | 344f801d0d388de6284d7b87541ac6b07f14ad58 (diff) | |
download | linux-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.patch | 72 | ||||
-rw-r--r-- | freed-ora/current/f15/block-queue-refcount.patch | 61 | ||||
-rw-r--r-- | freed-ora/current/f15/kernel.spec | 17 |
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: |