Completed investigation and implementation of the
call-by-reference mechanism for control method arguments.
Fixed a problem where a store of an object into an indexed
package could fail if the store occurs within a different
method than the method that created the package.
Fixed a problem where the ToDecimal operator could return
incorrect results.
Fixed a problem where the CopyObject operator could fail
on some of the more obscure objects (e.g., Reference objects.)
Improved the output of the Debug object to display buffer,
package, and index objects.
Fixed a problem where constructs of the form "RefOf (ArgX)"
did not return the expected result.
Added permanent ACPI_REPORT_ERROR macros for all instances of the
ACPI_AML_INTERNAL exception.
Karol Kozimor [Thu, 5 Feb 2004 19:07:36 +0000 (14:07 -0500)]
[PATCH] acpi4asus update from Karol 'sziwan' Kozimor
The attached patch updates the acpi4asus driver to 0.27 through the
following changes:
- add support for M1300A, S5200N, L8400L,
- remove WLED support for certain models, since it is not controlled by
AML,
- add LCD backlight switching for L2E / L3H,
- C99 initializers,
- generic LED handlers,
- the output of ASYM method to provide battery state information (might be
more accurate under certain conditions) in /proc/acpi/asus/info,
- fix several oddities, various clean-ups and other minor changes.
The patch itself is quite big, which is mostly due to the C99 initializers
and the fact that diff doesn't like moving code around.
This has been compile-tested in various configurations, the substantive
changes were discussed on the acpi4asus mailing list.
The code should apply to current bk (both for 2.4 and 2.6). The patch is
also available here:
http://hell.org.pl/~sziwan/asus/acpi4asus-0.26-0.27.diff
Thanks to all the contributors (notably Pontus Fuchs) to this release.
John Belmonte [Thu, 5 Feb 2004 18:20:49 +0000 (13:20 -0500)]
[PATCH] toshiba_acpi 0.17 from John Belmonte
Fix remote chance of invalid buffer access in write_video.
Support alternate HCI method path (recent "Phoenix BIOS" Toshiba's).
Signal more proc-write errors.
On proc-reads, report errors via printk instead of proc output.
Add log level and driver name prefix to all printk's.
Add missing __init and __exit function attributes.
Be explicit about vars for which code relies on zero-init of BSS.
Linus Torvalds [Tue, 3 Feb 2004 11:36:36 +0000 (03:36 -0800)]
Linux 2.6.2 aka "Feisty Dunnart"
See http://www.cse.unsw.edu.au/~gernot/persona/hobbies/dunnart.html
for more information about Dunnarts, in case you've never heard of
them before. Courtesy of Gernot Heiser.
- IDE can be used as module again (compiles and works),
this fixes bugzilla bugs #576 and #1700
- separate module for probing is no longer required
- generic/default host driver is available as ide_generic module
This contains the build fixes by Adrian Bunk and Andrew Morton.
Andrew Morton [Sat, 31 Jan 2004 04:22:51 +0000 (20:22 -0800)]
[PATCH] ppc32: MBX MAC address fix
From Tom Rini <trini@kernel.crashing.org>
On the MBX the kernel made an assumption about where the MAC address would
be in the VPD (Vital Product Data). However, the documentation for the
firmware (EPPC-Bug) describes the format of the VPD and makes no
guarrantees about the location of any VPD record. It does however describe
the format of each record type and the MAC address record will be of type
'08' and of size 6. This changes the code so that instead of assuming a
position, it searches for the record, which I assume is also what EPPC-Bug
does.
Andrew Morton [Sat, 31 Jan 2004 02:06:29 +0000 (18:06 -0800)]
[PATCH] RAID-6: x86-64 crash workaround
From: "H. Peter Anvin" <hpa@zytor.com>
Apparently, on x86-64, the stack isn't always aligned properly (16 bytes)
in the kernel at the moment. This causes the RAID-6 code to crash the
system. This patch is a workaround for that; the right thing is to muck
with the assembly entrypoints to enforce proper stack alignment. However,
that's not anything I feel comfortable doing in an evening, especially
since I don't have a machine on which I can test the resulting kernels.
Andrew Morton [Sat, 31 Jan 2004 02:00:40 +0000 (18:00 -0800)]
[PATCH] ppc64: SLB rewrite
From: Anton Blanchard <anton@samba.org>
The current SLB handling code has a number of problems:
- We loop trying to find an empty SLB entry before deciding to cast one
out. On large working sets this really hurts since the SLB is always full
and we end up looping through all 64 entries unnecessarily.
- During castout we currently invalidate the entry we are replacing. This
is to avoid a nasty race where the entry is in the ERAT but not the SLB and
another cpu does a tlbie that removes the ERAT at a critical point. If
this race is fixed the SLB can be removed.
- The SLB prefault code doesnt work properly
The following patch addresses all the above concerns and adds some more
optimisations:
- feature nop out some segment table only code
- slb invalidate the kernel segment on context switch (avoids us having to
slb invalidate at each cast out)
- optimise flush on context switch, the lazy tlb stuff avoids it being
called when going from userspace to kernel thread, but it gets called when
going to kernel thread to userspace. In many cases we are returning to the
same userspace task, we now check for this and avoid the flush
Add support for _PDC to the ACPI processor "Performance States library"
(perflib). If this field is empty, a bogus entry is passed to the _PDC
method so that the default (io) access is returned again. This patch
is partly based on David Moore's patch to
arch/i386/kernel/cpu/cpufreq/acpi.c, sent to the cpufreq mailing list on
June 24th, 2003.
[ACPI] Move the _PSS and _PCT access to drivers/acpi/processor.c
so that it can be used by various low-level drivers
(centrino, acpi-io, powernow-k{7,8}, ...)
from Dominik Brodowski
Marcelo Tosatti [Fri, 30 Jan 2004 04:13:47 +0000 (20:13 -0800)]
[PATCH] PC300 update
This forward ports a few important fixes from the 2.4 driver. This
changes have been well tested.
Changelog:
- Update maintainer email address
- Mark pci_device_id list with __devinitdata.
- Set correct protocol type on packet receive (this caused the kernel to
drop all packets received)
- Add #ifdef DEBUG around debug printk()
- ioctl: Add missing size checks before
copying data from userspace.
Russell King [Fri, 30 Jan 2004 16:25:58 +0000 (16:25 +0000)]
[ARM] Remove FP work-arounds.
We used to have code to allow binaries linked against glibc to run,
when glibc itself contained some FP instructions (for PCS stack
frames for functions like printf and scanf) thereby allowing FP
emulators like nwfpe to be built as modules.
This has proved to be unreliable with later compilers, so support
for this was dropped a while ago. Since no one complained, we can
finally remove the dead code.
(NB. a klibc based module-init-tools shouldn't suffer from this
problem.)
Russell King [Fri, 30 Jan 2004 14:49:14 +0000 (14:49 +0000)]
[ARM] Eliminate tsk->used_math
Remove usage of tsk->used_math on ARM, moving the status to an array
of co-processor usage. (ARM can have up to 15 co-processors
providing various extra facilities such as SIMD, VFP or FP.)
Linus Torvalds [Fri, 30 Jan 2004 00:41:00 +0000 (16:41 -0800)]
Fix sha256 padding block initializer to be static.
Jakub points out that having an automatic array is not only
bad for performance (and stack usage), gcc has also historically
had lots of bugs here, and gcc-3.2.3 seems to miscompile it
otherwise.
Michael Hunold [Fri, 30 Jan 2004 00:24:38 +0000 (16:24 -0800)]
[PATCH] dvb subsystem and saa7146 v4l fixes
This fixes some issues in the dvb subsystem and some nasty things in the
v4l saa7146 driver.
[DVB]
- dvb-core: aquire -> acquire spelling fix
- nxt600 frontend: don't send zero-byte messages when probing the PLL
type
- Kconfig: add a note that says that the CI of the budget-CI card is
not actually supported by the budget-CI driver
- ttusb-dec: Check for presence of crc32 function. Make unknown types
of packet less likely to cause packet loss.
[V4L]
- saa7146: use kernel mint_t()/max_t() instead of homebrewn stuff
- saa7146: disable video clipping before capturing for sure to prevent
black pictures
- saa7146: make sure to disable the right video dma upon device close
- saa7146: don't free resources if disabling an already disabled video
overlay
This is a simple fix for some of the problems with bad ACPI frequency values:
Abort if the frequency field in _PSS is zero, as we're having a
completely broken ACPI table then.
A more complete overhaul of the acpi-cpufreq driver (where the cause of
the problem lies) is in the latest acpi-test tree, but that's definitely
something to be delayed for 2.6.3 -- and the same is true for the
yet-to-be-written do_div64 conversion.
Michael Schierl [Thu, 29 Jan 2004 14:08:53 +0000 (06:08 -0800)]
[PATCH] [APM] Is this the correct way to fix suspend bug introduced
This fixes my APM problems (without them my laptop, Acer TravelMate
210TEV (Celeron 700, 128 MB RAM), hangs after resuming from APM since
2.6.0-test4).
Modified based on comments from Pavel Machek <pavel@suse.cz>, who
has acked the updated patch.
Kieran Morrissey [Thu, 29 Jan 2004 09:12:59 +0000 (01:12 -0800)]
[PATCH] PCI: name length change
- Changes gen-devlist.c to truncate long device names rather than reject
the database
- Changes PCI_NAME_SIZE to 96 (and PCI_NAME_HALF to 43) to allow all
current pci.ids names to fit
- Modifies gen-devlist.c to truncate at 89 characters rather than 79 -
allows for two digit instance numbers to be added to the name as well
while staying within the 96 characters allocated. No names in the
current pci.ids are any longer than this.
- Modifies names.c to no longer limit device name length when displaying
both vendor and device name; the truncation is done by gen-devlist.c.
Takayoshi Kochi [Thu, 29 Jan 2004 07:34:56 +0000 (23:34 -0800)]
[PATCH] PCI Hotplug: add address file and fix acpiphp bugs
This is the pending patch that adds 'address' file to show
PCI-address and a few other minor fixes.
As 2.6.0 is out, I'm resending the patch.
Would you mind taking this?
> > > Thanks. I had a little time to try your patch today. Sorry
> > > to report that it isn't working for me.
> > >
> > > I first powered off (successfully the 1st time) a populated slot
> > > and removed and reinserted the card into the same slot. The slot
> > > powered back up but I was then unable to power it off. I believe
> > > the following instruction that still exists in power_off_slot()
> > > may be preventing the slot from being powered off more than once.
> > > func->flags &= (~FUNC_EXISTS);
> > >
> > > I then tried to insert an adapter in an un-populated slot. For
> > > some reason (which I don't understand yet) there was an enabling
> > > error which I believe caused enable_device() to exit via a path
> > > that bypassed the instruction that sets the FUNC_EXISTS flag.
> > > I was then unable to power off the slot which I believe was due
> > > to the FUNC_EXISTS flag not being set.
> > >
> > > I didn't have time to definitely confirmed the above theories.
> > > I'll take a closer look at this tomorrow unless you are able
> > > to diagnose using my vague clues :)
> >
> > It turns out that both of the above mentioned problems happened
> > because the call to acpiphp_configure_slot() from enable_device()
> > failed after inserting the card. When this happens enable_device()
> > exits without setting the FUNC_EXISTS flag for any of the slot
> > functions. Subsequent attempts to power off the same slot fail
> > when power_off_slot() is unable to locate a function with both
> > FUNC_HAS_EJ0 and FUNC_EXISTS flags set.
> >
> > The patch works okay when using a card that allows
> > acpiphp_configure_slot() to succeed but I believe it should
> > be improved to allow the slot to be powered off following
> > device enablement errors.
>
> Thanks for testing and comments.
> I really appreciate it.
>
> This problem turned out to be somewhat fragile state
> transition:
>
> a lifecycle of a slot is (if there's no error)
>
> function state
> ----------------------------------------------------
> 0 nothing
> 1 power_on_slot() -> SLOT_POWERDON
> 2 enable_device() -> SLOT_POWEREDON + SLOT_ENABLED
> 3 disable_device() -> SLOT_POWEREDON
> 4 power_off_slot() -> nothing
>
> but if any error occur during enable_device(), slot will remain
> SLOT_POWERDON, but some functions on the card may not have
> FUNC_EXISTS flags, which will eventually prevents powering
> off in power_off_slot(), state transition from 1 to 4 directly.
> I.e, the FUNC_EXISTS flag introduced more states to
> complicate things.
>
> The FUNC_EXISTS flag was introduced after some discussion
> between me and Irene Zubarev, but it has no more meaning
> than that the function has corresponding 'pci_dev' structure.
> So I eliminated the usage of FUNC_EXISTS and the result is
> the patches attached to this mail (for both 2.4 and 2.6.
> I think Greg already applied the 2.4 'cleanup' patch to his tree,
> but it's not in Marcelo's release so I'm re-attaching to
> this mail for anyone interested in this topic. It's identical
> to the one I posted earlier).
> These patches don't include Gary's patch in his post last week,
> so please apply separately.
>
> Please note that current acpiphp driver cannot handle a
> PCI card that has a PCI-to-PCI bridge on it (support
> for such cards is incomplete). But if it's treated as
> an error, it should be recoverable anyway.