add obvious backported fixes - seen in fedora too

svn path=/dists/trunk/linux-2.6/; revision=7620
This commit is contained in:
maximilian attems 2006-10-17 11:41:32 +00:00
parent e8cbea4562
commit f4f7ed9009
6 changed files with 198 additions and 1 deletions

6
debian/changelog vendored
View File

@ -103,6 +103,10 @@ linux-2.6 (2.6.18-3) UNRELEASED; urgency=low
- Workaround for bug in gcc -EB / -EL options
- Do not use -msym32 option for modules
- Fix O32 personality(2) call with 0xffffffff argument
* [powerpc] Add DAC960-ipr PCI id table fixup.
* [powerpc] Fix uninitialised spinlock in via-pmu-backlight code.
* Fix serial_cs resume handling.
* Fix oops when removing suspended serial port.
[ dann frazier ]
* [ia64]: Fix booting on HP cell systems, thanks to Troy Heber
@ -122,7 +126,7 @@ linux-2.6 (2.6.18-3) UNRELEASED; urgency=low
[ Kyle McMartin ]
* [hppa] Force CROSS_COMPILE=hppa64-linux-gnu- (closes: #389296)
-- maximilian attems <maks@sternwelten.at> Mon, 16 Oct 2006 09:49:14 +0200
-- maximilian attems <maks@sternwelten.at> Tue, 17 Oct 2006 13:32:45 +0200
linux-2.6 (2.6.18-2) unstable; urgency=low

View File

@ -0,0 +1,34 @@
From git-commits-head-owner@vger.kernel.org Tue Sep 26 20:10:24 2006
commit fddafd3d21953d5ea740f7b2f27149f7dd493194
tree 7e1851143eebfc9ba107aab41e6a46c2ec727aad
parent 2672ea86be26353108a72a28910df4dc61cdb5e2
author Brian King <brking@us.ibm.com> 1154631299 -0500
committer James Bottomley <jejb@mulgrave.il.steeleye.com> 1154698157 -0400
[SCSI] DAC960: PCI id table fixup
The PCI ID table in the DAC960 driver conflicts with some devices
that use the ipr driver. All ipr adapters that use this chip
have an IBM subvendor ID and all DAC960 adapters that use this
chip have a Mylex subvendor id.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/block/DAC960.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
index 4cd23c3..a360215 100644
--- a/drivers/block/DAC960.c
+++ b/drivers/block/DAC960.c
@@ -7115,7 +7115,7 @@ static struct pci_device_id DAC960_id_ta
{
.vendor = PCI_VENDOR_ID_MYLEX,
.device = PCI_DEVICE_ID_MYLEX_DAC960_GEM,
- .subvendor = PCI_ANY_ID,
+ .subvendor = PCI_VENDOR_ID_MYLEX,
.subdevice = PCI_ANY_ID,
.driver_data = (unsigned long) &DAC960_GEM_privdata,
},

View File

@ -0,0 +1,78 @@
From git-commits-head-owner@vger.kernel.org Wed Oct 4 17:49:26 2006
commit a6b93a908508810c5d51dd9b390283345af6f2d9
tree 71b48d3a659a025ebf333abfeec7b828becb60cb
parent fe59d5372ae719ca4550958f1e5bb4dd6eeac9cd
author Russell King <rmk@dyn-67.arm.linux.org.uk> 1159719460 +0100
committer Russell King <rmk+kernel@arm.linux.org.uk> 1159719460 +0100
[SERIAL] Fix oops when removing suspended serial port
A serial card might have been removed when the system is resumed.
This results in a suspended port being shut down, which results in
the ports shutdown method being called twice in a row. This causes
BUGs. Avoid this by tracking the suspended state separately from
the initialised state.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
fixed lined offset -maks
drivers/serial/serial_core.c | 9 +++++++--
include/linux/serial_core.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index d814bb1..397147a 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -1932,6 +1932,9 @@ #endif
if (state->info && state->info->flags & UIF_INITIALIZED) {
const struct uart_ops *ops = port->ops;
+ state->info->flags = (state->info->flags & ~UIF_INITIALIZED)
+ | UIF_SUSPENDED;
+
spin_lock_irq(&port->lock);
ops->stop_tx(port);
ops->set_mctrl(port, 0);
@@ -1991,7 +1994,7 @@ #endif
console_start(port->cons);
}
- if (state->info && state->info->flags & UIF_INITIALIZED) {
+ if (state->info && state->info->flags & UIF_SUSPENDED) {
const struct uart_ops *ops = port->ops;
int ret;
@@ -2003,15 +2006,17 @@ #endif
ops->set_mctrl(port, port->mctrl);
ops->start_tx(port);
spin_unlock_irq(&port->lock);
+ state->info->flags |= UIF_INITIALIZED;
} else {
/*
* Failed to resume - maybe hardware went away?
* Clear the "initialized" flag so we won't try
* to call the low level drivers shutdown method.
*/
- state->info->flags &= ~UIF_INITIALIZED;
uart_shutdown(state);
}
+
+ state->info->flags &= ~UIF_SUSPENDED;
}
mutex_unlock(&state->mutex);
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 86501a3..f9fdf97 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -319,6 +319,7 @@ #define UIF_CHECK_CD ((__force uif_t) (
#define UIF_CTS_FLOW ((__force uif_t) (1 << 26))
#define UIF_NORMAL_ACTIVE ((__force uif_t) (1 << 29))
#define UIF_INITIALIZED ((__force uif_t) (1 << 31))
+#define UIF_SUSPENDED ((__force uif_t) (1 << 30))
int blocked_open;

View File

@ -0,0 +1,40 @@
commit fe59d5372ae719ca4550958f1e5bb4dd6eeac9cd
tree 08ac6bf26961f7bfba6c371f566333c030dd5d77
parent bcf5111a58c7db968c3fb9cd77e340a5e076f549
author Russell King <rmk@dyn-67.arm.linux.org.uk> 1159719247 +0100
committer Russell King <rmk+kernel@arm.linux.org.uk> 1159719247 +0100
[SERIAL] Fix resume handling bug
Unfortunately, pcmcia_dev_present() returns false when a device is
suspended, so checking this on resume does not work too well. Omit
this test.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
backported patch from the fedora patchset. -maks
diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index cbf260b..06a246a 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -185,14 +185,12 @@ static int serial_suspend(struct pcmcia_
static int serial_resume(struct pcmcia_device *link)
{
- if (pcmcia_dev_present(link)) {
- struct serial_info *info = link->priv;
- int i;
+ struct serial_info *info = link->priv;
+ int i;
- for (i = 0; i < info->ndev; i++)
- serial8250_resume_port(info->line[i]);
- wakeup_card(info);
- }
+ for (i = 0; i < info->ndev; i++)
+ serial8250_resume_port(info->line[i]);
+ wakeup_card(info);
return 0;
}

View File

@ -0,0 +1,37 @@
From git-commits-head-owner@vger.kernel.org Sat Sep 30 01:10:16 2006
commit 4efd587bf9f9a97608b1fcecc78a4a046c37e9b1
tree ee626d2ce4af18c0296df3f257079b76f71ae76d
parent 910067d188d56d80801b71b0ca1f73aa400c7b8c
author David Woodhouse <dwmw2@infradead.org> 1159520317 -0700
committer Linus Torvalds <torvalds@g5.osdl.org> 1159546683 -0700
[PATCH] Fix uninitialised spinlock in via-pmu-backlight code.
The uninitialised pmu_backlight_lock causes the current Fedora test kernel
(which has spinlock debugging enabled) to panic on suspend.
This is suboptimal, so I fixed it.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/macintosh/via-pmu-backlight.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/macintosh/via-pmu-backlight.c b/drivers/macintosh/via-pmu-backlight.c
index a82f313..6c29fe7 100644
--- a/drivers/macintosh/via-pmu-backlight.c
+++ b/drivers/macintosh/via-pmu-backlight.c
@@ -16,7 +16,7 @@ #include <asm/prom.h>
#define MAX_PMU_LEVEL 0xFF
static struct backlight_properties pmu_backlight_data;
-static spinlock_t pmu_backlight_lock;
+static DEFINE_SPINLOCK(pmu_backlight_lock);
static int sleeping;
static u8 bl_curve[FB_BACKLIGHT_LEVELS];

View File

@ -21,3 +21,7 @@
- bugfix/proc-fb-reading.patch
+ bugfix/2.6.18.1
+ bugfix/rm-bsd-secure-level.patch
+ bugfix/dac960_ipr_pci_clash.patch
+ bugfix/via_pmu_backlight-fix_panic_sleep.patch
+ bugfix/serial_cs-resume.patch
+ bugfix/serial_core-suspend_oops.patch