Summary of changes from v2.6.7-rc2 to v2.6.7-rc3
============================================
<vojtech@suse.cz>
input: Chips passing MUX detection incorrectly due to USB Legacy support
report MUX version 10.12, not 12.10. Fixed.
<vojtech@suse.cz>
input: Profusion/ServerWorks chipset workaround in i8042.c for Ingo Molnar.
<vojtech@suse.cz>
input: Fix emulation of mouse reset (0xff) command.
<davej@redhat.com>
[AGPGART] If ati_create_gatt_pages() fails, don't propagate an address we've
freed.
<dtor_core@ameritech.net>
Input: synaptics driver cleanup
- pack all button data in 2 bytes instead of 48
- adjust the way we extract button data
- query extended capabilities if SYN_EXT_CAP_REQUESTS >= 1
(was == 1) according to Synaptics' addendum to the interfacing
guide
- do not announce or report BTN_BACK/BTN_FORWARD unless touchpad
has SYN_CAP_FOUR_BUTTON in its capability flags
<dtor_core@ameritech.net>
Input: support Synaptics touchpads that have separate middle button
<dtor_core@ameritech.net>
Input: pass maximum allowed protocol to psmouse_extensions instead of
accessing psmouse_max_proto directly allowing to avoid changing
the global parameter when synaptics initialization fails
<dtor_core@ameritech.net>
Input: Change spurious ACK warning in atkbd to soften accusation
against XFree86
<dtor_core@ameritech.net>
Input: fix trailing whitespace in atkbd
<dtor_core@ameritech.net>
Input: remove unneeded fields in atkbd structure, convert to bitfields
<dtor_core@ameritech.net>
Input: Do not generate events from atkbd until keyboard is completely
initialized. It should suppress messages about suprious NAKs
when controller's timeout is longer than one in atkbd
<dtor_core@ameritech.net>
Input: when getting a new device announce (0xAA 0x00) in psmouse
try reconnecting instead of rescanning to preserve (if possible)
the same input device.
<dtor_core@ameritech.net>
Input: move "reconnect after so many errors" handling from synaptics driver
to psmouse so it can be used by other PS/2 protcol drivers (but so far
only synaptics knows how to validate incoming data)
<dtor_core@ameritech.net>
Input: add protocol_handler to psmouse structure to ease adding
new protocols to psmouse module
<dtor_core@ameritech.net>
Input: add psmouse_sliced_command (passes extended commands encoded
with 0xE8 to the mouse) and use it in Synaptics and Logitech
drivers
<dtor_core@ameritech.net>
Input: do not modify device's properties when probing for protocol
extensions on reconnect as it may interfere with reconnect
process
<dtor_core@ameritech.net>
Input: allow disabling legacy psaux device even for non-embedded systems
<dtor_core@ameritech.net>
Input: serio trailing whitespace fixes
<dtor_core@ameritech.net>
Input: make serio open and close methods optional
<dtor_core@ameritech.net>
Input: trailing whitespace fixes
<dtor_core@ameritech.net>
Input: - move set_abs_params from synaptics driver to input and
rename to input_set_abs_params
- convert input_report_* macros into inline functions
- make use of set_abs_params in touchscreen drivers
<tejohnson@yahoo.com>
input: Microtouch USB driver update
Changed reset from standard USB dev reset to vendor reset
Changed data sent to host from compensated to raw coordinates
Eliminated vendor/product module params
Performed multiple successfull tests with an EXII-5010UC
<dtor_core@ameritech.net>
Input: trailing whitespace fixes in drivers/input/serio
<dtor_core@ameritech.net>
Input: kbd98io_interrupt should return irqreturn_t
<dtor_core@ameritech.net>
Input: kbd98_interrupt should return irqreturn_t
<dtor_core@ameritech.net>
Input: various fixes for H3600 touchscreen driver
- h3600ts_interrupt, npower_button_handler and action_button_handler
should return irqreturn_t
- fix missing argument in h3600ts_process_packet call
- add MODULE_AUTHOR, MODULE_DESCRIPTION and MODULE_LICENSE
- small formatting changes
<dtor_core@ameritech.net>
Input: twidjoy module
- twidjoy_interrupt should return irqreturn_t
- add MODULE_DESCRIPTION and MODULE_LICENSE
<dtor_core@ameritech.net>
Input: trailing whitespace fixes in drivers/input/keyboard
<dtor_core@ameritech.net>
Input: power - add MODULE_LICENSE
<dtor_core@ameritech.net>
Input: trailing whitespace fixes in drivers/input/joystick
<dtor_core@ameritech.net>
Input: trailing whitespace fixes in drivers/input/gameport
<dtor_core@ameritech.net>
Input: trailing whitespace fixes in drivers/input
<dtor_core@ameritech.net>
Input: do not call synaptics_init unless we are ready to do full
mouse setup
<dtor_core@ameritech.net>
Input: split i8042 interrupt handling into an IRQ handler and a tasklet
<dtor_core@ameritech.net>
Patch from Sau Dan Lee
Input: i8042 - kill the timer only after removing interrupt handler,
otherwise there is a chance that interrupt handler will install
the timer again and it will trigger after module is unloaded.
<dtor_core@ameritech.net>
Input: mousedev - better multiplex absolute and relative devices;
cleanups
<davej@redhat.com>
[AGPGART] Various Intel/EM64T AGP fixes.
From Andi Kleen.
- Add full PCI IDs to the module table for intel-agp and intel-mch-agp.
Don't use PCI_ANY_ID for device, since the drivers cannot handle unknown
devices anyways.
This fixes the problems with them loading both when compiled in and
also helps external tools that use the module PCI table to find the
correct driver.
- Remove wrong hack in intel-mch-agp that checked for long mode.
EM64T capability has nothing to do with the MCH version.
To avoid double probing the fix above is better.
- Handle the case of no AGP capability (unlikely, but better to handle it)
<async@cc.gatech.edu>
evdev.c:
input: Fix an oops at opentime of /dev/input/event devices
<vojtech@suse.cz>
input: Check for IM Explorer mice even if IMPS check failed.
<tiwai@suse.de>
input: Fix oops in hiddev
<davej@redhat.com>
[AGPGART] Don't abort if Intel-agp can't find AGP capability.
Some bridges don't have this set it seems.
Detective work, and fixing by Andi Kleen.
<aia21@cantab.net>
NTFS: Add a new address space operations struct, ntfs_mst_aops, for mst
protected attributes. This is because the default ntfs_aops do not
make sense with mst protected data and were they to write anything to
such an attribute they would cause data corruption so we provide
ntfs_mst_aops which does not have any write related operations set.
<davej@redhat.com>
[AGPGART] Make the driver only announce the PCI IDs it actually supports.
This avoids dups with the amd64 driver.
From: Andi Kleen
<davej@redhat.com>
[AGPGART] kill trailing whitespace & indentation fixes.
<davej@redhat.com>
[AGPGART] Make the VIA AGP driver only announce PCI IDs it actually supports.
Avoids dups with the AMD64 driver.
From: Andi Kleen
<davej@redhat.com>
[AGPGART] Make the Nvidia AGP driver only announce PCI IDs it actually
supports.
From: Andi Kleen
<davej@redhat.com>
[AGPGART] Add missing SIS755 ID to AMD64 AGP driver
From: Andi Kleen
<davej@redhat.com>
[AGPGART] Remove lots of trailing whitespace from amd64 gart driver.
No code changes.
<davej@redhat.com>
[AGPGART] Fix a potential leak in intel driver.
It's not leaking anything currently, as agp_alloc_bridge() doesn't do any
actual allocations right now, but if/when things get changed to support
multiple bridges, these error paths need to free up the allocation.
<davej@redhat.com>
[CPUFREQ] Silence noisy debugging printk in longhaul driver.
<davej@redhat.com>
[CPUFREQ] Convert longhaul driver to use module_param
<davej@redhat.com>
[CPUFREQ] Remove some unneeded includes.
<davej@redhat.com>
[CPUFREQ] Use correct printk prefix in p4-clockmod driver
<davej@redhat.com>
[CPUFREQ] Quieten the powernow-k7 init printk a little.
There seem to be quite a few desktop K7 processors which support the
powernow cpuid call, but don't actually offer any powernow scaling.
In which case the driver prints out
"PowerNOW! Technology present. Can scale: nothing" which looks a bit odd,
and just adds to confusion of end-users.
Change things so that we don't print anything at all if we can't do anything.
Also kill some trailing whitespace gremlins that crept in.
<davej@redhat.com>
[CPUFREQ] Remove a bunch of trailing whitespace from the powernow-k8 driver.
<davej@redhat.com>
[CPUFREQ] Fix leak in powernow-k8
Spotted by Yury Umanets
<davej@redhat.com>
[CPUFREQ] Make longhaul debug a module option.
<davej@redhat.com>
[CPUFREQ] Scaling on VIA C3 Nehemiah works now.
So remove the warning printk.
<aia21@cantab.net>
NTFS: Cleanup dirty ntfs inode handling (fs/ntfs/inode.[hc]) which also
includes an adapted ntfs_commit_inode() and an implementation of
ntfs_write_inode() which for now just cleans dirty inodes without
writing them (it does emit a warning that this is happening).
<aia21@cantab.net>
NTFS: 2.1.12 release - Fix the second fix to the decompression engine.
<davej@redhat.com>
[CPUFREQ] fix panic in powernow_k8_verify on MP but PSB systems.
Instead of -ENODEV; powernow_k8_cpu_init returns 0 if it's running on a MP
system but PSB BIOS is tried... this causes a panic in
powernow_k8_verify, as can be seen at
http://forums.gentoo.org/viewtopic.php?t=177423
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Dominik Brodowski <linux@brodo.de>
<davej@redhat.com>
[CPUFREQ] Make powernow-k7 module parameter not need powernow prefix.
From: Bruno Ducrot
because powernow_k7.powernow_acpi_force=1 looks silly.
<davej@redhat.com>
[AGPGART] SIS AGP updates
Signed-off-by: Dave Jones <davej@redhat.com>
From: "Heilmann, Oliver" <Oliver.Heilmann@drkw.com>
* renamed sis_648_enable to sis_delayed_enable and removed chipset
references
* All chipsets that require the sis delay-hack are listed in
sis_broken_chipsets (and no other place).
* There are two new module options to force agp3-spec compliant
initialisation and/or the delay hack. As I only have a 648FX chipset to
test on, I figured this might be useful to experiment with on other
chipsets (i.e.746[FX]).
Basically, if you have an SiS chipset and your machine freezes when you
start X, try the -agp_sis_force_delay=1 option. If this fixes your
problem add your PCI ID to sis_broken_chipsets in sis-agp.c
Note to 746[FX] people: I'm still not sure what the differences between
the two 746 versions and the 648 series are. If this patch does not work
for you try playing with the agp_sis_agp_spec module option. Any
feedback is greatly appreciated.
<davidm@tiger.hpl.hp.com>
ia64: Reserve syscall # for vserver().
<bjorn.helgaas@hp.com>
[PATCH] ia64: fix hotplug config placement
HOTPLUG_CPU depends on SMP, so why not put it under SMP?
<jgarzik@redhat.com>
[netdrvr e1000] use generic ethtool_ops provided in net/core/ethtool.c
<jbarnes@engr.sgi.com>
[PATCH] ia64: don't udelay() in sn_mmiob
sn_mmiob is a lightweight way to ensure PCI write ordering, intended
to be used as an alternative to doing a PIO read. Unfortunately, with
the udelay() in there, it ends up being slower than a PCI read on
small configurations, so remove it in favor of a simple cpu_relax().
<jgarzik@redhat.com>
[netdrvr 8139too] remove bogus config option test
8139too should not be testing CONFIG_EMBEDDED.
Thanks to Christoph Hellwig for pointing this out.
<rmk@flint.arm.linux.org.uk>
[ARM] Add two more missing __user annotations for sparse.
<pepe@attika.ath.cx>
[PATCH] make vram boot option actually work
The following patch makes the vram boot option actually be recognized
and its value assigned to the vram variable.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<torvalds@ppc970.osdl.org>
Add __user annotations to sock_get_timestamp()
<torvalds@ppc970.osdl.org>
ppc64: fix untyped large constants so that they don't cause
sparse to warn about implicit typing.
<ak@suse.de>
[PATCH] x86-64 update
Add accumulated bug fixes for x86-64 and some minor cleanups.
- Add ptep_set_access_flags from i386
- Change memory text mapping to 10MB from 40MB to make alias window
smaller
- Disable change_page_attr for kernel mapoing for now (wrong, but the
other code also doesn't work)
- Add .bss.page_aligned and align interrupt/exception stacks (idea from
Matt Mackall)
- Protect sysenter MSR setup against missing registers.
- Set mce tolerance level to 1 (panic instead of deadlock)
- Fix cross 4GB bug in find_first_bit (Michael Matz)
- Add missing memory clobbers in bitops.h (Suresh B. Siddha)
- Check kernel size at boot up
- Set boot cpu online at boot to fix early printk
- Fix EFER bit definitions (Dave Jones)
- Fix comments in 32bit syscall table.
- Quieten all 32bit syscalls that are unimplemented in 32bit.
- Various MCE fixes suggested by Eric Morton, David Boles et.al.
More to come.
- Quieten some printks
- Fix cpu online check in msr driver
- Lower polling interval for machine checks to 5 minutes to avoid
overrunning the registers.
- Make memcpy_{from,to}io more compatible with i386 (Roland Dreier)
<ak@suse.de>
[PATCH] Really fix empty node 0 on x86-64
x86-64 shares some numa code with i386, and that didn't handle holes in
the node map properly. Fix this.
<torvalds@ppc970.osdl.org>
ppc64: use "ASM_CONST()" to give proper C type to constants
that can also be used in assembly language context.
This one fixes the common CPU_FTR_COHERENT_ICACHE warning in
asm/cacheflush.h.
<davem@nuts.davemloft.net>
[SPARC64]: Update defconfig.
<davem@nuts.davemloft.net>
[SPARC]: Do tty_flip_buffer_push outside of port lock.
<davem@nuts.davemloft.net>
[PKT_SCHED]: Missing rta_len init in sch_delay.
<ak@suse.de>
[PATCH] Fix compilation on x86-64
I managed to break compilation with my last patch with a last minute edit.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: missed setsockopt wrappers
Here's the tail of setsockopt I've missed - for old protocol families we
have wrappers around those methods.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: dev_ioctl() callers
dev_ioctl() has a __user pointer argument; however, its declaration
lacks that and callers are also wrong. Declaration fixed, callers updated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: missed piece of sock_get_timestamp() annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: trivial part of net/* annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: more net/* annotation
Annotation of net/* ...copy... that deals with userland pointers +
several bits that fell out of previous patch (trivial annotations)
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: net/* non-ANSI argument lists
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: amd64 annotation - beginning
Annotated basic primitives (copy_.._user, get_user, ...).
Functions got __user in prototypes, macros (in uaccess.h) got a
conditional check - see CHECK_UPTR() below. If you have more elegant
way to deal with the macros - please, tell.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: amd64 annotations - trivial part
Annotation of amd64 code - just adding __user where needed...
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: amd64 - more trivial annotations
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: amd64 - #if abuse fixes
#if where #ifdef should've been. Fixed.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: amd64 - long constants
Long constants marked as such.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: amd64 - rest
return void in floppy.h and "conditionally long" constants in page.h.
Would be useful to teach as(1) about C notation for long...
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: fs/compat.c::copy_iocb() cleanup
That "u64" in there is actually struct iocb __user *. Changed
prototype, killed casts in body and caller...
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: tty_io annotation
tty_io.c annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: tty_ioctl annotation
tty_ioctl.c annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: vt and friends
vt, vt_ioctl, consolemap and selection annotated, struct unimapdesc
and struct consolefontdesc got __user on their pointer members.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: n_tty annotation
n_tty annotated, ldisc_struct ->read() and ->write() got __user
on their buf argument.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: tty_driver ->write_proc()
Made ->write_proc in tty_driver suitable for procfs write callback
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: SIOCGIFCONF handling - the rest of it
Fixed the type of SIOCGIFCONF callback; inet instance was already
correctly annotated, decnet one was _not_. Moreover, decnet callback
needed fixing - dereferencing userland address.
<torvalds@ppc970.osdl.org>
ppc64: more explicitly typed constants
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse alpha: beginning of __user annotation
Copying primitives annotated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse alpha: long constants
Long constants marked as such
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse alpha: #if abuses
#if where #ifdef should've been
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse alpha: trivial parts of __user annotation
Trivial stuff in arch/alpha annotated; in two cases of
osf_proplist_syscall() dereferencing userland pointers replaced with
get_user
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse alpha: utimes()
... and that's where I'd found do_utimes() crap before I went
grepping ;-)
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse alpha: the rest of it
A bunch of "return in void function" dealt with, removed bogus extern
from definition of __load_new_mm_context(), sanitized fscking ugly
CROSS_64K() helper (even if sparse doesn't segfault on that anymore,
it's _still_ fscking ugly).
<torvalds@ppc970.osdl.org>
ppc64: mark the "regshere" marker with proper type information.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] trivial annotation for arch/i386/kernel/*
Several places in arch/i386/kernel were still un-annotated - they didn't
trip copy_.._user(), so they stayed alive. Caught and killed.
That's not all - there's a big cluster of them in vm86.c, but I haven't
looked into that code yet.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: reiserfs annotation
Everything straigthforward and takes care of almost all sparse warnings
in fs/reiserfs/*.
<rmk@flint.arm.linux.org.uk>
[PCMCIA] Fix up SOC PCMCIA socket timing calculations
The timing calculations used by the PXA platforms did not always take
account of the timings handed to us by PCMCIA, and where it did, it
assumed IO timings for memory windows.
We fix this, and provide a generic function which calculates the
required timings (in nanoseconds) for IO, memory and attribute
windows. The SOC drivers only have to convert this information to
whatever format the hardware requires to achieve at least these
timing parameters.
<rmk@flint.arm.linux.org.uk>
[ARM] Eliminate meminfo 'end' element
Some machines decided to initialise this element. It's not necessary
since find_memend_and_nodes() initialises this itself. However,
'end' is not required if we initialise high_memory in this function
rather than waiting until mem_init() is called.
<rmk@flint.arm.linux.org.uk>
[ARM] Correct permissions on several ARMv6 files.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: asus_acpi dereference of userland pointers
Direct sscanf() on userland buffer in procfs ->write_proc(). Fixed.
<torvalds@ppc970.osdl.org>
sparse: add "__force" type attribute for forcing a cast.
<torvalds@ppc970.osdl.org>
ppc64: check more of the user access functions for proper arguments.
<torvalds@ppc970.osdl.org>
ppc64: missing __user annotations noticed by stricter checks.
<torvalds@ppc970.osdl.org>
sparse: make x86 user pointer checks stricter.
Also use "__force" when forcing the user address to "unsigned long"
for the address limit check.
<marcel@holtmann.org>
[Bluetooth] Move function exports out of syms.c
With Linux 2.6 there is no need to keep the function exports in a
central file and thus the use of syms.c makes no real sense. Remove
it and add the EXPORT_SYMBOL calls to the functions they belong to.
<torvalds@ppc970.osdl.org>
ppc64: fix more user pointers in signal handling
<torvalds@ppc970.osdl.org>
ppc64: add more user annotations to ptrace.c
<torvalds@ppc970.osdl.org>
ppc64: more user address fixups.
Removed one (harmless) direct user pointer access.
<davem@nuts.davemloft.net>
[SPARC64]: Fix NR_IRQS check in hardirq.h
<marcel@holtmann.org>
[Bluetooth] Remove CVS tags and cleanup the code
Since we are using Bitkeeper the CVS tags are useless. This patch
removes them and makes some whitespace cleanups.
<marcel@holtmann.org>
[Bluetooth] Update Kconfig help entries
This patch updates the address of the BlueZ project and changes
some wording of the help entries.
<marcel@holtmann.org>
[Bluetooth] Allocate protocol number for HIDP support
This patch allocates the next free protocol number for the upcoming
HIDP support.
<marcel@holtmann.org>
[Bluetooth] Add dynamic PSM allocation for L2CAP server sockets
If no PSM is specified for a L2CAP server socket, it will search
for the next free one and automaticly bind to it.
Proposed by Stephen Crane <steve.crane@rococosoft.com>
<marcel@holtmann.org>
[Bluetooth] Add dynamic channel allocation for RFCOMM server sockets
If no channel is specified for a RFCOMM server socket, it will search
for the next free one and automaticly bind to it.
Proposed by Stephen Crane <steve.crane@rococosoft.com>
<marcel@holtmann.org>
[Bluetooth] Add quirk for broken RTX Telecom based dongles
Some RTX Telecom based USB dongles offer SCO support, but their
implementation is broken. This patch disables the use of the ISOC
interface for these devices.
<davem@nuts.davemloft.net>
[SPARC64]: Annotate 64-bit constants with 'UL'
<davem@nuts.davemloft.net>
[SPARC64]: __volatile --> __volatile__
<petero2@telia.com>
[PATCH] Avoid excessive stack usage in NFS
Assigning '*wdata' with a dynamic initializer creates a
temporary structure copy on the stack, and then the final
data is initialized with a "memcpy()".
As a result, these NFS functions use more than 800 bytes
of stack-space.
Changing the code to just do a memset followed by explicit
initialization of the non-zero member variables takes the
stack usage down to 36 bytes.
Here is a patch that does exactly that.
<torvalds@ppc970.osdl.org>
sparse: make x86 and ppc64 set the architecture-specific #define's
explcitly.
sparse doesn't set any arch defines itself.
<davem@nuts.davemloft.net>
[SPARC64]: Lots of sparse work for arch/sparc64.
<akpm@osdl.org>
[PATCH] ppc32: reorg DMA API, add coherent alloc in irq
From: Eugene Surovegin <ebs@ebshome.net>
Put back DECLARE_PCI_UNMAP_??? and friends accidentaly removed during DMA
API reorganization.
Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davem@nuts.davemloft.net>
[SPARC]: Set sparse arch defines explicitly.
<davem@nuts.davemloft.net>
[SPARC]: First stage of sparc32 sparse work.
<akpm@osdl.org>
[PATCH] fix net/ixgb/ixgb_main.c warning
From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
drivers/net/ixgb/ixgb_main.c: In function `ixgb_intr':
drivers/net/ixgb/ixgb_main.c:1593: warning: unused variable `hw'
(catch by J. Cherry).
This happens because `hw' is only used when CONFIG_IXGB_NAPI is not set.
As `hw' is used only to have the code readable, we can use it for
!CONFIG_IXGB_NAPI too.
Signed-off-by: Andrew Morton <akpm@osdl.org>
<akpm@osdl.org>
[PATCH] s2io section fix
s2io_rem_nic() is marked __exit and is being referred to from .data.
Signed-off-by: Andrew Morton <akpm@osdl.org>
<hch@lst.de>
[PATCH] farsync needs <asm/io.h>
i386 gets it implicitly from somewhere but some architectures don't.
Also move <asm/uaccess.h> down so we have asm after linux headers.
<khc@pm.waw.pl>
[PATCH] Re: [Fwd: [PATCH] Stop queue on close in hdlcdrv]
> From: Ralf Baechle <ralf@linux-mips.org>
> Subject: [PATCH] Stop queue on close in hdlcdrv
> To: Jeff Garzik <garzik@gtf.org>
> Date: Tue, 4 May 2004 13:59:15 +0200
>
> The stop method of a driver should ensure queueing is stopped ...
>
> diff -u -r1.19 hdlcdrv.c
> --- suckage/drivers/net/hamradio/hdlcdrv.c 12 Apr 2004 20:23:32 -0000
the above means the following is needed for my drivers - please apply to 2.6:
<willy@debian.org>
[PATCH] Better tulip handling on PA-RISC
This patch improves some of the handling of PA-RISC tulip cards.
- Introduce HAS_SWAPPED_SEEPROM and NEEDS_FAKE_MEDIA_TABLE
- Only trigger this code on GSC machines. The pure PCI machines don't
have these cards.
- Allow the chip_name to be overridden in tulip_init_one().
- Fix some indentation.
- Handle the output from tulip_read_eeprom() better.
<joern@wohnheim.fh-wedel.de>
[PATCH] Improve `make checkstack'
On i386, stack usually grows with "sub $0x8,%esp" and shrinks with
"add $0x8,%esp" respectively. In some cases, though, stack grows with
"add $0xffffff80,%esp" and shrinks with "sub $0xffffff80,%esp".
Obviously, we don't want to miss those cases.
Since in either case add and sub seem to be balanced and contain the
same parameter, we don't need a second regex. We simply accept hex
numbers of up to 8 digits and treat them as negative numbers when the
sub appears to be a little too high.
...or so I thought. But another day of testing proved me wrong again.
Some functions do stuff like "sub $0x10,%esp", ..., "add $0x20,%esp".
In other words, add and sub are *NOT* balanced. Manual inspection
showed that 0x20 is a more realistic number, so I accept either
variant, just in case. We pay for this with a bunch of duplicates in
our output, but that beats missing some stack hogs.
In the long run, this script has to be replaced by gcc options,
really. Looking at the result and guessing back is such a stupid
idea.
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
<P@draigBrady.com>
[WATCHDOG] v2.6.6 w83627hf_wdt.c-patch
Add w83627hf_select_wd_register and w83627hf_unselect_wd_register.
Add w83627hf_init to fix initialization problem on certain motherboards.
Make ping and disable code return 0 (int) on success.
Extract set_heartbeat code to seperate function.
<yoshfuji@linux-ipv6.org>
[IPV6] use appropriate __alignof__() for mibs.
<yoshfuji@linux-ipv6.org>
[NET] Introduce and use several common stuff for snmp item list.
<yoshfuji@linux-ipv6.org>
[IPV{4,6}] introduce ip-independent ipstats_mib based on ipv6_mib.
<yoshfuji@linux-ipv6.org>
[IPV6] rename snmp6_ipv6_list to snmp6_ipstats_list.
<davej@redhat.com>
[AGPGART] Fix broken serverworks tlb flush routine.
This is horribly broken due to a jiffy wrap bug, we never get out of
the while loop, preventing booting on a kernel with this driver
compiled in. (See
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124495)
The warning message there has never been reported in any bug report
that google can find, so I'm of the opinion that this driver is trying
to be too clever for its own good. Rip out the jiffies logic completely,
it should be totally unnecessary.
<davej@redhat.com>
[AGPGART] Make agp=off work again.
This option only worked for the amd64 driver.
On every other driver, the only thing it did was
make it not printk the banner on startup.
<yoshfuji@linux-ipv6.org>
[IPV4] use ip-independent ipstats_mib to store IPv4 statistics.
<davej@redhat.com>
[AGPGART] Improve the resume functions for Intel AGP bridges by restoring
config space
(the bios might not have done that).
From: Arjan van de Ven
<airlied@starflyer.(none)>
fix missing DRM_ERR()s - Eric Anholt
Signed-off-by: Dave Airlie <airlied@linux.ie>
<airlied@starflyer.(none)>
add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,
GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
from Roland Scheidegger
Signed-off-by: Dave Airlie <airlied@linux.ie>
<davej@redhat.com>
[CPUFREQ] Fix build of longhaul.
Arjan noted that in some cases, the build fails.
This should fix it up.
<torvalds@ppc970.osdl.org>
sparse: use new generic __chk_user_ptr() macro in x86/ppc64/sparc*
Older versions of gcc were unhappy with our previous trick, and
just separating out the __CHECKER__ case made it much simpler.
<ak@suse.de>
[PATCH] Fix x86-64 compilation without CONFIG_NUMA
This fixes compilation of x86-64 without CONFIG_NUMA again (got broken
by the previous patchkit)
<rusty@rustcorp.com.au>
[PATCH] Export kthread primitives
kthreads are not just for breakfast anymore.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (creator)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc64: fix missing RELOCs, add linux,phandle property
This fixes a couple of bugs in arch/ppc64/kernel/prom.c. We were
missing a couple of places where we needed to use RELOC(). I added the
RELOC in one case, and in the other, moved the variable that we were
accessing onto the stack (and reduced its size). (We use the variable
to get a property value, but we aren't interested in the value, just in
whether the property exists or not. Since we pass the size of the
variable to the OF getprop call, it won't overflow.) The effect of
missing the RELOCs would be that random memory locations get used on IBM
pSeries systems (possibly causing random boot failures).
The other thing that this does is add a linux,phandle property to each
node, containing the phandle for the node, which is the token that OF
uses to identify the node. Some nodes reference other nodes by means
of their phandle. Without the linux,phandle property, userspace code
looking at the OF device-tree image in /proc/device-tree has no way of
knowing which other node is being referenced.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] radeonfb fix (non-8bpp clear doesn't use palette)
From: Jurriaan <thunder7@xs4all.nl>
I've used this patch since 2.6.5, and other users have confirmed it
solves their problems.
Basically, when not in 8bpp mode, radeonfb should use the palette when
clearing a region on screen. This is how it's done in 2.4 and xfree, also.
Signed-off-by: Jurriaan Kalkman <thunder7@xs4all.nl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: iSeries default config update
From: Stephen Rothwell <sfr@canb.auug.org.au>
This patch brings the iSeries default config up to date and changes some of
the options to what I use. These are more sensible options (at least in my
opinion :-)). Please apply.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: iSeries virtual ethernet minor optimisation
From: Stephen Rothwell <sfr@canb.auug.org.au>
This has only been adjusted by me to apply after David Gibson's patch to
add a watchdog timer.
The iseries_veth driver does skb_clone, it should only need to skb_get,
which is cheaper. Should help performance a little.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: iSeries fix virtual ethernet transmit block
From: Stephen Rothwell <sfr@canb.auug.org.au>
This patch fixes the virtual ethernet driver so that it will not block the
transmit queue indefinitely. This patch appplies on top of the previous
patch from Rusty that removed skb_clone. There is one white space fix in
hte middle of this - I hope that doesn't offend :-).
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: add eeh_add_device_early/late
From: Anton Blanchard <anton@samba.org>
Implement eeh_add_device_early and eeh_add_device_late, required for
the ppc64 PCI hotplug code.
Signed-off-by: Linas Vepstas <linas@us.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: reset iseries progress indicator on boot
From: Anton Blanchard <anton@samba.org>
Reset the progress indicator on iseries after boot.
Signed-off-by: John Engel <engel@us.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: bolt first vmalloc segment into SLB
From: Anton Blanchard <anton@samba.org>
Based on some profiles we noticed the first vmalloc region was being
continually cast out and replaced. All modules end up there so it is one
of our hottest segments.
This patch bolts the vmalloc region into the second segment. SLB misses on
an NFS benchmark were reduced by about 10% with this patch.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: SLB accounting fix
From: Anton Blanchard <anton@samba.org>
Even though we have a variable containing the number of entries in the SLB,
we hardwire the value at boot. We also dont use the variable in the head.S
fastpath handler.
This patch removes it.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: iseries bolted SLB fix
From: Anton Blanchard <anton@samba.org>
Legacy iseries has problems with the bolted vmalloc patch. This patch
disables the optimisation on iseries and creates a slb_add_bolted helper
function.
Also, while we require all SLB entries to be context switched, we werent
informing the iseries hypervisor.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Add watchdog timer to iseries_veth driver
From: David Gibson <david@gibson.dropbear.id.au>
Currently the iSeries virtual ethernet driver has no Tx watchdog timer.
This makes it vulnerable to clagging up if the other end of connection is
misbehaving - in particular if it is not giving timely hypervisor level
acks to our data frams.
This patch adds a watchdog timer which resets the connection to any lpar we
seem to be having trouble sending to. With any luck the other end might
behave better after the reset. If not, this will at least unclag the queue
for a while so we can keep talking to the lpars which are behaving
correctly.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Add FUTEX_CMP_REQUEUE futex op
From: Jakub Jelinek <jakub@redhat.com>
FUTEX_REQUEUE operation has been added to the kernel mainly to improve
pthread_cond_broadcast which previously used FUTEX_WAKE INT_MAX op.
pthread_cond_broadcast releases internal condvar mutex before FUTEX_REQUEUE
operation, as otherwise the woken up thread most likely immediately sleeps
again on the internal condvar mutex until the broadcasting thread releases
it.
Unfortunately this is racy and causes e.g.
http://sources.redhat.com/cgi-bin/cvsweb.cgi.../cvsroot=glibc
to hang on SMP.
http://listman.redhat.com/archives/phil-list/2004-May/msg00023.html contains
analysis how the hang happens, the problem is if any thread does
pthread_cond_*wait in between releasing of the internal condvar mutex and
FUTEX_REQUEUE operation, a wrong thread might be awaken (and immediately go
to
sleep again because it doesn't satisfy conditions for returning from
pthread_cond_*wait) while the right thread requeued on the associated mutex
and there would be nobody to wake that thread up.
The patch below extends FUTEX_REQUEUE operation with something FUTEX_WAIT
already uses:
FUTEX_CMP_REQUEUE is passed an additional argument which is the expected
value
of *futex. Kernel then while holding the futex locks checks if *futex !=
expected and returns -EAGAIN in that case, while if it is equal, continues
with a normal FUTEX_REQUEUE operation. If the syscall returns -EAGAIN, NPTL
can fall back to FUTEX_WAKE INT_MAX operation which doesn't have this
problem,
but is less efficient, while in the likely case that nobody hit the (small)
window the efficient FUTEX_REQUEUE operation is used.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Mark cache_names __initdata
From: Brian Gerst <bgerst@didntduck.org>
We don't need to keep the pointer array around after the caches are
initialized. This doesn't affect the actual strings.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Support for SC1100
From: David Goodenough <david.goodenough@btconnect.com>
Add PCI device supoprt for the Geode SC1100-based Microtik Routerboard 230.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Missing pop-off in arch/i386/kernel/acpi/wakeup.S
From: <gniibe@m17n.org>
There is a missing pop-off after call of acpi_enter_sleep_state. On
success, acpi_enter_sleep_state never returns, but on failure, it will
cause kernel OOPS.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] md.c message during quiet boot
From: Ingo Molnar <mingo@elte.hu>
the patch below gets rid of a message that gets printed during FC2's quiet
bootup.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] POSIX_MQUEUE depends on NET
From: Adrian Bunk <bunk@fs.tum.de>
POSIX_MQUEUE requires netlink.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] SECURITY_SELINUX depends on NET
From: Adrian Bunk <bunk@fs.tum.de>
LD .tmp_vmlinux1
security/built-in.o(.text+0x97e4): In function `selnl_notify':
: undefined reference to `alloc_skb'
security/built-in.o(.text+0x988a): In function `selnl_notify':
: undefined reference to `netlink_broadcast'
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] pnpbios only makes sense for X86
From: Christoph Hellwig <hch@lst.de>
Extracted from the Debian kernel package
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Document checkstacks
From: Diego Calleja =?ISO-8859-15?Q?Garc=EDa?= <diegocg@teleline.es>
It'll be much better if the world can know about the existence of
checkstacks.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] vesafb: vram boot option the same as 2.4.x
From: Marc-Christian Petersen <m.c.p@kernel.linux-systeme.com>
Give the vesafb `vram' boot option the same (silly) syntax as 2.4 and
document it.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] s/tkill/tgkill/ in /** documentation */
From: bert hubert <ahu@ds9a.nl>
Documentation is in fact for tgkill and not for tkill
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] linux/timer.h needs linux/stddef.h
From: Christoph Hellwig <hch@lst.de>
timer.h is using NULL and thus needs stddef.h, without it some drivers
break on alpha.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] fix mca procfs stub
From: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Fix readahead handling in knfsd
From: NeilBrown <neilb@cse.unsw.edu.au>
The read-ahead structures were not being initialised properly, and were not
having the use-count decremented after use, making them fairly useless
(since Apr 2002!).
From: Colin Gibbs <colin@gibbsonline.net>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] i386: add missing bitop.h memory clobbers
From: Andi Kleen <ak@muc.de>
Add missing memory clobbers to find_first_bit() and find_first_zero_bit().
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] sched: remove noinline workaround
From: Ingo Molnar <mingo@elte.hu>
Now the x86_64 bitop memory clobber problem has been fixed we can remove
this.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] cpqarray.c: seed the random number pool
From: George France <france@handhelds.org>
Teach cpqarray.c to do the add_disk_randomness() thing.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] use aio workqueue in fs/aio.c
From: William Lee Irwin III <wli@holomorphy.com>
Minor aio correction split off from suparna's patches:
Use the dedicated aio workqueue, not keventd, in order to isolate the rest
of the system from aio's demands.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] correct use_mm()/unuse_mm() to use task_lock() to protect ->mm
From: William Lee Irwin III <wli@holomorphy.com>
Split off from suparna's patches:
Correct use_mm()/unuse_mm() to use task_lock() to protect task->mm.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] CRIS architecture update
From: "Mikael Starvik" <mikael.starvik@axis.com>
- Lots of fixes from 2.4.
- Updated for 2.6.6.
- Added IDE driver
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] radeonfb powerdown doesn't work
From: <fxkuehl@gmx.de>
When I switch the computer to standby with echo -n standby >
/sys/power/state the radeonfb driver tells me its suspending to state 1 but
the display does not get turned off. It turns out to be a small typo in
drivers/video/aty/radeon_pm.c.
(from http://bugme.osdl.org/show_bug.cgi?id=2758)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davej@delerium.codemonkey.org.uk>
Cset exclude: davej@redhat.com|ChangeSet|20040523113850|65135
<davej@redhat.com>
[AGPGART] intel-agp: skip non-AGP devices
From: Matt Domsch.
The E7205 doesn't have an AGP header, so printing this message is
pretty much useless. Also make it KERN_WARNING as well, as it's
not really worthy of a KERN_ERR
<torvalds@ppc970.osdl.org>
Start documenting the sign-off procedure in SubmittingPatches
We already have over 200 sign-off lines in the kernel, so
let's document the thing, even if discussion may still be
on-going.
<yoshfuji@linux-ipv6.org>
[IPV6]: Store idev in routes.
<davem@nuts.davemloft.net>
[IPV6]: ndisc_dst_alloc can never get a NULL dev.
<herbert@gondor.apana.org.au>
[IPSEC]: Fix xfrm_tunnel leak.
Turns out that the IPIP tunnel used by IPCOMP states are only freed
if the IPCOMP state is deleted by xfrm_state_delete.
This is not the case for all states. For example, an immature IPCOMP
state that dies in add_sa will not go through xfrm_state_delete.
The following patch moves the delete_tunnel call into IPCOMP's
destructor. I think it makes more sense there as IPCOMP is the
only user of the tunnel anyway.
<rmk@flint.arm.linux.org.uk>
[ARM] Update ARM memory region reservations.
Remove 26-bit ARM region reserves.
All region reserves start at PHYS_OFFSET, and we only ever have one,
so set res_size and reserve the region from PHYS_OFFSET size res_size.
Don't free the .init sections on Integrator/CP - they sit in the SSRAM
obscured region so we are unable to use them for DMA purposes.
<rmk@flint.arm.linux.org.uk>
[ARM] Fix missing spinlock initialisation.
<bjorn.helgaas@hp.com>
[PATCH] active_load_balance() deadlock
active_load_balance() looks susceptible to deadlock when busiest==rq.
Without the following patch, my 128-way box deadlocks consistently
during boot-time driver init.
<torvalds@ppc970.osdl.org>
Add comments on load balancing special cases.
Ingo explains:
The condition is 'impossible', but the whole balancing code is
(intentionally) a bit racy:
cpus_and(tmp, group->cpumask, cpu_online_map);
if (!cpus_weight(tmp))
goto next_group;
for_each_cpu_mask(i, tmp) {
if (!idle_cpu(i))
goto next_group;
push_cpu = i;
}
rq = cpu_rq(push_cpu);
double_lock_balance(busiest, rq);
move_tasks(rq, push_cpu, busiest, 1, sd, IDLE);
in the for_each_cpu_mask() loop we specifically check for each CPU in
the target group to be idle - so push_cpu's runqueue == busiest [==
current runqueue] cannot be true because the current CPU is not idle, we
are running in the migration thread ... But this is not a real problem,
load-balancing we do in a racy way to reduce overhead [and it's all
statistics anyway so absolute accuracy is impossible], and active
balancing itself is somewhat racy due to the migration-thread wakeup
(and the active_balance flag) going outside the runqueue locks [for
similar reasons].
so it all looks quite plausible - the normal SMP boxes dont trigger it,
but Bjorn's 128-CPU setup with a non-trivial domain hiearachy triggers
it.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<nico@org.rmk.(none)>
[ARM PATCH] 1896/2: distinguish between memory and LCD clock on PXA
Patch from Nicolas Pitre
[patch rediffed]
On PXA27x the memory and LCd clocks are different.
Also clean the PXA27x clock code a bit.
<rmk@flint.arm.linux.org.uk>
[ARM] asm_do_IRQ takes an unsigned IRQ number.
<yoshfuji@linux-ipv6.org>
[IPV4]: Store idev in routes.
<davem@nuts.davemloft.net>
[SPARC64]: Compat syscall overhaul.
1) Make syscall entry zero-extend all arguments.
2) Sign extend those needed in sys32.S
3) Kill the A() AA() macros, replace with compat_ptr() et al.
<dsw@gelato.unsw.edu.au>
ia64: define pending_irq_cpumask in irq.c
This fixes a build-problem with the Ski simulator. The simulator doesn't
include iosapic.c and hence pending_irq_cpumask never got defined.
<davidm@tiger.hpl.hp.com>
Update ia64 linux mailing-list and web-site addresses.
<davidm@tiger.hpl.hp.com>
ia64: Add defconfig for Ski simulator (patch by Darren Williams).
<maeda.naoaki@jp.fujitsu.com>
ia64: fix /proc/ioports regression in 2.6.6 on Tiger4
This patch fixes a problem that "cat /proc/ioports" loops
on some IA64 machines that use quirk_io_region(). The problem
is caused by redundant resource claim by quirk_io_region()
and pcibios_fixup_device_resources(). The patch prevents
this condition and is written by Matthew Wilcox.
Signed-off-by: Maeda Naoaki <maeda.naoaki@jp.fujitsu.com>
<jeremy@redfishsoftware.com.au>
[PATCH] Fix signal race during process exit
Fix a race identified by Jeremy Kerr <jeremy@redfishsoftware.com.au>: if
update_process_times() decides to deliver a signal due to process timer
expiry, it can race with __exit_sighand()'s freeing of task->sighand.
Fix that by clearing the per-process timer state in exit_notify(), while
under
local_irq_disable() and under tasklist_lock. tasklist_lock provides
exclusion
wrt release_task()'s freeing of task->sighand and local_irq_disable()
provides
exclusion wrt update_process_times()'s inspection of the per-process timer
state.
We also need to deal with the send_sig() calls in do_process_times() by
setting rlim_cur to RLIM_INFINITY.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<herbert@gondor.apana.org.au>
[PATCH] Check cmd in plip_ioctl
I received a bug report that a PLIP interface was incorrectly identified
as wireless because plip_ioctl did not check what the value of cmd is
before processing the request.
This patch fixes exactly that.
<margitsw@t-online.de>
[PATCH] prism54: delete cvs tags
* Remove CVS tags from source
<margitsw@t-online.de>
[PATCH] prism54: Add new private ioctls
* oid_mgt.[c,h] : added type to oids. New functions :
oid_cpu_to_le(), mgt_le_to_cpu() and mgt_response_to_str().
* isl_ioctl.c : use private sub-ioctls. Added a
bunch of private sub-ioctls. Removed the le??_to_cpu and
cpu_to_le??. Give the error code when sending wireless
events.
<margitsw@t-online.de>
[PATCH] prism54: Reset card on tx timeout
* islpci_eth.[c,h] islpci_dev.[c,h] : reset card on tx_timeout.
Patch submited by Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>
<margitsw@t-online.de>
[PATCH] prism54: Add iwspy support
* islpci_eth.c, islpci_dev.h, isl_ioctl.c : iwspy support.
<margitsw@t-online.de>
[PATCH] prism54: Add avs header support
* islpci_eth.[c,h], islpci_dev.[c,h], isl_ioctl.[c,h] : added
support for avs header in monitor mode. Based on the work of
Antonio Eugenio Burriel <aeb@ryanstudios.com>. Unified packets
header (rfmon_header and rx_annex) for iwspy.
<jgarzik@redhat.com>
Cset exclude: jgarzik@redhat.com|ChangeSet|20040527204246|14084
Revert CONFIG_NET_GIGE change.
The proper fix is _not_ NET_ETHERNET or default twiddling,
but better overall organization of the ethernet driver selection,
which would include not only CONFIG_NET_GIGE but other options as well.
Reverted back to old behavior until a full and complete solution
appears (and people like it, of course).
<paulus@samba.org>
[PATCH] ppp ldisc close deadlock prevention
Jeff Garzik writes:
> So what was the resolution of this?
This patch is what we want. We don't in fact need to do the read
lock, only the write lock, which is what the original patch did.
However, we need to do it in ppp_synctty.c as well as ppp_async.c.
Thanks to John K Luebs <jkluebs@luebsphoto.com> for pointing out the
problem.
Signed-off-by: Paul Mackerras <paulus@samba.org>
<khc@pm.waw.pl>
[PATCH] 2.6 Generic HDLC update
The attached patch updates generic HDLC:
- fixed some carrier-related problems (Cisco HDLC and FR links could
report valid link when no carrier was detected at startup).
- fixed kbuild problems with wanxl firmware (building kernel in separate
tree). $(src)/wanxlfw.inc is now wanxlfw.inc_shipped.
<davej@redhat.com>
[CPUFREQ] Consolidate version checking in longhaul_get_cpu_mult
reduce code duplication.
<jgarzik@redhat.com>
[libata promise] revert broken taskfile delivery change
The ->tf_load and ->exec_command driver hooks were changed to assume
that PIO was the only type of taskfile ever delivered to these functions.
This will be true... in the future, but not today. In other drivers
this change was not needed, but Promise executes commands differently
due to its "ATA packet" hardware features, so the Promise drivers need
this change reverted.
Diagnosis and initial fix by Brad Campbell <brad@wasp.net.au>
<jgarzik@redhat.com>
[libata scsi] ack SYNCHRONIZE CACHE command
When taskfile delivery is improved, we will actually perform
this command, instead of no-oping it.
For now, this is cosmetic except for removing an annoying message
that some users see.
<arjanv@redhat.com>
[libata] Use standard headers from include/scsi, not drivers/scsi
<davem@nuts.davemloft.net>
[SPARC64]: Kill _exit kernelsyscall stub from unistd.h
<hch@lst.de>
[SBUS]: Define dma direction bits in terms of enum dma_data_direction.
<tcallawa@redhat.com>
[SBUS]: Stop using drivers/scsi/{scsi,hosts}.h in drivers.
<davem@nuts.davemloft.net>
[ATM]: fore200e dma direction macro tests no longer needed.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: don't put disks in standby mode on halt on Alpha
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: fix for generic IDE PCI module
Extracted from the Debian kernel package.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: ide_pci_device_t sanitization
- convert ->isa_ports into ->flags (IDEPCI_FLAG_ISA_PORTS)
- add IDEPCI_FLAG_{OBS_FORCE_PDC,FORCE_MASTER} flags
and use them in setup-pci.c
- use struct pci_dev ->vendor and ->device fields directly
in generic.c and serverworks.c
- remove no longer needed debug checks (dev->device != d->device)
- remove ->vendor and ->device fields from ide_pci_device_t
- misc cleanups
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: merge amd74xx.h into amd74xx.c
While at it add DECLARE_AMD_DEV() and DECLARE_NV_DEV() macros
(ala piix.h:DECLARE_PIIX_DEV() added by jgarzik).
Acked by Vojtech.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: add new nForce IDE/SATA device IDs to amd74xx.c
From: "Brian Lazara" <blazara@nvidia.com>
Add device IDs for new nForce IDE and SATA controllers. Rename some of
the existing controller names to correctly match released product names.
Acked by Vojtech.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: use generic ide_init_hwif_ports() on m68k
Also print the same warning as on m68k on other archs too.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: use <asm-i386/ide.h> as <asm-x86_64/ide.h>
They are identical (modulo infamous PC9800 stuff).
Acked by Andi.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: add IDE_ARCH_OBSOLETE_DEFAULTS
per jgarzik's suggestion
Define it in <asm/ide.h> if ide_default_io_base(),
ide_default_irq() and ide_init_default_irq() are needed.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: remove useless /proc/ide/siimage from siimage.c
It only gives (not mapped in case of MMIO) DMA base addresses.
The same info is given during driver initialization (if BM-DMA is used)
or can be obtained from 'lspci -v' output (if MMIO-DMA is used).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: simplify CONFIG_IDEDMA_ONLYDISK logic a bit
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<tony@com.rmk.(none)>
[ARM PATCH] 1902/1: OMAP update 1/3: entry-armv.S
Patch from Tony Lindgren
Update the IO register names in entry-armv.S
<ben-linux@org.rmk.(none)>
[ARM PATCH] 1906/1: S3C2410: serial minor number fix
Patch from Ben Dooks
Fix the minor number of the serial device to be the same
as the configuration in the 2.4.x series kernels.
<akpm@osdl.org>
[PATCH] ramfs o_sync oops fix
Writing to ramfs files with O_SYNC dereferences null in mpage_writepages(),
due to null a_ops->writepage. The call path is
generic_file_aio_write_nolock
->generic_osync_inode
->write_inode_now
->__writeback_single_inode
->__sync_single_inode
->do_writepages
->mpage_writepages
The best fix for this is to visit all ram-backed filesystems and give them a
no-op a_ops.writepages. But baling out if the file is memory-backed is a
sufficient coverall and is how we handle this in __filemap_fdatawrite().
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] shrink_all_memory() fixes
- Off-by-one in balance_pgdat means that we're not scanning the zones all
the way down to priority=0.
- Always set zone->temp_priority in shrink_caches(). I'm not sure why I had
the `if (zone->free_pages < zone->pages_high)' test in there, but it's
preventing us from setting ->prev_priority correctly on the
try_to_free_pages() path.
- Set zone->prev_priority to the current priority if it's currently a
"lower" priority. This allows us to build up the pressure on mapped pages
on the first scanning pass rather than only on successive passes.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc32: add "indirect" DCR access, pass 2
From: Matt Porter <mporter@kernel.crashing.org>
DCR number is encoded in mfdcr/mtdcr command itself and this prevents easy
DCR access when register number is not known on compile time. This patch
adds __mfdcr & __mtdcr helpers which use pre-generated mfdcr/mtdcr
sequences for all possible DCR numbers. We also use GCC extension
__builtin_constant_p to optimize cases when DCR number is in fact known
during compilation.
Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: kernel Makefile options for $(AS)
From: Olaf Hering <olh@suse.de>
`-64' is no longer a valid option for as. Pass it `-a64' instead.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64: update info about available iseries_veth interfaces
From: Olaf Hering <olh@suse.de>
/proc/iSeries/config contains now the number of configured virtual ethernet
adapters. AVAILABLE_VETH should only indicate if there is at least one
interface available, iseries_veth must be loaded in this case.
Printing the entire map will give installers some hints about what
interface numbers will appear and how the MAC address may look like.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ppc64 gives up too quickly on hotplugged cpu
From: Nathan Lynch <nathanl@austin.ibm.com>
On some systems it can take a hotplugged cpu much longer to come up than it
would at boot. If the cpu comes up after we've given up on it, it tends to
die in its first attempt to kmem_cache_alloc (uninitialized percpu data, I
imagine).
In my experimentation I haven't seen a processor take more than one second
to become available; the patch waits five seconds just to be safe.
Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] partition table validity checking
From: Andries Brouwer <Andries.Brouwer@cwi.nl>
The patch examines a putative partition table, and if that doesnt look like a
valid partition table it goes away again.
Some devices have partition tables (and there are many styles of such), some
don't. Traditionally fixed disks have one, floppies don't. Nobody knows
what
happens with ZIP disks, USB sticks and other such things. Both the DOS-type
partition table, and the "big floppy" whole disk FAT filesystem are common.
It is undesirable for the kernel to detect partitions where there are none.
This leads to great confusion, sometimes to kernel crashes.
In the particular case of DOS-type partition tables a partition entry has a
1-byte field boot_ind that traditionally is 0x80 for the boot partition and 0
for the other three primary partitions. Linux does not use this field, and
one sometimes sees tables with all four entries zero.
The patch tells the kernel not to think that something is a valid DOS-type
partition table when a value other than 0 or 0x80 is encountered. I think it
is a fairly safe change: I do not know of any fdisk-type program that will
write other values there.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Add reference_init.pl to `make buildcheck' target
`make buildcheck' only checks for calls to linker discarded sections,
reference_init checks for calls to sections discarded at run time, init was
cloned from discarded. They are separate because the linker detects the
discarded case and I did not want to confuse users with messages about init
text/data while they were fixing the linker errors.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] selinux: check processed security context length
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch changes security_context_to_sid to check the length of the
processed security context against the full length of the provided context,
rejecting any further data.
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] floppy minor number fix
From: Paul Slootman <paul+nospam@wurtel.net>
Correctly set the floppy disk's first minor.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] sched: balance-on-exec fix
From: Jack Steiner <steiner@sgi.com>
It looks like the call to sched_balance_exec() from do_execve() is in the
wrong spot. The code calls sched_balance_exec() before determining whether
"filename" actually exists.
In many cases, users have several entries in $PATH. If a full path name is
not specified on the 'exec" call, the library code iterates thru the files
in the PATH list until it finds the program. This can result is numerous
migrations of the parent process before the program is actually found.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Fix loop device cache handling
From: Russell King <rmk+lkml@arm.linux.org.uk>
It appears the loop driver has had one flush_dcache_page() call added for
the case where it writes to the backing device page cache pages.
However, it seems to be missing the call where it writes to its own page
cache pages.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] fix possible NULL pointer in fs/ext3/super.c.
From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
In fs/ext3/super.c::ext3_get_journal() at line 1675 `journal' can be NULL,
but it is not handled right (detect by Coverity's checker).
Signed-off by: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] dm: add DM_REMOVE_ALL_32 compat ioctl
From: Marcus Meissner <meissner@suse.de>
Add DM_REMOVE_ALL_32 to the list of compatible ioctls.
Signed-off-By: Marcus Meissner <meissner@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] mm/oom_kill.c trivial cleanup
From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
Remove duplicated assignment.
Signed-off by: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davej@redhat.com>
[CPUFREQ] Remove duplicate declaration of debug var from longhaul.
Spotted by Joe Perches.
I'm surprised gcc didn't at least warn about this.
Signed-off-by: Dave Jones <davej@redhat.com>
<akpm@osdl.org>
[PATCH] use const in time.h unit conversion functions
From: William Lee Irwin III <wli@holomorphy.com>
The time conversion functions may have const args, which is in fact useful
for when they are passed const variables as arguments so as to avoid
discarding qualifiers from pointer types warnings. This is a preparatory
cleanup for a minor aio bugfix.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] aio: fix io_getevents() timer expiry setting
From: William Lee Irwin III <wli@holomorphy.com>
start_jiffies was not respected by set_timeout(), which reread jiffies
instead of respecting what read_events() passed it. This difference can be
significant, particularly if the calling process slept during the
copy_to_user() operation in read_events(). To correct this, this patch
teaches it to respect its argument, with the additional bonus of converting
it to use timespec_to_jiffies() instead of open-coding it.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] move #endif to correct place
From: David Mosberger <davidm@napali.hpl.hp.com>
Darrene Williams <dsw@gelato.unsw.edu.au> noticed that the #endif for
__ARCH_WANT_SYS_SIGPROCMASK was off by one routine.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] hugetlbpage msync() fix
From: David Gibson <david@gibson.dropbear.id.au>
Currently, calling msync() on a hugepage area will cause the kernel to blow
up with a bad_page() (at least on ppc64, but I think the problem will exist
on other archs too). The msync path attempts to walk pagetables which may
not be there, or may have an unusual layout for hugepages.
Lucikly we shouldn't need to do anything for an msync on hugetlbfs beyond
flushing the cache, so this patch should be sufficient to fix the problem.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] direct-io hole fix
From: Chris Mason <mason@suse.com>
When filling holes via DIRECT_IO, we fall back to normal buffered io. For
this to work properly, the direct io funcs have to return a value of zero to
the file write functions, so the file write functions know where to start
writing.
In some cases, dio->result was getting returned by direct_io_worker, and that
wasn't always zero, causing some data not to be written.
From: <akpm@osdl.org>:
- Simplify things by setting `ret' later on, fix up subsequent damage to the
dio_complete() args.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] hugetlbpage: reinitialise compound page destructor
From: David Gibson <david@gibson.dropbear.id.au>
Currently the hugepage code stores the hugepage destructor in the mapping
field of the second of the compound pages. However, this field is never
cleared again, which causes tracebacks from free_pages_check() if the
hugepage is later destroyed by reducing the number in
/proc/sys/vm/nr_hugepages. This patch fixes the bug by clearing the
mapping field when the hugepage is freed.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] s390: core
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
s390 core changes:
- Make use of the ipte instruction for ptep_set_access_flags
- Fix atomic64_inc_and_test primitive as well.
- Fix return type handler for __copy_in_user.
- New default configuration.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] s390: common i/o layer
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Common i/o layer changes:
- qdio: Lose the adapter lock for thin interrupts to improve performance
and do unregister of the adapter interrupt handler with rcu.
- ccwgroup: Fix error handling when creating a ccwgroup device.
- Convert the slow crw kernel thread to a single threaded workqueue.
- Use the slow crw workqueue to unregister a subchannel after it was
found not operational to serialize it with other possible unregister/
register events coming in via machine checks.
- Trigger a rescan of the css via the slow path if a missing channel path
is found in __recover_lost_chpids.
- Use saner default levels for the debug feature, add some debugging code.
- Remove request_irq and free_irq stubs.
- Remove bogus inlines.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] s390: block device driver
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
block device driver changes:
- dasd: Fix diag discipline if it is loaded as a module.
- dcssblk: Replace r/w lock with r/w semaphore to be able to call
device_register inside a critical section.
- dcssblk: Fix error handling in write function for dcss "add" attribute.
- xpram & dcssblk: Fix sanity check for sector number.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] s390: network device driver
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Network driver changes:
- iucv: Fix special case of a "Connection Pending" interrupt within
iucv_do_int.
- netiucv: Revoke broken iucvMagic change for more than one connection.
- qeth: Fix string parsing in notifier_register attribute function.
- qeth: Add code for socket ioctl SIOC_QETH_GET_CARD_TYPE.
- qeth: Fix debug log entry and buffer copy in qeth_snmp_command_cb.
- qeth: Fix race on qeth_dbf_txt_buf.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] quota: fix writing of quota info
From: Jan Kara <jack@ucw.cz>
Fixes a problem with some quota operations not writing the quota info they
changed which could later cause that some transaction to use more buffers
than it had reserved or it could cause corrupted quota files when the
system was rebooted at the right time.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] quota: fix for old quota format
From: Jan Kara <jack@ucw.cz>
Fix a problem in the old quota format when we tried to read quota
information after the end of quota file (that is correct as it might a user
with sufficiently large UID which has no limits or usage).
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] kill off efi_dir in efi.h
From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
The /proc support for efi 'stuff' isn't used/needed anymore, yet the
efi_dir declaration remains. This removes it.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] update elilo loader location in Kconfig
From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
The elilo EFI boot loader has been moved to sourceforge. So, update the
location of where one might look for it.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] ext3_orphan_del may double-decrement bh->b_count
From: Jeff Mahoney <jeffm@suse.com>
Chris Mason and I ran across this one while hunting down another bug.
If ext3_mark_iloc_dirty() fails in ext3_orphan_del() on the outer buffer,
bh->b_count will be decremented twice. ext3_mark_iloc_dirty() will brelse
the buffer, even on error. ext3_orphan_del() is explicity brelse'ing the
buffer on error. Prior to calling ext3_mark_iloc_dirty(), this is the
correct behavior.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] use c99 struct initializer in hotcpu_notifier
From: Nathan Lynch <nathanl@austin.ibm.com>
The hotcpu_notifier macro does not properly record the given priority in
the notifier block. This causes trouble only for callers which specify a
non-zero priority, of which there are none (yet).
Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Better names for EDD legacy_* fields
From: "Patrick J. LoPresti" <patl@users.sourceforge.net>
Renames legacy_heads to legacy_max_head legacy_sectors to
legacy_sectors_per_track.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] Use decimal instead of hex for EDD values
From: "Patrick J. LoPresti" <patl@users.sourceforge.net>
This patch changes default_cylinders, default_heads,
default_sectors_per_track, legacy_max_cylinder, legacy_max_head,
legacy_sectors_per_track, and sectors to decimal.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] bug in sys_io_setup
From: Jerzy Szczepkowski <js189202@zodiac.mimuw.edu.pl>
There is a bug in sys_io_setup().
If ioctx_alloc() succeeds and put_user() fails io_destroy() is called.
io_destroy() assumes that ioctx->users >= 2 (if context is alive) and calls
put_ioctx twice, while in this sequence ioctx->users == 1.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] direct-io invalidation fix
clean_blockdev_aliases() is using the wrong thing to work out how many
filesystem blocks should be invalidated. It invalidates too many, which can
cause live fs metadata buffers to be invalidated when they are pending
writeout. It's a filesystem-wrecker, although seems very hard to hit.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<torvalds@ppc970.osdl.org>
sparse: fix up futex address space warning
<paulus@samba.org>
[PATCH] ppc32: Add _raw_write_trylock
I tried compiling a PPC32 kernel with PREEMPT + SMP and it failed
because we didn't have a _raw_write_trylock. This patch adds
_raw_write_trylock, moves the exports of _raw_*lock from
arch/ppc/kernel/ppc_ksyms.c to arch/ppc/lib/locks.c, and makes
__spin_trylock static since it is only used in locks.c.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc32: Don't synchronize in disable_irq() if no handler
This patch is the ppc32 counterpart to a fix that went into
arch/i386/kernel/irq.c last October. The bug was noted by Al Viro: if
no handler exists, and we have IRQ_INPROGRESS set because of an
earlier irq that got through, synchronize_irq() will end up waiting
forever.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc32: Suppress bogus info in /proc/ppc_htab on 64-bit cpus
In the ppc32 kernel, we have a /proc/ppc_htab file that trawls through
the MMU hash table and prints various statistics on it such as percent
occupancy. However, the hash table entry format is different on
64-bit cpus (POWER3, G5) which the ppc32 kernel does support (in
32-bit mode).
This patch disables the scanning of the MMU hash table and printing of
the statistics that we get from it on 64-bit cpus. Since the
statistics are only for interest, and the ppc32 kernel is being used
less and less on 64-bit cpus now that the ppc64 kernel is in
reasonable shape, I didn't think it worth while to add code to deal
with the 64-bit HPTE format.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc32: Use -fPIC instead of -mrelocatable-lib
The ppc32 boot code has a couple of files that are executed very early
on before the kernel is mapped at the address it is linked at. We
have been using -mrelocatable-lib to compile these files, but
apparently -mrelocatable-lib is deprecated and the gcc developers are
threatening to remove it. In fact the -fPIC flag does what we need.
This patch changes -mrelocatable-lib to -fPIC.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc32: Make ppc32 PCI code more robust
The main thrust of this patch is to make the ppc32 PCI code more
robust by checking for bus->resource[] being NULL before using it. We
can legitimately get elements of bus->resource being NULL and I have
actually hit that on some machines. This patch also allows resources
starting at 0 to be accepted as assigned (we can and do get PCI
resources starting at 0 in I/O space on PPC machines) and provides a
sensible default for the case where Open Firmware doesn't give us a
bus-range property for a PCI bridge.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc32: Fix preemptible check
Ben H added a check in a couple of places to make sure that we had
preemption disabled when we call enable_kernel_{fp,altivec}.
Unfortunately the check he used trips in the case when
CONFIG_PREEMPT=n. This patch fixes it by defining a preemptible()
macro (which reduces to 0 when CONFIG_PREEMPT=n) and doing
WARN_ON(preemptible()).
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulus@samba.org>
[PATCH] ppc32: Reduce WARN_ON(0) to nothing
The last patch I sent means that we have WARN_ON(0) in a couple of
places when CONFIG_PREEMPT=n. This patch makes that reduce to
nothing (rather than a conditional trap on a 0 value), and also makes
BUG_ON(0) reduce to nothing for completeness.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<rmk+lkml@arm.linux.org.uk>
[PATCH] Export swapper_space
swapper_space is needed by at least loop/st/sg these days.
<rmk@flint.arm.linux.org.uk>
[ARM] Don't include lubbock.h in asm/arch/hardware.h
Since asm/arch/hardware.h is included (indirectly) by most kernel
files, we don't want all these files depending on the individual
machine support files, especially as only five files really require
the header.
Instead, explicitly include lubbock.h into files as necessary.
<nico@org.rmk.(none)>
[ARM PATCH] 1910/1: rework Mainstone and IDP include files
Patch from Nicolas Pitre
Don't include them from hardware.h
<icampbell@com.rmk.(none)>
[ARM PATCH] 1890/2: Consolidate CPUFREQ handling in SOC PCMCIA driver
Patch from Ian Campbell
Rediffed against latest BK. Compiles on Assabet and my PXA255
platform. Tested on my 255 platform.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] DMA mode setup fixes for piix.c/ata_piix.c
From: Go Taniguchi <go@turbolinux.co.jp> (Turbolinx Inc.)
Change reg48 and reg54 in 8bit access and remove unused reg44.
Jeff acked ata_piix.c part.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davej@redhat.com>
[CPUFREQ] Change longhaul debugging info printk's to dprintk's
<hch@lst.de>
[ATM]: Simplify fore200e DMA macros even further.
<hch@lst.de>
[SBUS]: Further cleanup of scsi driver header usage.
<davem@nuts.davemloft.net>
[SPARC64]: New 6th arg of sys_futex needs sign extension.
<davem@nuts.davemloft.net>
[SPARC64]: Update defconfig.
<paulus@samba.org>
[PATCH] ppc32: Fix locks.c properly this time
When I moved the exports into arch/ppc/lib/locks.c, I forgot to
include module.h, so it doesn't compile (with CONFIG_SMP +
CONFIG_SPINLOCK_DEBUG). This patch fixes it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davej@redhat.com>
[CPUFREQ] Fix powernow-k7 when ACPI_PROCESSOR built as module.
From Herbert Xu
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Remove lots of redundant code from longhaul driver.
The recent Nehemiah changes introduced lots of stuff that does
a whole lot of nothing. Nuke it.
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Document some oddness in the longhaul driver.
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Unify the EBLCR parsing code in longhaul.
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Remove duplicate debug printk from longhaul driver.
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Move longhaul multiplier debug printk to somewhere more useful.
If we abort due to a reserved FSB being found, we probably want to know the
multipliers.
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Remove bogus longhaul v4
The code only supports 3 versions, so numbering them 1,2 and 4
doesn't make a lot of sense.
Signed-off-by: Dave Jones <davej@redhat.com>
<davej@redhat.com>
[CPUFREQ] Convert longhaul debug printk to use varargs.
From: Joe Perches.
Signed-off-by: Dave Jones <davej@redhat.com>
<akpm@osdl.org>
[PATCH] Add the sixth arg to the sys_futex() prototype.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sound sb fix
In some cases snd_sb_csp_load() did kmalloc() and copy_from_user()
under a spinlock. Split into snd_sb_csp_load() and snd_sb_csp_load_user() -
ther former always from kernel pointer, the latter - from userland.
snd_sb_csp_load_user() doesn't take any locks itself, it just
does kmalloc, copy_from_user and calls snd_sb_csp_load() to do the rest.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: msnd sound fix
msnd_pinnacle/msnd_classic do copy_{to,from}_user under a spinlock.
Taken out of spinlock (into a temp. buffer). Calls of msnd_fifo_{read,write}
always go from kernel buffer now, so we can drop the 'int user' argument in
them _and_ simplify error handling - all errors were from copy_..._user() and
now these are called directly by dsp_read()/dsp_write().
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sound/core/timer.c fix
copy_from_user() where copy_to_user() should've been. Unfortunately, on
x86 they are almost identical, so it went unnoticed for quite a while.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sound/core annotation - trivial part
Trivial parts of sound/core annotation.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: annotation of include/sound (generic parts)
Annotated method prototypes, commonly used ioctl-only structures and
generic helpers.
Instances of methods in drivers are _not_ annotated at that point - they
will go with driver patches
<jhh@lucent.com>
[SCTP] Fix to not setup a new association if the endpoint is in
SHUTDOWN_ACK_SENT state and recognizes that the peer has restarted.
<jhh@lucent.com>
[SCTP] Fix to not start a new association on a 1-many style sendmsg()
with MSG_EOF/MSG_ABORT flag and no data.
<pfg@sgi.com>
[PATCH] ia64: for SN2, disable MST errors on probe
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<sri@us.ibm.com>
[SCTP] Fix the use of cached non-zero vtag in an INIT that is resent
after a stale cookie error.
<arun.sharma@intel.com>
[PATCH] ia64: tighten FPH state context switch check
In the absence of this patch, a process can set it's own mfh bit and
potentially view another process's high floating point registers. So a
check is needed.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<sri@us.ibm.com>
[SCTP] Fix missing VTAG validation on certain incoming packets.
<sri@us.ibm.com>
[SCTP] Fix to wakeup blocking connect() after max INIT retries failed.
<arun.sharma@intel.com>
[PATCH] ia64: disable in-kernel ia32 emulation post Madison
For IPF processors beyond Madison, this patches changes the kernel to
allow IA-32 application execution exclusively using IA-32EL.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<sri@us.ibm.com>
[SCTP] Fix poll() on a 1-1 style socket so that it returns when the
association is aborted by peer.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sound/core/pcm* annotation
The tricky part here was an iterator that used to take a callback and
argument for that callback as parameters. Iterator itself didn't care
what type that argument had been; it's entirely up to callback. The
thing is, two callbacks expect (and get) char __user * while other two
expect (and also get) char __user **.
Iterator used to use void * as "opaque data"; I've switched it to
unsigned long. Note that there was nothing that said "it's a pointer" -
use of callback that would take e.g. int is also perfectly legitimate.
The rest is triviali annotation.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: opl annatation
Annotated sound/drivers/opl*
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rest of sound/core
The rest of sond/core annotated; reverted bogus addition of __user in
snd_seq_kernel_client_ctl() - I should've guessed from the name alone
;-)
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sound/isa/gus annotation
GUS annotated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sscape annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: wavefront annotation
Both ALSA and OSS drivers + wavefront ioctl structure annotated. NB:
both should be switched to generic firmware loading - as it is, they are
using a homegrown and rather ugly variant
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sb annotation
sb annotation (both ALSA and OSS drivers)
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: vx annotation
Both PCI and PCMCIA variants of driver annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: trident annotation
Both ALSA and OSS variants
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rme9652 annotation
Annotated driver and ioctl structure used by it.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: emu10k1 annotation
emu10k1 annotated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rest of ALSA annotation
The rest of annotation for ALSA drivers; only OSS stuff left to do in
sound/*
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: cs4281 annotation
cs4281 annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: cmpci annotation
cmpci annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: es1371 annotation
es1371 annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: es1370 annotation
es1370 annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: esssolo annotation
esssolo annotated
<viro@www.linux.org.uk>
[PATCH] sparse: rme96xx annotation
rme96xx annotated
<viro@www.linux.org.uk>
[PATCH] sparse: i810 annotation
i810 annotated
<viro@www.linux.org.uk>
[PATCH] sparse: cs46xx annotation
cs46xx annotated
<viro@www.linux.org.uk>
[PATCH] sparse: ali5455 annotation
ali5455 annotated
<viro@www.linux.org.uk>
[PATCH] sparse: sonicvibes annotation
sonicvibes annotated
<viro@www.linux.org.uk>
[PATCH] sparse: maestro3 annotation
maestro3 annotated
<viro@www.linux.org.uk>
[PATCH] sparse: the rest of sound/* annotation
Remaining bits and pieces in sound/oss annotated.
At that point sound/* is done - we have no noise warnings left there.
<viro@www.linux.org.uk>
[PATCH] sparse: ad1889 annotation
ad1889 annotated
<viro@www.linux.org.uk>
[PATCH] sparse: btaudio annotation
btaudio annotated
<viro@www.linux.org.uk>
[PATCH] sparse: maestro annotation
maestro annotated
<viro@www.linux.org.uk>
[PATCH] sparse: ymfpci annotation
ymfpci annotated
<viro@www.linux.org.uk>
[PATCH] sparse: msnd annotation
msnd annotated
<viro@www.linux.org.uk>
[PATCH] sparse: forte annotation
forte annotated
<torvalds@ppc970.osdl.org>
sparse: annotate (and comment on) kmod.c user pointer usage
Big comment, because it wasn't clear why this cast was valid.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: drivers/cpufreq annotation
drivers/cpufreq annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: drivers/cdrom annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: drivers/md annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: drivers/pnp annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: DAC960 annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: cciss annotation
cciss annotated, definition of inlined helpers moved up - before their
first use.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: cpqarray annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: paride annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rest of drivers/block annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] drivers/atm/ambassador.c delousing
Translated to C. Original was anything but.
BTW, even if they were writing in Pascal, their use of nested functions
would be gratuitous for such a situation.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] drivers/atm/horizon.c delousing
Same as with ambassador.c - same authors, same braindamage.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: atm annotation (core)
ATM core annotated; ATM drivers will go in the next patch, here we only
annotated their method prototypes
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: atm annotation - drivers
The rest of ATM annotation: drivers.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: coda annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: decnet annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: ax25 annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: netrom annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rose annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: x25 annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: ipx annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: appletalk annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: econet annotation
econet partially annotated.
It's still badly broken - it mixes userland and kernel chunks in the
same iovec, then does set_fs(KERNEL_FS) and sends that to
sock_sendmsg(). Do we still want to support that protocol family,
anyway?
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: wanrouter annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: net/bridge annotation
net/bridge partially annotated.
There are nasty problems with net/bridge/netfilter/* and they'll need to
be dealt with at some point - it mixes kernel and userland pointers a
lot and while it seems to avoid obvious breakage, it's not a nice code.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: netlink annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: irda annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: vlan annotation
<jmorris@redhat.com>
[NETFILTER]: Fix checksum bug for multicast/broadcast packets on postrouting
hook.
In a nutshell, skb checksum mangling has been removed from
nf_hook_slow() and pushed up to whatever really needs to do it.
Namely: NAT, ip_fw_compat, ipt_TCPMSS, IPSec transforms.
skb_checksum_help() has been changed to perform an skb_copy() if needed
(e.g. the original problem case where bcast/mcast was cloning packets for
transmission over loopback, changing ip_summed).
Because of the above, the output path has been modified to take into
account the fact that an skb may need to be changed in some places. There
are some minor changes in the routing code to take care of the now
different input and output function prototypes. The ipv6 fragmentation
code has been modified to detect a changed skb.
The rest of the patch (probably the bulk of it) is simply the result of
changing to double skb pointers.
I've tested this with ipv4, ipv6, ipsec (including xfrm bundles), NAT and
the original DHCP test case. Everything seems to be working ok.
Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: David S. Miller <davem@redhat.com>
<davem@nuts.davemloft.net>
[NETFILTER]: In ipt_TCPMSS, SYN packets are never hw checksummed.
Signed-off-by: David S. Miller <davem@redhat.com>
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: bluetooth annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: sctp annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: more netfilter annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: mroute annotation
<paulus@samba.org>
[PATCH] ppc64: don't clear MSR.RI in do_hash_page_DSI
Some code that is used on iSeries (do_hash_page_DSI in head.S) was
clearing the RI (recoverable interrupt) bit in the MSR when it
shouldn't. We were getting SLB miss interrupts following that which
were panicking because they appeared to have occurred at a bad place.
This patch fixes the problem. In fact it isn't necessary for
do_hash_page_DSI to do anything to RI, so the patch changes the code
to not set or clear it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: ->ifr_data annotation
->ifr_data users annotated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: ->ifr_data fixes
b44.c: ->ioctl() is broken, since it uses &ifr->ifr_data instead of
ifr->ifr_data itself. Surprise, surprise, copy_from_user() on that address
doesn't do any good...
baycom_epp.c: does get_user() of the first word of structure, then
immediately does copy_from_user() on the entire thing and completely ignores
the value read by get_user() (it uses the same value in copied structure
instead). Bogus get_user() call removed.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: more wan annotations
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: selinux annotation
selinuxfs.c annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rest of net/* annotations (in this patchset, that is ;-)
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: hugetlb sysctl annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: gdth.c annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: misc scsi annotation
osst.c, st.c, scsi_debug.c annotated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: rest of drivers/net annotations in the patchset
s2io.c: bogus initializer ({{"a"},{"b"}} has too many braces for
two-dimensional array of char - strings are arrays themselves).
de4x5.h: missing __user on a pointer in ioctl structure.
airo.c: cleaned up and fixed procfs ->read() and ->write()
<viro@www.linux.org.uk>
[PATCH] sparse: misc headers annotations
several pointers in ioctl structures marked as userland ones.
And that's it with this patchset. A couple more of those and we'll
be done with the noise warnings ;-)
<viro@www.linux.org.uk>
[PATCH] sparse: ide-floppy annotation
<viro@www.linux.org.uk>
[PATCH] sparse: synclink_cs annotation
<viro@www.linux.org.uk>
[PATCH] sparse: synclink annotation
<viro@www.linux.org.uk>
[PATCH] sparse: trivial fs annotations
<viro@www.linux.org.uk>
[PATCH] sparse: usb/core/devio annotation
<viro@www.linux.org.uk>
[PATCH] sparse: sonypi annotiation
<viro@www.linux.org.uk>
[PATCH] sparse: ppdev annotation
<viro@www.linux.org.uk>
[PATCH] sparse: misc drivers annotations
assorted minor bits in drivers/* - all independent, but there's
some limit to splitting stuff...
<viro@www.linux.org.uk>
[PATCH] sparse: lp annotation
<viro@www.linux.org.uk>
[PATCH] sparse: drivers/char/i8 annotation
<viro@www.linux.org.uk>
[PATCH] sparse: tpqic annotation
<catalin.marinas@com.rmk.(none)>
[ARM PATCH] 1912/1: Wrong cache aliasing bit check
Patch from Catalin Marinas
arch/arm/mm/mmap.c: arch_get_unamapped_area() checks bit 9 in the cache type
register for possible cache aliasing problems. Bit 11 should be checked
instead.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] apply nForce2 fixup only if C1 Halt Disconnect is enabled
Some boards don't support C1 Halt Disconnect.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<Toshihiro.Kobayashi@com.rmk.(none)>
[ARM PATCH] 1911/1: fix of odd PMD handling in do_translation_fault()
Patch from Toshihiro Kobayashi
do_translation_fault() in arch/arm/mm/fault.c will never resolve odd PMD.
This patch fixes that problem.
<rmk@flint.arm.linux.org.uk>
[PCMCIA] Add sparse annotations to ds.c
<jmorris@redhat.com>
[IPVS]: IPVS needs checksum fixups.
Here's an additional patch for ipvs, which also mangles packets via
netfilter and was previously depending on the checksum helper in
nf_hook_slow().
Signed-of-by: James Morris <jmorris@redhat.com>
Signed-of-by: David S. Miller <davem@redhat.com>
<yoshfuji@linux-ipv6.org>
[UDPv4]: Pass correct socket to ip_mc_sf_allow.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: if_mii() helper (from jgarzik)
From: Jeff Garzik
Jeff's patch adds a helper for obtaining mii_ioctl_data from ifreq
and switches drivers to it. It's almost a "move common expression into
inline helper", except that instead of
(struct mii_ioctl_data *)&rq->ifr_ifru.ifru_data
it does
(struct mii_ioctl_data *)&rq->ifr_ifru
- pointer to union instead of pointer to a field of union that has nothing
to do with mii_ioctl_data *and* adds confusion by being a pointer itself.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: the rest of ifr_data cleanups and annotations
The rest of ->ifr_data cleanups. A bunch of drivers use address
of ifr->ifr_ifru, but spell that as &ifr->ifr_data, which expands to
&ifr->ifr_ifru.ifru_data. ifr_ifru is a union and in effect they sneak in
a private field into that union; ifr_ifru.ifru_data is a field in that
union and it has nothing to do with the things they want to do. Cleaned
up by explicit use of &ifr->ifr_ifru.
Several places where we really use ->ifr_data (i.e. use its value
and use it as __user pointer) annotated.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: drivers/net/tun.c annotation
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: depca annotation
ioctl structure annotated
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] sparse: slip.c annotation
<davidm@tiger.hpl.hp.com>
ia64: Avoid intermediate-overflows in sched_clock().
Bug reported by Zoran Menyhart.
<alex.williamson@hp.com>
[PATCH] ia64: setup cpu_to_node for cpus not present
In latest linux-2.5 bitkeeper, if you turn on CONFIG_HOTPLUG_CPU w/
an NR_CPUS greater than physically presents CPUs, you'll end up taking
an MCA in __alloc_percpu(). kmem_cache_alloc_node() gets called with a
node value of -1. It seems other architectures are defaulting the
cpu_to_node map to zero for possible, but not present cpus. Here's a
trivial patch that does the same for ia64.
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<garyhade@us.ibm.com>
[PATCH] ia64: Fix early serial console setup regression on the IBM x450 and
x455
This patch removes the ACPI LEGACY_DEVICES IA-PC boot architecture
flag as a condition for early serial console setup. This flag may not
be set on some systems (e.g. IBM x450 and x455) where early serial
console setup is possible.
Signed-off-by: Gary Hade <garyhade@us.ibm.com>
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<alext@fc.hp.com>
[PATCH] ia64: fix comment-typo in entry.S
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<akpm@osdl.org>
[PATCH] ia64: uninline find_next_bit on ia64
From: Paul Jackson <pj@sgi.com>
Move the page of code (~700 bytes of instructions) for find_next_bit and
find_next_zero_bit from inline in include/asm-ia64/bitops.h to a real
function
in arch/ia64/lib/bitops.c, leaving a declaration and macro wrapper behind.
The other arch's with almost this same code might want to also uninline it:
alpha, parisc, ppc, sh, sparc, sparc64.
These are too big to inline.
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<davem@nuts.davemloft.net>
[SPARC64]: Fix compat_sys_wait4 extern decl.
<davem@nuts.davemloft.net>
[SPARC64]: Tidy asm macros in sfp-util.h
<paulus@samba.org>
[PATCH] ppc32: Fix typo in ppc32 spinlock.h
Brown-paper bag time... I put a typo in the asm for _raw_write_trylock
(left in a spurious \n\). This patch fixes it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davem@nuts.davemloft.net>
[COMPAT]: Add __user attributes for pointers passed while KERNEL_DS.
<davem@nuts.davemloft.net>
[AIO]: Split ki_user_obj into a 2 member union.
This documents how this member is used in two
ways, 1) as a pointer to a user ioctx and 2)
as a pointer to a task struct to wake up.
<davem@nuts.davemloft.net>
[COMPAT]: Fix some sparse annotations in fs/compat_ioctl.c
<davem@nuts.davemloft.net>
[KERNEL]: Some sparse fixes for init/main.c
1) Explicitly cast to __user in syscall invocations
where we know we are in KERNEL_DS
2) Explicitly test against zero in assignment expression
conditional.
<shemminger@osdl.org>
[TCP]: Common code for generating tcp_info.
<kaos@sgi.o>
ia64: work around linker bug
Building 2.6.6-ia64-040521, using GNU ld version 2.14.90.0.4 20030523.
__gp is sometimes set incorrectly. Instead of being .got + 0x2000000,
it is set to .data + 0x2000000, which breaks some LTOFF22 and GPREL22
entries.
This is non-deterministic, changing the path name to the kernel tree
which changes the size of some messages in .data is enough to make the
linker get it right. Force __gp to be based on .got.
HJ Lu says this is fixed in newer versions of binutils but the work around
is sensible enough that it is a better solution than forcing everybody
to upgrade binutils.
Signed-off-by: David Mosberger <davidm@hpl.hp.com>
<davidm@tiger.hpl.hp.com>
ia64: Kill unused external declaration of "acpi_legacy_devices".
<ak@suse.de>
[PATCH] More x86-64 bugfixes
This patch fixes the problem some people had with their systems crashing
early at boot. Also fix a problem in the LDT/TSS setup noticed by Paul
Menage. And some other random fixes.
- Update defconfig
- Remove some unnecessary printks
- Enlarge kernel mapping to 40MB
- Fix acpi=ht (Suresh Siddha)
- Use KERN_ALERT for more important oops lines
- Fix LDT/TSS limit (Paul Menage)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hugh@veritas.com>
[PATCH] mm: swapper_space.i_mmap_nonlinear
Initialize swapper_space.i_mmap_nonlinear, so mapping_mapped reports false on
it (as it used to do). Update comment on swapper_space, now more fields are
used than those initialized explicitly.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hugh@veritas.com>
[PATCH] mm: follow_page invalid pte_page
The follow_page write-access case is relying on pte_page before checking
pfn_valid: rearrange that - and we don't need three struct page *pages.
(I notice mempolicy.c's verify_pages is also relying on pte_page, but I'll
leave that to Andi: maybe it ought to be failing on, or skipping over, VM_IO
or VM_RESERVED vmas?)
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hugh@veritas.com>
[PATCH] mm: vma_adjust adjust_next wrap
Fix vma_adjust adjust_next wrapping: Rajesh V. pointed out that if end were
2GB or more beyond next->vm_start (on 32-bit), then next->vm_pgoff would have
been negatively adjusted.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Rajesh Venkatasubramanian <vrajesh@umich.edu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hugh@veritas.com>
[PATCH] mm: vma_adjust insert file earlier
For those arches (arm and parisc) which use the i_mmap tree to implement
flush_dcache_page, during split_vma there's a small window in vma_adjust when
flush_dcache_mmap_lock is dropped, and pages in the split-off part of the vma
might for an instant be invisible to __flush_dcache_page.
Though we're more solid there than ever before, I guess it's a bad idea to
leave that window: so (with regret, it was structurally nicer before) take
__vma_link_file (and vma_prio_tree_init) out of __vma_link.
vma_prio_tree_init (which NULLs a few fields) is actually only needed when
copying a vma, not when a new one has just been memset to 0.
__insert_vm_struct is used by nothing but vma_adjust's split_vma case:
comment it accordingly, remove its mark_mm_hugetlb (it can never create
a new kind of vma) and its validate_mm (another follows immediately).
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hugh@veritas.com>
[PATCH] mm: get_user_pages vs. try_to_unmap
Andrea Arcangeli's fix to an ironic weakness with get_user_pages.
try_to_unmap_one must check page_count against page->mapcount before
unmapping
a swapcache page: because the raised pagecount by which get_user_pages
ensures
the page cannot be freed, will cause any write fault to see that page as not
exclusively owned, and therefore a copy page will be substituted for it - the
reverse of what's intended.
rmap.c was entirely free of such page_count heuristics before, I tried hard
to
avoid putting this in. But Andrea's fix rarely gives a false positive; and
although it might be nicer to change exclusive_swap_page etc. to rely on
page->mapcount instead, it seems likely that we'll want to get rid of
page->mapcount later, so better not to entrench its use.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hugh@veritas.com>
[PATCH] mm: kill missed pte warning
I've seen no warnings, nor heard any reports of warnings, that anon_vma ever
misses ptes (nor anonmm before it). That WARN_ON (with its useless stack
dump) was okay to goad developers into making reports, but would mainly be an
irritation if it ever appears on user systems: kill it now.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<adilger@clusterfs.com>
[PATCH] ext3: htree rename fix
A problem with htree was recently discovered during Lustre testing when
files were being renamed within the same directory. In some cases the
addition of the new name caused a directory block split and the old
dir_entry was pointing at the wrong entry, and the wrong entry was removed.
This would seem entirely possible in a Maildir directory, since the MTA
will be doing a lot of renames within the same directory.
If old_de is pointing to the newly-added entry (i_ino is the same) we end up
deleting the new entry instead of the old one. It looks as if the rename
never happened. We need to verify that the name we are unlinking is what we
expect.
If is also possible that old_de is pointing to the now-unused space at the
end
of a newly-split leaf block, so we still need to try ext3_delete_entry()
(which will skip the stale entry and return ENOENT) instead of just relying
on
the inum + name check.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: Fix nfs3 dentry encoding
The "offset" in an entry in an nfs3 readdir response is 64 bits long and as
it
has only a 32 bit alignment, it fall half in one page of the response and
half
in another.
This patch adds a second offset pointer (offset1) which points to the second
half in the unusual case of the offset being split between pages, and sets
and
uses it accordingly.
From: Olaf Kirch <okir@suse.de>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: exp_find(): remove null pointer check
If ek = exp_find_key() is not an error, then ek->ek_export should be set; no
point in checking if it's NULL.
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: nfsd_acceptable() typo fix
there's a small typo in nfsd_acceptable. It calls
err = permission(parent->d_inode, S_IXOTH, NULL);
It really wants to use MAY_EXEC instead of S_IXOTH. Those happen to be the
same at the moment, but may not do so forever.
From: Olaf Kirch <okir@suse.de>:
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: nfsd4 xdr name encoding improvements
Encode names directly into xdr buffer; this optimizes out a data copy,
reduces
stack usage, and will make life simpler when doing acls.
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: gss_svc locking and refcounting fixes
The server sunrpc code should take a reference on the relevant module before
calling any authentication code.
Also, it looks to me like the table of authops needs some locking.
Finally, gss_svc_init wasn't checking the status of svc_auth_register, and
gss_svc_shutdown wasn't calling svc_auth_unregister.
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: rsc_lookup simplification
rsc_lookup is a bit complicated: it either takes responsibility for the
memory
pointed to by handle.data and sets handle.data to NULL, or it leaves
handle.data unchanged, in which case the caller is responsible for freeing
handle.data. I forgot that the possibility of inserting a negative cache
entry into the cache meant that this could happen even when rsc_lookup is
called with set == 0.
Note that the ip_map code has the same bug, not that it seems to matter much,
since the memory in question in that case is always just a statically
allocated string.
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: nfsd4_release_lockowner() oops fix
Fix oops in release_lockowner. We need to break out to two loops, not just
one, and if the loop finds nothing, 'local' won't be NULL. So just put the
body of the 'if' inside the loop.
From: Andy Adamson <andros@citi.umich.edu>
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: nfsd getattr fix
Oops: we were claiming to support the TIME_CREATE attribute, when we don't
really.
From: Andy Adamson <andros@citi.umich.edu>
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: nfsd4 setclientid fix
Fix a somewhat bizarre corner case in clid processing: a clientid match isn't
required for case 3.
From: Andy Adamson <andros@citi.umich.edu>
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: nfsd4 file creation fix
Fix error return in create. (See comment in xdr for createtype4 at end of
rfc3530.)
From: Andy Adamson <andros@citi.umich.edu>
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: documentation typo fixes
Fix minor typos.
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: rationalise device selection in md/multipath.
md/multipath has two separate pieces of code for choosing a device to use,
one
when a request is first made and the other when a request is being re-tried
after failure. This patch discards multipath_read_balance and uses
multipath_map in both situations.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: make sure md_check_recovery will remove a faulty device when
->nr_pending hits 0
md_check_recovery only locks a device and does stuff when it thinks there is
a
real likelyhood that something needs doing. So the test at the top must
cover
all possibilities.
But it didn't cover the possibility that the last outstanding request on a
failed device had finished and so the device needed to be removed.
As a result, a failed drive might not get removed from the personalities
perspective on the array, and so it could never be removed from the array as
a
whole.
With this patch, whenever ->nr_pending hits zero on a faulty device,
MD_RECOVERY_NEEDED is set so that md_check_recovery will do stuff.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: allow an md personality to refuse a hot-remove request.
This isn't really needed at the moment, but it is more consistant with the
interface and may be needed later.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: make sure the size of a raid5/6 array is a multiple of the chunk
size.
Normally the size is chosen as a multiple of the chunk size, but if the size
is explicitly chosen, it might not be. So we force it.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: handle hot-add for arrays with non-persistent superblocks
If the superblock isn't persistent, we shouldn't allow room for it.
From: Paul Clements <Paul.Clements@SteelEye.com>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: abort the resync of raid1 there is only one device.
If raid1 decides it needs to resync it will do so even if there is only one
working device. This is pointless.
With this patch we abort resync if there is nowhere to write to.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: allow md arrays to be resized if devices are large enough.
It is possible to have raid1/4/5/6 arrays that do not use all the space on
the
drive. This can be done explicitly, or can happen info you, one by one,
replace all the drives with larger devices.
This patch extends the "SET_ARRAY_INFO" ioctl (which previously invalid on
active arrays) allow some attributes of the array to be changed and
implements
changing of the "size" attribute.
"size" is the amount of each device that is actually used. If "size" is
increased, the new space will immediately be "resynced".
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: support reshaping raid1 arrays - adding or removing drives.
This allows the number of "raid_disks" in a raid1 to be changed.
This requires allocating a new pool of "r1bio" structures which a different
number of bios, suspending IO, and swapping the new pool in place of the
old.
(and a few other related changes).
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<ak@suse.de>
[PATCH] Use KERN_ALERT more for oopses
Often users only report what syslogd reports with KERN_ALERT when a kernel
crash occurs. Make an oops print mpre information with that (in particular
the RIP)
Patch for i386 and x86-64.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<rusty@rustcorp.com.au>
[PATCH] fix sysfs node cpumap for large NR_CPUS
As pointed out by Paul Jackson <pj@sgi.com>, sometimes 99 chars is not
enough.
We currently get a page from sysfs: that code should check we haven't overrun
it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<akpm@osdl.org>
[PATCH] nfs-direct warning fix
fs/nfs/direct.c: In function `nfs_file_direct_write':
fs/nfs/direct.c:549: warning: initialization discards qualifiers from
pointer target type
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<kevcorry@us.ibm.com>
[PATCH] dm: dm-ioctl.c: change an int* to a size_t*
dm-ioctl.c: Use a size_t* instead of an int* in list_version_get_needed().
size_t and int are not the same size on all architectures.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulkf@microgate.com>
[PATCH] synclinkmp.c driver init modifications
* Fix cleanup on driver init failure (call pci_unregister_driver if
necessary)
* Keep driver loaded if no hardware found (for dynid support)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulkf@microgate.com>
[PATCH] synclink_cs.c driver init modifications
* Fix cleanup on driver init failure
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<paulkf@microgate.com>
[PATCH] synclink.c driver init modifications
* Fix cleanup on driver init failure (call pci_unregister_driver if
necessary)
* Keep driver loaded if no hardware found (for dynid support)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<axboe@suse.de>
[PATCH] fix cdrom length check
There's a bad length check in cdrom_get_random_writable(), it's off-by-4
since fh->data_len is the length of data _after_ that field (which is
offset 4 bytes in the header). Check is pretty bogus anyways, so just kill
it.
Signed-Off-By: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<neilb@cse.unsw.edu.au>
[PATCH] md: fix BUG in raid5 resync code.
This condtion on this loop is primarily to avoid the loop if it doesn't
appear to be needed. However it optimises a little too much and there is a
case where it skips the loop when it is really needed. This patch fixes
it.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<nickpiggin@yahoo.com.au>
[PATCH] sched: improve wakeup-affinity
David Mosberger noticed bw_pipe was way down on sched-domains kernels on
SMP systems.
That is due to two things: first, the previous wake-affine logic would
*always* move a pipe wakee onto the waker's CPU. With the scheduler
rework, this was toned down a lot (but extended to all types of wakeups).
One of the ways this was damped was with the logic: don't move the wakee if
its CPU is relatively idle compared to the waker's CPU. Without this, some
workloads would pile everything up onto a few CPUs and get lots of idle
time.
However, the fix was a bit of a blunt hack: if the wakee runqueue was below
50% busy, and the waker's was above 50% busy, we wouldn't do the move. I
think a better way to capture it is what this patch does: if the wakee
runqueue is below 100% busy, and the sum of the two runqueue's loads is
above 100% busy, and the wakee runqueue is less busy than the waker
runqueue (ie. CPU utilisation would drop if we do the move), then we don't
do the move.
After I fixed this, I found things were still getting bounced around quite
a bit. The reason is that we were attempting very aggressive idle
balancing in order to cut down idle time in a dbt2-pgsql workload, which is
particularly sensitive to idle.
After having Mark Wong (markw@osdl.org) retest this load with this patch,
it looks like we don't need to be so aggressive. I'm glad to be rid of
this because it never sat too well with me. We should see slightly lower
cost of schedule and slightly improved cache impact with this change too.
Mark said:
---
This looks pretty good:
metric kernel
2334 2.6.7-rc2
2298 2.6.7-rc2-mm2
2329 2.6.7-rc2-mm2-sched-more-wakeaffine
---
ie. within the noise.
David said:
---
Oooh, me likeee!
Host OS Pipe AF
UNIX
--------- ------------- ---- ----
caldera.h Linux 2.6.6 3424 2057 (plain 2.6.6)
caldera.h Linux 2.6.7-r 333. 1402 (original 2.6.7-rc1)
caldera.h Linux 2.6.7-r 3086 4301 (2.6.7-rc1 with your patch)
Pipe-bandwidth is still down about 10% but that may be due to
unrelated changes (or perhaps warmup effects?). The AF UNIX
bandwidth
is just mindboggling. Moreover, with your patch 2.6.7-rc1 shows
better context-switch times and lower communication latencies (more
like the numbers you're getting on UP).
So it seems like the overall balance of keeping things on the same
CPU
vs. distributing them across CPUs is improved.
---
I also ran some tests on the NUMAQ. kernbench, dbench, hackbench, reaim
were much the same. tbench was improved, very much so when clients < NR_CPU.
Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<benh@kernel.crashing.org>
[PATCH] Fix rivafb's OpenFirmware parsing
The attached patch fixes the EDID parsing for PPC on rivafb. It actually
finds the EDID info in the OF Tree now. I grabbed this from BenHs Tree as
of 2.6.5-rc3. The current code has no chance to work since it doesn't walk
the device tree. This helps rivafb on PPC at least a bit further...
Signed-off-by: Guido Guenther <agx@sigxcpu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<benh@kernel.crashing.org>
[PATCH] Fix DRM mismerge(?)
From: Colin Leroy <colin@colino.net>
Paulus brought this up on IRC, it seems to be a bad DRM merge: The code
#ifndef VMAP_4_ARGS
if ( dev->agp->cant_use_aperture )
return -EINVAL;
#endif
in DRM(agp_acquire) should be removed altogether in a 2.6 kernel because
its vmap() takes 4 arguments; however, only the guards seem to have been
removed, which causes this function to erroneously fail if the AGP aperture
can't be directly accessed by the CPU.
Signed-off-by: Colin Leroy <colin@colino.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<minyard@acm.org>
[PATCH] Fix procfs warnings when removing ipmi_si module
Presently we get procfs warnings from ipmi_si.ko due to its failing to
remove all of a /proc directory's contents prior to removing that
directory.
This patch tracks all proc entries for an IPMI interface and unregisters
them all upon removal.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<airlied@linux.ie>
[PATCH] MTD: add st m50fw0* to jedec_probe.c
Adds support to the jedec probe for ST M50FW040, M50FW080 and M50FW016 all
Firmware hubs for i8x0 chipsets,
http://www.st.com/stonline/products/families/memories/fl_nor/fl_fwh.htm
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<minyard@acm.org>
[PATCH] Fix ipmi compile failure
Geert Uytterhoeven wrote:
While compiling drivers/char/ipmi/ipmi_si_intf.c in 2.6.6-rc1 on m68k,
I noticed a missing include (needed for disable_irq_nosync() and
enable_irq()):
Furthermore none of CONFIG_ACPI_INTERPETER, CONFIG_X86, and CONFIG_PCI
were set, and thus IPMI_MEM_ADDR_SPACE and IPMI_IO_ADDR_SPACE are not
defined, but they are used.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hadi@cyberus.ca>
[NET]: Add ARPHRD_NONE and use it in tun driver.
<olh@suse.de>
[NET]: Fix compat bug in recvmsg/sendmsg wrt MSG_CMSG_COMPAT.
<airlied@starflyer.(none)>
Remove check that is needed only for 2.4 kernel fixes bug reports on lk.
Signed-off-by: Colin Leroy <colin@colino.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: change CONFIG_IDEDISK_STOKE to a runtime option
From: Christoph Hellwig <hch@lst.de>
To be useful for distribution kernels it needs to be a runtime option.
The original patch is from Joerg Platte via the Debian kernel package,
with some adjustments from me (and me too - Bart).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: remove unused ide_remove_setting() from ide.c
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: use try_to_flush_leftover_data() in idedisk_error()
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: remove needless exports
Remove needless exports from ide.c, ide-probe.c and ide-proc.c.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: sanitize __ide_do_rw_disk() debugging code
- move common code to ide_do_rw_disk()
(+ always print block number and rq->buffer)
- use pr_debug()
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide: remove dead code from ide-taskfile.c
Remove dead code from task_in_intr() and pre_task_mulout_intr()
(CONFIG_IDE_TASKFILE_IO=n versions).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<axboe@suse.de>
[PATCH] kill drivers/ide TCQ support
Lets just remove it. It's been disabled some time ago, and there's no
chance of it ever getting resurrected. PATA TCQ has so many technical
short comings, that it was never really interesting I'm afraid.
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<hch@lst.de>
[WATCHDOG] linux/watchdog.h include types.h patch
watchdog.h is using __u8 and __u32 from linux/types.h, so it needs to
include it.
<mingo@redhat.com>
[PATCH] sched: honor the "sync" wakeup bit
The scheduler changes had another thing missing: the appreciation of
sync wakeups. (I had this in one of the earlier sched-domains cleanup
patches before but it got lost in the shuffle.)
When a sync waker is waking, we should subtract its load from the
current load - it will schedule away for sure in the near future.
That's what the "sync" bit means.
This change is necessary because with the sched-domains balancer we have
a much more sensitive cpu-load estimator, and in this particular context
of try_to_wake_up() the sync waker's effect will always be part of the
load. Patch against your patch attached.
In my testing there's an additional increase in bw_pipe numbers on a
dual P2 box, it went from 110-120 MB/sec to 120-130 MB/sec.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<rmk@flint.arm.linux.org.uk>
[ARM] Uninline flush_dcache_page()
<rmk@flint.arm.linux.org.uk>
[ARM] Update mach-types.
<torvalds@ppc970.osdl.org>
rpc: Use proper printk format for size_t argument.
<benh@kernel.crashing.org>
[PATCH] ppc32: Fix CPUs with soft loaded TLB
The recent introduction of ptep_set_access_flags() with the optimisation
of not flushing the TLB unfortunately broke ppc32 CPUs with no hash
table.
The data access exception code path in assembly for these doesn't
properly deal with the case where the TLB entry is present with the
wrong PAGE_RW and will just call do_page_fault again instead of just
replacing the TLB entry.
Fixing the asm code for all the different CPU types affected (yah,
embedded PPCs all have different MMUs =P) is painful and need testing I
can't do at the moment, so here's a fix that will just flush the TLB
page when changing the access flags on non-hash based machines. Please
apply.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org
<benh@kernel.crashing.org>
[PATCH] ppc32: missed flush_tlb_page_nohash() cases
ARGH. Missed one file. Here is an additional patch (missed tlbflush.h patch)
Sorry.
This adds the definiction of flush_tlb_page_nohash() that was missing
from the previous patch fixing SW-TLB loaded PPCs
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<benh@kernel.crashing.org>
[PATCH] ppc64: make the TLB flush logic match ppc32
Adds a dummy flush_tlb_page_nohash() called by ptep_set_access_bits(),
to be used if we ever have a ppc64 CPU with software loaded TLB.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davej@redhat.com>
[PATCH] fix warning in synclink.c
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davej@redhat.com>
[PATCH] Fix missing padding in DMI table.
This entry in the DMI blacklist table is missing it's NO_MATCH
tags, which means the struct gets padded instead of filled with
the desired NO_MATCH data which is {255, NULL}
Usually not fatal it seems, but there have been numerous cases
in Red Hat bugzilla where this did get tripped up, and caused
an immediate reset on these boards. Not fun to track down.
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
<davem@nuts.davemloft.net>
[TCP]: Need tcp_get_info decl in net/tcp.h
<akropel1@rochester.rr.com>
[FB]: Fix uninitialized fb_cmap member in sbuslib.c
When handling FBIOPUTCMAP_SPARC, sbusfb fails to initialize cmap.transp,
which quickly leads to an oops when fb_set_cmap() dereferences it.
First encountered in Aurora Wombat kernels and seems to afflict mainline
as well. Patch is against 2.6.7-rc2. xorg still fails to actually get
anything to display on my CG6, but at least it no longer oopses the kernel.
Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Signed-off-by: David S. Miller <davem@redhat.com>
<hadi@zynx.com>
[NETFILTER]: Small cleanup for {ipt,ip6t,arpt}_find_target
Signed-off-by: Jamal Hadi Salim <hadi@zynx.com>
Signed-off-by: David S. Miller <davem@redhat.com>
<vojtech@suse.cz>
input: Exclude tasklet changes to i8042.c
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
<torvalds@ppc970.osdl.org>
Linux 2.6.7-rc3
(
Log in to post comments)