Implemented support for Buffer and String objects (as
per ACPI 2.0) for the following ASL operators: LEqual,
LGreater, LLess, LGreaterEqual, and LLessEqual.
Completed a new design and implementation for EBDA
(Extended BIOS Data Area) support in the RSDP scan code.
The original code improperly scanned for the EBDA by simply
scanning from memory location 0 to 0x400. The correct
method is to first obtain the EBDA pointer from within
the BIOS data area, then scan 1K of memory starting at the
EBDA pointer. There appear to be few if any machines that
place the RSDP in the EBDA, however.
http://bugme.osdl.org/show_bug.cgi?id=2415
Integrated a fix for a possible fault during evaluation
of BufferField arguments. Obsolete code that was causing
the problem was removed. (Asus laptop boot crash)
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=121760
Found and fixed a problem in the Field Support Code
where data could be corrupted on a bit field read that
starts on an aligned boundary but does not end on an
aligned boundary. Merged the read/write "datum length"
calculation code into a common procedure.
Fixed a problem where hardware GPE enable bits sometimes
not set properly during and after GPE method execution.
Result of ACPICA 20040427 changes.
Removed extra "clear all GPEs" when sleeping/waking.
Removed acpi_ht_enable_gpe and acpi_hw_disable_gpe, replaced
by the single acpi_hw_write_gpe_enable_reg. Changed a couple
of calls to the functions above to the new acpi_ev* calls
as appropriate.
ACPI_OS_NAME was removed from the OS-specific headers.
The default name is now "Microsoft Windows NT" for maximum
compatibility. However this can be changed by modifying
the acconfig.h file. Fixes EHCI probe issue:
http://bugme.osdl.org/show_bug.cgi?id=1762
Allow a single invocation of acpi_install_notify_handler
for a handler that traps both types of notifies (System,
Device). Use ACPI_ALL_NOTIFY flag.
Run _INI methods on ThermalZone objects. This is against
the ACPI specification, but there is apparently ASL code
in the field that has these _INI methods, and apparently
"other" AML interpreters execute them.
Performed a full 16/32/64 bit lint that resulted in some
small changes.
Len Brown [Wed, 16 Jun 2004 21:26:33 +0000 (17:26 -0400)]
[ACPI] Fix a lockup which Sid Boyce <sboyce@blueyonder.co.uk>
discovered with IOAPIC disabled.
The problem was that drivers/serial/8250_acpi.c found COM1 in the ACPI
namespace and called acpi_register_gsi() to set up its IRQ. ACPI tells us
that the COM1 IRQ is edge triggered, active high, but acpi_register_gsi()
was ignoring the edge_level argument, so it blindly set the COM1 IRQ to be
level-triggered.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org
John Rose [Tue, 15 Jun 2004 13:19:55 +0000 (06:19 -0700)]
[PATCH] insert_resource fix
I noticed that insert_resource() incorrectly handles the case of an
existing parent resource with the same ending address as a newly added
child. This results in incorrect nesting, like the following:
PIO handlers under CONFIG_IDE_TASKFILE_IO=n are never used for bio
based requests (rq->bio is always NULL) so we can use rq->buffer
directly instead of calling ide_[un]map_buffer().
[PATCH] ide: cleanup taskfile PIO handlers (CONFIG_IDE_TASKFILE_IO=n)
These handlers are nowadays used only for REQ_DRIVE_TASKFILE
requests (rq->bio is always NULL) which aren't retried et all so
remove code 'rewinding' rq->current_nr_sectors and some FIXMEs.
[PATCH] ide: fix ide-cd to not retry REQ_DRIVE_TASKFILE requests
'cat /proc/ide/hdx/identify' generates REQ_DRIVE_TASKFILE request
(for WIN_PIDENTIFY command) even for devices controlled by ide-cd.
All other drivers don't try to retry such requests.
- do not unregister ide-pnp driver while detaching random
IDE device from random IDE device driver if IDE is modular
(somebody added this in 2.3.51)
- clear 'hw_regs_t hw' allocated from stack
- mark idepnp_init() with __init
- use ide_std_init_ports() instead of ide_setup_ports()
The IDE sparse fixups cause 2 warnings (unused variables `val' and
`reg') on m68k and APUS. However, the reason why this code was
commented out is gone. So just remove the special case.
Chris Wedgwood [Mon, 14 Jun 2004 16:01:29 +0000 (09:01 -0700)]
[PATCH] stat nlink resolution fix
Some filesystems can get overflows when their link-count exceeds
65534. This patch increases the kernels internal resolution for this
and also has a check for the old-system call paths to return and error
(-EOVERFLOW) as required (as suggested by Al Viro).
Signed-off-by: Chris Wedgwood <cw@f00f.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Harald Welte [Mon, 14 Jun 2004 10:30:31 +0000 (03:30 -0700)]
[NETFILTER]: Prevent orphan expectations.
This patch fixes orphaned expectations, which can occur when helpers create
expectations for unconfirmed conntracks and the packet is dropped before
the conntrack is confirmed.
Signed-off-by: Phil Oester <kernel@linuxace.com> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@redhat.com>
Harald Welte [Mon, 14 Jun 2004 10:28:58 +0000 (03:28 -0700)]
[NETFILTER]: Don't assign new helper after NAT when there are already expectations present.
Tracked down by Raivis Bucis <raivis@mt.lv>
This patch fixes an oops while listing /proc/net/ip_conntrack.
When a helper sets up expectations based on the first packet (tftp),
NAT can still change the packet and cause conntrack to look for a new helper
based on the new tuple. When no helper is found, expectant->helper will be
NULL, which leads to an oops in print_expect().
Only assign a new helper in ip_conntrack_alter_reply() if there are no
expectations.
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@redhat.com>
Andrew Morton [Mon, 14 Jun 2004 06:16:49 +0000 (23:16 -0700)]
[PATCH] ppc64: fix out_be64
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Patch fixes out_be64 implementation on ppc64 along with a glich in out_be32
(inconsistent) use of barrier.
Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org>
Andrew Morton [Mon, 14 Jun 2004 06:16:27 +0000 (23:16 -0700)]
[PATCH] Fix nfs writepage behaviour
From: Nick Piggin <nickpiggin@yahoo.com.au>
nfs_writepage() refuses to write back mapped pages at all on the page
reclaim path, causing systems to get locked up when there's a lot of dirty
mmapped data around. The patch changes NFS so that it will start I/O
against these pages.
The code as it stands is designed to defer writeout to pdflush which can do
larger, more efficient I/Os. But there shouldn't be much traffic by this
path, and going slow is better than not going at all.
Andi Kleen [Mon, 14 Jun 2004 06:06:51 +0000 (23:06 -0700)]
[PATCH] Fix x86-64 VIA systems with IOMMU debug
VIA chipsets are broken and don't work with IOMMU enabled. For some mysterious
reason (the IOMMU logic is actually in the CPU) they manage to corrupt all
data going through the aperture to PCI devices.
There was a workaround previously that enabled the slower softmmu when VIA is
detected on the normal IOMMU path (when there is more than 3GB of memory). But
CONFIG_IOMMU_DEBUG took a short cut that was not handled, which ended up with
VIA systems not booting when this option is enabled.
This patch enables the workaround with CONFIG_IOMMU_DEBUG/iommu=force too
Ben Collins [Sun, 13 Jun 2004 06:11:37 +0000 (02:11 -0400)]
ieee1394: CSR1212 Extended ROM bug fixes
- Use vmalloc instead of kmalloc
- Change delayed_reset_bus() to operate in a work_queue instead of a timer
interrupt.
- Fix hpsb_allocate_and_register_addrspace() to not allocate space on top
of already allocated space.
- Fix problems in csr1212.c filling ConfigROM images when extend ROMs are
present.
Signed-off-by: Steve Kinneberg <kberg@linux1394.org> Signed-off-by: Ben Collins <bcollins@debian.org>
- /dev/watchdog is single open only: make sure that the bit that
prevents a second open is cleared as the last instruction of the
release code
- Change the way we set the original heartbeat code
- Make sure that /dev/temperature get's registered before /dev/watchdog
- /dev/watchdog is single open only: make sure that the bit that
prevents a second open is cleared as the last instruction of the
release code
- Change the way we set the original heartbeat
- Make sure that /dev/temperature get's registered before /dev/watchdog
- Make pcwd_keepalive return 0 on success.
- /dev/watchdog is single open only: make sure that the atomic that
prevents a second open is cleared only as the last instruction of the
release code.
Kenneth W. Chen [Sat, 12 Jun 2004 23:49:20 +0000 (16:49 -0700)]
[PATCH] ia64: fix race in fsys_bubble_down to avoid fp-register corruption
The fast system-call fall-back-path has a race: it reads PSR, modifies
some bits, then writes back the new PSR. Unfortunately, the contents
of PSR may change between reading and writing it. For example, an
interrupt could occur which could trigger a context-switch. The
context-switch might in turn flush the floating-point-high (FPH)
partition to memory, clear PSR.MFH, and set PSR.DFH. To prevent this
race, the patch below turns off PSR.I before reading PSR.
This fixes a floating-point corruption problem that was observed on a
system with a libc which has the fast system-call support enabled.
The performance impact is minimal (on the order of a handful of cycles).
Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Asit Mallick <asit.k.mallick@intel.com> Signed-off-by: David Mosberger <davidm@hpl.hp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:45:58 +0000 (16:45 -0700)]
[PATCH] ramdisk: buffer_uptodate fix
I waffled over this for ages. On balance, I think it's best to mark those
bh's as uptodate.
And on reflection, I'm not sure why we go bringing ramdisk blockdev pages
uptodate all over the place anyway. But ramdisk is weird and it passes
testing. Let those dogs sleep.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:45:44 +0000 (16:45 -0700)]
[PATCH] sparse fix for void return in selinux/hooks.c
From: Chris Wright <chrisw@osdl.org>
CHECK security/selinux/hooks.c
security/selinux/hooks.c:1383:34: warning: return expression in void function
security/selinux/hooks.c:3548:30: warning: return expression in void function
CC security/selinux/hooks.o
From: Mika Kukkonen <mika@osdl.org> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>