stable 2.6.36.2 plus orinoco fix from f14

This commit is contained in:
Kyle McMartin 2010-12-09 18:45:09 -05:00
parent ee99a68c51
commit 49bf2616cc
4 changed files with 109 additions and 6 deletions

3
.gitignore vendored
View File

@ -3,5 +3,4 @@ patch-*.bz2
clog
*.rpm
kernel-2.6.*/
/patch-2.6.36.1.bz2
/patch-2.6.36.2-rc1.bz2
/patch-2.6.36.2.bz2

View File

@ -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 12
%global baserelease 13
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -65,7 +65,7 @@ Summary: The Linux kernel
# Do we have a -stable update to apply?
%define stable_update 2
# Is it a -stable RC?
%define stable_rc 1
%define stable_rc 0
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev .%{stable_update}
@ -741,6 +741,8 @@ Patch12421: mm-vmstat-use-a-single-setter-function-and-callback-for-adjusting-pe
Patch12430: sched-cure-more-NO_HZ-load-average-woes.patch
Patch12431: orinoco-initialise-priv_hw-before-assigning-the-interrupt.patch
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@ -1380,6 +1382,9 @@ ApplyPatch mm-vmstat-use-a-single-setter-function-and-callback-for-adjusting-per
# rhbz#650934
ApplyPatch sched-cure-more-NO_HZ-load-average-woes.patch
# rhbz#657864 [229bd792]
ApplyPatch orinoco-initialise-priv_hw-before-assigning-the-interrupt.patch
# END OF PATCH APPLICATIONS
%endif
@ -1994,6 +1999,10 @@ fi
# || ||
%changelog
* Thu Dec 09 2010 Kyle McMartin <kyle@redhat.com> 2.6.36.2-13
- Linux stable 2.6.36.2
- Copy orinoco fix from F-14 so it doesn't get missed.
* Wed Dec 08 2010 Kyle McMartin <kyle@redhat.com> 2.6.36.2-12.rc1
- Linux stable 2.6.36.2-rc1
- Drop patches merged in stable series:

View File

@ -0,0 +1,96 @@
From d2e8008554faf4905ea9435f129bc6a28303e46a Mon Sep 17 00:00:00 2001
From: David Kilroy <kilroyd@googlemail.com>
Date: Thu, 9 Dec 2010 18:56:14 -0500
Subject: [PATCH] orinoco: initialise priv->hw before assigning the interrupt
The interrupt handler takes a lock - but since commit bcad6e80f3f this
lock goes through an indirection specified in the hermes_t structure.
We must therefore initialise the structure before setting up the
interrupt handler.
Fix orinoco_cs and spectrum_cs
<https://bugzilla.kernel.org/show_bug.cgi?id=23932>
Bisected by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off by: David Kilroy <kilroyd@googlemail.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Conflicts:
drivers/net/wireless/orinoco/orinoco_cs.c
drivers/net/wireless/orinoco/spectrum_cs.c
---
drivers/net/wireless/orinoco/orinoco_cs.c | 14 +++++++-------
drivers/net/wireless/orinoco/spectrum_cs.c | 14 +++++++-------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wireless/orinoco/orinoco_cs.c
index ef46a2d..083999f 100644
--- a/drivers/net/wireless/orinoco/orinoco_cs.c
+++ b/drivers/net/wireless/orinoco/orinoco_cs.c
@@ -248,20 +248,20 @@ orinoco_cs_config(struct pcmcia_device *link)
goto failed;
}
- ret = pcmcia_request_irq(link, orinoco_interrupt);
- if (ret)
- goto failed;
-
- /* We initialize the hermes structure before completing PCMCIA
- * configuration just in case the interrupt handler gets
- * called. */
mem = ioport_map(link->resource[0]->start,
resource_size(link->resource[0]));
if (!mem)
goto failed;
+ /* We initialize the hermes structure before completing PCMCIA
+ * configuration just in case the interrupt handler gets
+ * called. */
hermes_struct_init(hw, mem, HERMES_16BIT_REGSPACING);
+ ret = pcmcia_request_irq(link, orinoco_interrupt);
+ if (ret)
+ goto failed;
+
/*
* This actually configures the PCMCIA socket -- setting up
* the I/O windows and the interrupt mapping, and putting the
diff --git a/drivers/net/wireless/orinoco/spectrum_cs.c b/drivers/net/wireless/orinoco/spectrum_cs.c
index 873877e..93070a3 100644
--- a/drivers/net/wireless/orinoco/spectrum_cs.c
+++ b/drivers/net/wireless/orinoco/spectrum_cs.c
@@ -310,21 +310,21 @@ spectrum_cs_config(struct pcmcia_device *link)
goto failed;
}
- ret = pcmcia_request_irq(link, orinoco_interrupt);
- if (ret)
- goto failed;
-
- /* We initialize the hermes structure before completing PCMCIA
- * configuration just in case the interrupt handler gets
- * called. */
mem = ioport_map(link->resource[0]->start,
resource_size(link->resource[0]));
if (!mem)
goto failed;
+ /* We initialize the hermes structure before completing PCMCIA
+ * configuration just in case the interrupt handler gets
+ * called. */
hermes_struct_init(hw, mem, HERMES_16BIT_REGSPACING);
hw->eeprom_pda = true;
+ ret = pcmcia_request_irq(link, orinoco_interrupt);
+ if (ret)
+ goto failed;
+
/*
* This actually configures the PCMCIA socket -- setting up
* the I/O windows and the interrupt mapping, and putting the
--
1.7.3.3

View File

@ -1,3 +1,2 @@
61f3739a73afb6914cb007f37fb09b62 linux-2.6.36.tar.bz2
dd38a6caf08df2822f93541ee95aed7d patch-2.6.36.1.bz2
33b11b4b8fcd47601a0e1e51586c4b04 patch-2.6.36.2-rc1.bz2
4b01c5f9657a9587b262df5f8d784116 patch-2.6.36.2.bz2