Andrew Morton [Sat, 27 Mar 2004 05:02:21 +0000 (21:02 -0800)]
[PATCH] Fix uninitialized data in EFI RTC /proc interface
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
The problem is that we don't clear out the efi_time_t buffer before asking
EFI to fill it in. EFI doesn't always write the entire buffer (in
particular, the alarm time only supports one second resolution, so the
nanosecond field is often untouched).
The effect is that 'cat /proc/driver/efirtc' shows garbage in the
nanoseconds part of the alarm time, and sometimes artifacts like bogus
alarm date and junk after the actual end of the text.
without adding an explicit check of 'err', which was previously returned
from the function rather than being checked. i.e. it would drop through
to:
out:
return err;
}
With the new code added, err can (and typically would) be overwritten with
a successful value, causing the permission check to not deny permission if
needed. The intended denial would have been logged.
Andrew Morton [Sat, 27 Mar 2004 05:01:55 +0000 (21:01 -0800)]
[PATCH] adjuct cpu_khz in response to cpufreq changes
From: john stultz <johnstul@us.ibm.com>
This patch ensures that cpu_khz is adjusted on cpufreq notifications even
when the tsc timesource is not in use. It fixes the mostly cosmetic issue
when using the ACPI PM timesource of /proc/cpuinfo not being properly
updated when cpu frequency was lowered.
Andrew Morton [Sat, 27 Mar 2004 05:01:29 +0000 (21:01 -0800)]
[PATCH] s390: system call speedup part 1.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The purpose of this is to speed up system calls on s390. I managed to
squeeze about 65 cycles from each system call. This improved e.g. getpid()
from 232 to 157 cycles. As a nice side-effect it simplified the uaccess
functions considerably.
Andrew Morton [Sat, 27 Mar 2004 05:01:16 +0000 (21:01 -0800)]
[PATCH] s390: tape driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
s390 tape driver changes:
- Prevent offline while device is in use.
- Do not use bus_id string in debug feature messages.
- Check for IS_ERR(irb) error conditions in interrupt handler.
- Fix removing tape discipline modules.
Andrew Morton [Sat, 27 Mar 2004 05:01:03 +0000 (21:01 -0800)]
[PATCH] s390: network driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
s390 network driver changes:
- ctc/lcs/qeth: prevent a ccw-device to be grouped multiple times.
- icuv: clear correct field in iucv_register_program if no userid is specified.
- lcs: fix online/offline cycle again.
- lcs: fix ungrouping of lcs group device. The channels of the lcs card
should be offline afterwards.
- lcs: don't do netif_stop_queue if no tx buffer is available, just
return -EBUSY and drop the packets.
Andrew Morton [Sat, 27 Mar 2004 05:00:37 +0000 (21:00 -0800)]
[PATCH] s390: dasd driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
dasd device driver changes:
- After a state change interrupt restart all running i/o on queue
and reset device timer.
- Improve some debug messages.
- Lower timeout of reserve/release/steal_lock to 2 seconds.
- Fix BIODASDPSRD ioctl.
- Replace ro_flag, use_diag_flag and disconnect_error_flag words by bits.
- Use BLKPG_DEL_PARTITION ioctl instead of a call to delete_partition because
delete_partition is not an exported function. Since dasd_destroy_partitions
can't do blkdev_get because dasd_open would fail, keep the block device
open as long as partitions exist. This in turn requires a different
approach to the open vs. offline race.
Andrew Morton [Sat, 27 Mar 2004 05:00:23 +0000 (21:00 -0800)]
[PATCH] s390: core fixes.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
s390 core changes:
- Fix return type of some system call functions (long vs. int).
- Fix prototypes for compat system call handlers.
- Correct some bugs in the compat system call wrappers.
- Fix broken pointer arithmetic which causes problems with
gcc 3.4 and -march=z990
- Remove unnecessary #ifndef & optimize inline assemblies in spinlock.h.
- Improve handling of deferred condition code 1.
- New default configuration.
This fixes a problem where cy_wait_until_sent() miscalculates (calculate
-1 on a unsigned long) the "char_time" parameter passed to
schedule_timeout().
Fix that by making it a signed long, and checking for negative value.
Andi Kleen [Sat, 27 Mar 2004 04:56:44 +0000 (20:56 -0800)]
[PATCH] Emulate deviceless bridge ioctls
This helps vmware users running vmware on x86-64 - vmnet tries to set up a bridge.
Emulate these ioctls. The bridge has more ioctls on its bridge device, but these
don't seem to be needed here.
Implemented support for "wake" GPEs via interaction between
GPEs and the _PRW methods. Every GPE that is pointed to by
one or more _PRWs is identified as a WAKE GPE and by default
will no longer be enabled at runtime. Previously, we were
blindly enabling all GPEs with a corresponding _Lxx or _Exx
method - but most of these turn out to be WAKE GPEs anyway.
We believe this has been the cause of thousands of
"spurious" GPEs on some systems.
This new GPE behavior is can be reverted to the original
behavior (enable ALL GPEs at runtime) via a runtime flag.
Fixed a problem where aliased control methods could not
access objects properly. The proper scope within the
namespace was not initialized (transferred to the target of
the aliased method) before executing the target method.
Fixed a potential race condition on internal object
deletion on the return object in AcpiEvaluateObject.
Integrated a fix for resource descriptors where both
_MEM and _MTP were being extracted instead of just _MEM.
(i.e. bitmask was incorrectly too wide, 0x0F instead of 0x03.)
Added a special case for ACPI_ROOT_OBJECT in AcpiUtGetNodeName,
preventing a fault in some cases.
Updated Notify() values for debug statements in evmisc.c
Return proper status from AcpiUtMutexInitialize,
not just simply AE_OK.
I figured the best way to stop beeing bothered by users trying to run
preempt was to fix it ;)
Here's a first batch that close some races we had when testing regs->msr
for altivec or FPU enable, then doing the giveup_* function. A preempt
in between those would have caused us to save a stale altivec or FPU
context.
The dmasound driver occasionally hangs a process on exit.
Apparently there is a possible case where the sound HW stops draining
output samples and the driver waits forever in its release() callback.
It should check for signals(), but it seems signal_pending() never
returns 1 when the process is beeing killed (implicit release() of files
on exit).
This patch adds a safety timeout to the release() function to make sure
we can at least close the driver. I'll try to find the reason we aren't
driving samples later, but it is better to have a safety just incase the
sound clock goes berserk for some reason.
This fixes some racy code in the management of asynchronous brightness
and battery requests in the via-pmu driver used on powerbooks. This
should fix some preempt related problems (there is no SMP powerbook yet :)
The ppc32 syscall entry code could access the thread info flags in a
racy way, thus potentially losing bits sets there at interrupt time or
by another CPU, like NEED_RESCHED or SIGPENDING (ouch !).
This fixes it by moving the potentially racy bit to a different field (I
preferred that rather than turning the access into an atomic operation
for performances reasons).
Russell King [Thu, 25 Mar 2004 17:58:50 +0000 (17:58 +0000)]
[ARM] Remove Anakin machine support.
Anakin has not been maintained since it was (partially) merged, and
the maintainers appear to ignore mail about it. No one appears
willing to maintain it either. However, some unrelated kernel
maintainers have been updating various files while they've been
working in the area - which is wasted work for something which
isn't maintained.
Therefore, this cset removes Anakin completely from the kernel.
Len Brown [Thu, 25 Mar 2004 12:40:31 +0000 (07:40 -0500)]
[ACPI] PCI interrupt link routing (Luming Yu)
use _PRS to determine resource type for _SRS
fixes HP Proliant servers
http://bugzilla.kernel.org/show_bug.cgi?id=1590
David Mosberger [Thu, 25 Mar 2004 03:53:10 +0000 (19:53 -0800)]
ia64: Improve layout of cpuinfo_ia64
Stephane made some measurements on the access-pattern of the cpuinfo_ia64
members and based on those results, this patch reorganizes the structure
for better cache-line sharing.
Jeff Garzik [Thu, 25 Mar 2004 02:13:24 +0000 (18:13 -0800)]
[PATCH] SATA: fix and enable sata-sil
sata_sil: it's a widely deployed chipset. Now that we've fixed it, let
users use it.
sata_via: Disk detection via SATA phy registers appear problematic.
Until that problem is identified and fixed, used the old PATA detection
code -- that was used in 2.6.4 -- instead.
Andrew Morton [Thu, 25 Mar 2004 00:09:13 +0000 (16:09 -0800)]
[PATCH] don't show cdroms in /proc/partitions
From: Jens Axboe <axboe@suse.de>
Currently SCSI cdroms show up in /proc/partitions in 2.6, they didn't in
2.4. And ATAPI cdroms don't show up either. Mark both as genhd removable
for now, when they are partionable this can be updated.
Andrew Morton [Thu, 25 Mar 2004 00:08:43 +0000 (16:08 -0800)]
[PATCH] ext2&3: use the right i_flags in find_group_orlov()
Spotted by Jorn Engel <joern@wohnheim.fh-wedel.de>: both the generic and
fs-specific parts of the inode have an i_flags. find_group_orlov() is using
the wrong one.
Andrew Morton [Thu, 25 Mar 2004 00:08:17 +0000 (16:08 -0800)]
[PATCH] ppc64: SMT snooze fix in idle loop
From: Olof Johansson <olof@austin.ibm.com>
A smt_snooze_delay of 0 is supposed to mean "disabled", but current idle
loop logic doesn't take that into account and snoozes immediately instead.
Below patch fixes the logic in the idle loop, as well as cleans up the test
a bit. An idling processor might no longer see a snooze change
immediately, but that's not needed anyway.
Dave Kleikamp [Wed, 24 Mar 2004 08:17:44 +0000 (02:17 -0600)]
JFS: don't use global lock in lmLogSync when local lock is sufficient
I stupidly used the global jfs_log_sem to protect log->sb_list when
implementing the shared journal stuff. Since we already hold
LOG_LOCK, it makes more sense to use that to protect log->sb_list.
This caused horrible serialization when running on lots of jfs
volumes.
Dave Kleikamp [Wed, 24 Mar 2004 08:11:52 +0000 (02:11 -0600)]
JFS: Prevent hang in __lock_metapage
Remove the hold_metapage call from txLog to prevent a hang.
While investigating this one, I audited all functions that held
metapage locks and found several error paths that did not release
them correctly. These are fixed as well.
Bjorn Helgaas [Wed, 24 Mar 2004 06:01:20 +0000 (22:01 -0800)]
[PATCH] ia64: fix name conflict with handle_exception()
I tried to build usb/gadget/file_storage.c (CONFIG_USB_FILE_STORAGE=y),
but it uses "handle_exception()" for its own purposes, which conflicts
with the ia64 definition. ia64 only uses handle_exception() within
arch code, so it seems like we ought to rename it to be ia64-specific.
done_with_exception() looks similar, so I renamed it as well, although
there's no actual conflict.
Dmitry Torokhov [Wed, 24 Mar 2004 05:55:48 +0000 (21:55 -0800)]
[NET_SCHED]: Fix class reporting in TBF qdisc.
The patch below fixes issue with 'tc class show dev <dev>' not showing any
classes when TBF qdisc is present in the chain. PLease consider for
inclusion.
Paul Mackerras [Tue, 23 Mar 2004 23:27:03 +0000 (15:27 -0800)]
[PATCH] fix ppc32 sys_swapcontext
This fixes a bug in the swapcontext system call on ppc32.
On ppc32, the system call entry only saves the volatile registers,
except in the case of a few system calls (e.g. fork) which need all the
registers saved. Swapcontext needs all the registers but we weren't
saving them all. So fixes that.
Paul Mackerras [Tue, 23 Mar 2004 23:26:51 +0000 (15:26 -0800)]
[PATCH] Threaded core dumps for PPC32
At the moment, ppc32 kernels will oops if a threaded program tries to
dump core. We call dump_fpu with a NULL regs pointer, which it tries
to dereference.
This fixes the issue by implementing the hooks used in doing threaded
core dumps properly.
In the long story of "BenH can't get a simple fix right the first time",
please add this one to pmac_zilog, and now people should enjoy really
working sleep again on pmac laptops ...
If the serial port was closed, we could use an uninitialized "pwr_delay"
and pass that to schedule_timeout().
Mark Goodwin [Tue, 23 Mar 2004 09:14:03 +0000 (01:14 -0800)]
[PATCH] ia64: deprecate SN2 linkstatd
This patch against 2.6.5-rc2 affects the SGI/SN platform only. It deprecates
a kernel daemon for our interconnect traffic statistics which has been
replaced by a userland tool.
Alex Williamson [Tue, 23 Mar 2004 08:56:33 +0000 (00:56 -0800)]
[PATCH] ia64: lost sx1000 naming in sba_iommu
Mainly cosmetic, but Bjorn noticed I got a little over zealous in
cleaning out the sx1000 specific init routines in sba_iommu. This adds
back in the ID->name mapping so it doesn't show up as "Unknown".
Jesse Barnes [Tue, 23 Mar 2004 08:55:38 +0000 (00:55 -0800)]
[PATCH] ia64: quiet sn_serial driver
Bjorn pointed out that the sn console driver will spew printks if
compiled in even if no hardware is present. In addition to fixing
that, I took the opportunity to cleanup/correct a few other printks in
that driver.