platform/kernel/linux-starfive.git
18 years agointelfbhw.c: intelfbhw_get_p1p2 defined but not used
Parag Warudkar [Tue, 22 Aug 2006 00:12:58 +0000 (10:12 +1000)]
intelfbhw.c: intelfbhw_get_p1p2 defined but not used

intelfbhw_get_p1p2 is used only if REGDUMP is defined - compile it in only
if REGDUMP is defined - one less compiler warning.

Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agointelfb: fix mtrr_reg signedness
Dave Airlie [Tue, 22 Aug 2006 00:10:56 +0000 (10:10 +1000)]
intelfb: fix mtrr_reg signedness

This is my fix for gcc 4.1 sign issue reported by Eric Sesterhenn
<snakebyte@gmx.de>.

Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agointelfb: update doc and Kconfig (supported devices)
Christian Merkle [Tue, 22 Aug 2006 00:07:01 +0000 (10:07 +1000)]
intelfb: update doc and Kconfig (supported devices)

According to drivers/video/intelfb/intelfb.h, the intelfb driver
supportes the following devices:
830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM. So the description in
drivers/video/Kconfig and the documentation in
Documentation/fb/intelfb.txt is outdated.

airlied: cleaned up some other obvious mistakes in intelfb.txt.

Signed-off-by: Christian Merkle <mail@christian-merkle.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

Adds code to unregister the I2C buses in the cleanup function.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[07/07] intelfb: adds an option to enable I2C support in the intelfb driver.  Also adds
the intel_i2c.c file to the Makefile.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[06/07] intelfb: adds intelfb_i2c.c which contains the infrastructure needed to
enumerate the i2c busses on the intelfb.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[05/07] intelfb: add output fields to dinfo.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[04/07] intelfb: add intelfb_output_rec struct and the constants for it's
fields.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[03/07] intelfb: add intelfb_i2c_chan struct.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[02/07] intelfb: add GPIO registers.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add preliminary i2c support
Dennis Munsie [Tue, 20 Jun 2006 18:55:55 +0000 (14:55 -0400)]
intelfb: add preliminary i2c support

[01/07] i2c: add intelfb bit algorithm id

Adds the intelfb bit algorithm id to i2c-id.h.

Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
18 years agointelfb: add vsync interrupt support
Eric Hustvedt [Tue, 20 Jun 2006 18:36:42 +0000 (14:36 -0400)]
intelfb: add vsync interrupt support

[05/05] intelfb: Honor FB_ACTIVATE_VBL for display panning

Extends the intelfb_vsync struct to store panning offset. The interrupt service routine uses the stored panning offset if a pan is requested for the vsync. intelfbhw_disable_irq also pans the display if there is a pending request.

Signed-off-by: Eric Hustvedt <ehustvedt@cecropia.com>
18 years agointelfb: add vsync interrupt support
Eric Hustvedt [Tue, 20 Jun 2006 18:36:42 +0000 (14:36 -0400)]
intelfb: add vsync interrupt support

[04/05] intelfb: implement FBIO_WAITFORVSYNC ioctl

The (unofficial) FBIO_WAITFORVSYNC ioctl is implemented by sleeping on the appropriate waitqueue, as defined in my earlier patch. Currently, only display 0 (aka pipe A) is supported.

Signed-off-by: Eric Hustvedt <ehustvedt@cecropia.com>
18 years agointelfb: add vsync interrupt support
Eric Hustvedt [Tue, 20 Jun 2006 18:36:41 +0000 (14:36 -0400)]
intelfb: add vsync interrupt support

[03/05] intelfb: Implement basic interrupt handling

Functions have been added to enable and disable interrupts using the MMIO registers. Currently only pipe A vsync interrupts are enabled.
A generalized vsync accounting struct is defined, with the intent that it can encapsulate per-pipe vsync related info in the future. Currently a single instance is hard-coded.
The interrupt service routine currently only looks for vsync interrupts on pipe A, and increments a counter and wakes up anyone waiting on it.

This implementation is heavily influenced by similar implementations in the atyfb and matroxfb drivers.

Signed-off-by: Eric Hustvedt <ehustvedt@cecropia.com>
18 years agointelfb: add vsync interrupt support
Eric Hustvedt [Tue, 20 Jun 2006 18:36:41 +0000 (14:36 -0400)]
intelfb: add vsync interrupt support

[02/05] intelfb: Add interrupt related register definitions

Add constants for accessing HWSTAM, IER, IIR, and IMR registers.
Add constants for interrupt types supported by the 8xx and 9xx chipsets.
The registers are also stored in the hwstate struct and dumped in the debug routine.

Signed-off-by: Eric Hustvedt <ehustvedt@cecropia.com>
18 years agointelfb: add vsync interrupt support
Eric Hustvedt [Tue, 20 Jun 2006 18:36:41 +0000 (14:36 -0400)]
intelfb: add vsync interrupt support

[01/05] intelfb: Add 16-bit register access macros

This patch adds macros to read and write two-byte MMIO registers. The interrupt-related registers are all word-sized, rather than long-sized.

Signed-off-by: Eric Hustvedt <ehustvedt@cecropia.com>
18 years agointelfb delousing
Al Viro [Fri, 23 Jun 2006 05:05:39 +0000 (06:05 +0100)]
intelfb delousing

ring_head is offset in card memory, not iomem pointer.  Fixed, removed
fuckloads of amazingly bogus casts somebody had sprinkled all over the
place.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years ago[PATCH] fix typo in acpi video brightness changes.
Dave Jones [Sat, 24 Jun 2006 04:33:08 +0000 (00:33 -0400)]
[PATCH] fix typo in acpi video brightness changes.

Prevent possible null dereference due to misplaced ;

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 23 Jun 2006 22:58:44 +0000 (15:58 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (258 commits)
  [libata] conversion to new debug scheme, part 1 of $N
  [PATCH] libata: Add ata_scsi_dev_disabled
  [libata] Add host lock to struct ata_port
  [PATCH] libata: implement per-dev EH action mask eh_info->dev_action[]
  [PATCH] libata-dev: move the CDB-intr DMA blacklisting
  [PATCH] ahci: disable NCQ support on vt8251
  [libata] ahci: add JMicron PCI IDs
  [libata] sata_nv: add PCI IDs
  [libata] ahci: Add NVIDIA PCI IDs.
  [PATCH] libata: convert several bmdma-style controllers to new EH, take #3
  [PATCH] sata_via: convert to new EH, take #3
  [libata] sata_nv: s/spin_lock_irqsave/spin_lock/ in irq handler
  [PATCH] sata_nv: add hotplug support
  [PATCH] sata_nv: convert to new EH
  [PATCH] sata_nv: better irq handlers
  [PATCH] sata_nv: simplify constants
  [PATCH] sata_nv: kill struct nv_host_desc and nv_host
  [PATCH] sata_nv: kill not-working hotplug code
  [libata] Update docs to reflect current driver API
  [PATCH] libata: add host_set->next for legacy two host_sets case, take #3
  ...

18 years ago[IA64] fix ia64 build (fadt_descriptor)
Tony Luck [Fri, 23 Jun 2006 20:49:25 +0000 (13:49 -0700)]
[IA64] fix ia64 build (fadt_descriptor)

arch/ia64/kernel/acpi.c got forgotten when include/acpi/actbl.h
got a cleanup.

Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years agoAuto-update from upstream
Tony Luck [Fri, 23 Jun 2006 20:46:23 +0000 (13:46 -0700)]
Auto-update from upstream

18 years ago[PATCH] fix silly ARM non-EABI build error
Nicolas Pitre [Fri, 23 Jun 2006 15:40:53 +0000 (11:40 -0400)]
[PATCH] fix silly ARM non-EABI build error

My bad.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] s390_hypfs filesystem: get_sb_single() fix
Andrew Morton [Fri, 23 Jun 2006 11:01:35 +0000 (04:01 -0700)]
[PATCH] s390_hypfs filesystem: get_sb_single() fix

Update hypfs for dhowells API changes.

Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Ingo Oeser <ioe-lkml@rameria.de>
Cc: Joern Engel <joern@wohnheim.fh-wedel.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cpufreq build fix
Andrew Morton [Fri, 23 Jun 2006 10:31:19 +0000 (03:31 -0700)]
[PATCH] cpufreq build fix

drivers/cpufreq/cpufreq_ondemand.c: In function 'do_dbs_timer':
drivers/cpufreq/cpufreq_ondemand.c:374: warning: implicit declaration of function 'lock_cpu_hotplug'
drivers/cpufreq/cpufreq_ondemand.c:381: warning: implicit declaration of function 'unlock_cpu_hotplug'
drivers/cpufreq/cpufreq_conservative.c: In function 'do_dbs_timer':
drivers/cpufreq/cpufreq_conservative.c:425: warning: implicit declaration of function 'lock_cpu_hotplug'
drivers/cpufreq/cpufreq_conservative.c:432: warning: implicit declaration of function 'unlock_cpu_hotplug'

Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[BLOCK] Fix bounce limit address check
Andi Kleen [Wed, 21 Jun 2006 12:48:09 +0000 (14:48 +0200)]
[BLOCK] Fix bounce limit address check

Do a safer check for when to enable DMA. Currently we enable ISA DMA
for cases that do not need it, resulting in OOM conditions when ZONE_DMA
runs out of space.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] rbtree: support functions used by the io schedulers
Jens Axboe [Wed, 21 Jun 2006 07:36:18 +0000 (09:36 +0200)]
[PATCH] rbtree: support functions used by the io schedulers

They all duplicate macros to check for empty root and/or node, and
clearing a node. So put those in rbtree.h.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] splice: retrieve mapping after locking the page
Jens Axboe [Tue, 20 Jun 2006 13:01:12 +0000 (15:01 +0200)]
[PATCH] splice: retrieve mapping after locking the page

Otherwise we could be racing with truncate/mapping removal.

Problem found/fixed by Nick Piggin <npiggin@suse.de>, logic rewritten
by me.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] cfq-iosched: rq update fixes
Jens Axboe [Fri, 16 Jun 2006 13:35:39 +0000 (15:35 +0200)]
[PATCH] cfq-iosched: rq update fixes

- Remember to set ->last_sector so that the cfq_choose_req() logic
  works correctly.

- Remove redundant call to cfq_choose_req()

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] cfq-iosched: many performance fixes
Jens Axboe [Fri, 16 Jun 2006 09:23:00 +0000 (11:23 +0200)]
[PATCH] cfq-iosched: many performance fixes

This is a collection of patches that greatly improve CFQ performance
in some circumstances.

- Change the idling logic to only kick in after a request is done and we
  are deciding what to do. Before the idling included the request service
  time, so it was hard to adjust. Now it's true think/idle time.

- Take advantage of TCQ/NCQ/queueing for seeky sync workloads, but keep
  it in control for sync and sequential (or close to) workloads.

- Expire queues immediately and move on to other busy queues, if we are
  not going to idle after the current one finishes.

- Don't rearm idle timer if there are no busy queues. Just leave the
  system idle.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] cfq-iosched: correctly set ioprio on both targets
Jens Axboe [Wed, 14 Jun 2006 07:10:45 +0000 (09:10 +0200)]
[PATCH] cfq-iosched: correctly set ioprio on both targets

Patch originally from Vasily Tarasov <vtaras@sw.ru>

If you set io-priority of process 1 using sys_ioprio_set system call by
another process 2 (like ionice do), then cfq_init_prio_data() function
sets priority of process 2 (current) on queue of process 1 and clears
the flag, that designates change of ioprio.  So the process  1 will work
like with priority of process 2.

I propose not to call cfq_init_prio_data() on io-priority change, but
only mark queue as queue with changed prority.  Every time when new
request comes cfq-scheduler checks for this flag and atomaticaly changes
priority of queue to new value.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] Make CFQ the default IO scheduler
Jens Axboe [Mon, 19 Jun 2006 08:06:48 +0000 (10:06 +0200)]
[PATCH] Make CFQ the default IO scheduler

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] Rearrange a few struct request members
Jens Axboe [Tue, 13 Jun 2006 07:02:34 +0000 (09:02 +0200)]
[PATCH] Rearrange a few struct request members

This saves 8 bytes of data in 64-bit archs.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] Get rid of struct request request_pm_state member
Jens Axboe [Tue, 13 Jun 2006 06:46:57 +0000 (08:46 +0200)]
[PATCH] Get rid of struct request request_pm_state member

The IDE power management can just use the ->end_io_data member to store
it's data.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] Kill PF_SYNCWRITE flag
Jens Axboe [Tue, 13 Jun 2006 06:26:10 +0000 (08:26 +0200)]
[PATCH] Kill PF_SYNCWRITE flag

A process flag to indicate whether we are doing sync io is incredibly
ugly. It also causes performance problems when one does a lot of async
io and then proceeds to sync it. Part of the io will go out as async,
and the other part as sync. This causes a disconnect between the
previously submitted io and the synced io. For io schedulers such as CFQ,
this will cause us lost merges and suboptimal behaviour in scheduling.

Remove PF_SYNCWRITE completely from the fsync/msync paths, and let
the O_DIRECT path just directly indicate that the writes are sync
by using WRITE_SYNC instead.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] cfq-iosched: Don't set the queue batching limits
Jens Axboe [Tue, 13 Jun 2006 06:08:38 +0000 (08:08 +0200)]
[PATCH] cfq-iosched: Don't set the queue batching limits

We cannot update them if the user changes nr_requests, so don't
set it in the first place. The gains are pretty questionable as
well. The batching loss has been shown to decrease throughput.

Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] remove dead code from elevator switching
Dave Jones [Mon, 12 Jun 2006 12:20:58 +0000 (14:20 +0200)]
[PATCH] remove dead code from elevator switching

We already drop the refcount in elevator_exit(), and as
we're setting 'e' to NULL, we'll never take that branch anyway.
Finally, as 'e' is a local var that isn't referenced afterwards,
setting it to NULL is pointless.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] blktrace_api.h: endian annotations
Alexey Dobriyan [Mon, 5 Jun 2006 10:09:50 +0000 (12:09 +0200)]
[PATCH] blktrace_api.h: endian annotations

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] blk_start_queue() must be called with irq disabled - add warning
Paolo 'Blaisorblade' Giarrusso [Mon, 5 Jun 2006 10:09:01 +0000 (12:09 +0200)]
[PATCH] blk_start_queue() must be called with irq disabled - add warning

The queue lock can be taken from interrupts so it must always be taken with
irq disabling primitives.  Some primitives already verify this.
blk_start_queue() is called under this lock, so interrupts must be
disabled.

Also document this requirement clearly in blk_init_queue(), where the queue
spinlock is set.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] iosched: use hlist for request hashtable
Akinobu Mita [Mon, 24 Apr 2006 19:12:59 +0000 (21:12 +0200)]
[PATCH] iosched: use hlist for request hashtable

Use hlist instead of list_head for request hashtable in deadline-iosched
and as-iosched. It also can remove the flag to know hashed or unhashed.

Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
 block/as-iosched.c       |   45 +++++++++++++++++++--------------------------
 block/deadline-iosched.c |   39 ++++++++++++++++-----------------------
 2 files changed, 35 insertions(+), 49 deletions(-)

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 23 Jun 2006 15:00:01 +0000 (08:00 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET]: Require CAP_NET_ADMIN to create tuntap devices.
  [NET]: fix net-core kernel-doc
  [TCP]: Move inclusion of <linux/dmaengine.h> to correct place in <linux/tcp.h>
  [IPSEC]: Handle GSO packets
  [NET]: Added GSO toggle
  [NET]: Add software TSOv4
  [NET]: Add generic segmentation offload
  [NET]: Merge TSO/UFO fields in sk_buff
  [NET]: Prevent transmission after dev_deactivate
  [IPV6] ADDRCONF: Fix default source address selection without CONFIG_IPV6_PRIVACY
  [IPV6]: Fix source address selection.
  [NET]: Avoid allocating skb in skb_pad

18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Fri, 23 Jun 2006 14:52:36 +0000 (07:52 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (65 commits)
  ACPI: suppress power button event on S3 resume
  ACPI: resolve merge conflict between sem2mutex and processor_perflib.c
  ACPI: use for_each_possible_cpu() instead of for_each_cpu()
  ACPI: delete newly added debugging macros in processor_perflib.c
  ACPI: UP build fix for bugzilla-5737
  Enable P-state software coordination via _PDC
  P-state software coordination for speedstep-centrino
  P-state software coordination for acpi-cpufreq
  P-state software coordination for ACPI core
  ACPI: create acpi_thermal_resume()
  ACPI: create acpi_fan_suspend()/acpi_fan_resume()
  ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend()
  ACPI: create acpi_device_suspend()/acpi_device_resume()
  ACPI: replace spin_lock_irq with mutex for ec poll mode
  ACPI: Allow a WAN module enable/disable on a Thinkpad X60.
  sem2mutex: acpi, acpi_link_lock
  ACPI: delete unused acpi_bus_drivers_lock
  sem2mutex: drivers/acpi/processor_perflib.c
  ACPI add ia64 exports to build acpi_memhotplug as a module
  ACPI: asus_acpi_init(): propagate correct return value
  ...

Manual resolve of conflicts in:

arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
include/acpi/processor.h

18 years ago[PATCH] docs: update sparse.txt with CHECK_ENDIAN
Bob Copeland [Fri, 23 Jun 2006 09:06:09 +0000 (02:06 -0700)]
[PATCH] docs: update sparse.txt with CHECK_ENDIAN

Update the sparse documentation to omit the -Wbitwise flag example (as it
is now passed by default), and document the kernel defines to enable
endianness checking.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/block/loop.c: don't return garbage if LOOP_SET_STATUS not called
Constantine Sapuntzakis [Fri, 23 Jun 2006 09:06:08 +0000 (02:06 -0700)]
[PATCH] drivers/block/loop.c: don't return garbage if LOOP_SET_STATUS not called

While writing a version of losetup, I ran into the problem that the loop
device was returning total garbage.

It turns out the problem was that this losetup was only issuing the
LOOP_SET_FD ioctl and not issuing a subsequent LOOP_SET_STATUS ioctl.  This
losetup didn't have any special status to set, so it left out the call.

The deeper cause is that loop_set_fd sets the transfer function to NULL,
which causes no transfer to happen lo_do_transfer.

This patch fixes the problem by setting transfer to transfer_none in
loop_set_fd.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] make kernel warn about incorrectly sized partitions
Mike Miller [Fri, 23 Jun 2006 09:06:07 +0000 (02:06 -0700)]
[PATCH] make kernel warn about incorrectly sized partitions

Sometimes partitions claim to be larger than the reported capacity of a
disk device.  This patch makes the kernel warn about those partitions.

We still permit these patitions to be used.  Quoting Andries Brouwer
<Andries.Brouwer@cwi.nl>:

 Case 1: The kernel is mistaken about the size of the disk.  (There are
 commands to clip a disk to a certain capacity, there are jumpers to tell a
 disk that it should report a certain capacity etc.  Usually this is because
 of BIOS bugs.  In bad cases the machine will crash in the BIOS and hence fail
 to boot if the disk reports full capacity.) In such cases actually accessing
 the blocks of the partition may work fine, or may work fine after running an
 unclip utility.  I wrote "setmax" some years ago precisely for this reason.

 Case 2: There was a messy partition table (maybe just a rounding error) but
 the actual filesystem on the partition is contained in the physical disk.
 Now using the filesystem goes without problem.

 Case 3: Both partition and filesystem extend beyond the end of the disk.  In
 forensic or debugging situations one often uses a copy of the start of a
 disk.  Now access beyond the end gives an expected I/O error.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Stephen Cameron <steve.cameron@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] More BUG_ON conversion
Eric Sesterhenn [Fri, 23 Jun 2006 09:06:06 +0000 (02:06 -0700)]
[PATCH] More BUG_ON conversion

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Acked-by: "Salyzyn, Mark" <mark_salyzyn@adaptec.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] JBD: split checkpoint lists
Jan Kara [Fri, 23 Jun 2006 09:06:05 +0000 (02:06 -0700)]
[PATCH] JBD: split checkpoint lists

Split the checkpoint list of the transaction into two lists.  In the first
list we keep the buffers that need to be submitted for IO.  In the second
list are kept buffers that were already submitted and we just have to wait
for the IO to complete.  This should simplify a handling of checkpoint
lists a bit and can eventually be also a performance gain.

Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Cc: "Stephen C. Tweedie" <sct@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Sparse fixes for synclink_cs
Peter Hagervall [Fri, 23 Jun 2006 09:06:04 +0000 (02:06 -0700)]
[PATCH] Sparse fixes for synclink_cs

Mark a few non-exported functions static.

Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Cc: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] adjust handle_IRR_event() return type
Jan Beulich [Fri, 23 Jun 2006 09:06:00 +0000 (02:06 -0700)]
[PATCH] adjust handle_IRR_event() return type

Correct the return type of handle_IRQ_event() (inconsistency noticed during
Xen development), and remove redundant declarations.  The return type
adjustment required breaking out the definition of irqreturn_t into a
separate header, in order to satisfy current include order dependencies.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ian Molton <spyro@f2s.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/md/raid6algos.c: fix a NULL dereference
Adrian Bunk [Fri, 23 Jun 2006 09:05:59 +0000 (02:05 -0700)]
[PATCH] drivers/md/raid6algos.c: fix a NULL dereference

This patch fixes a NULL dereference spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] CodingStyle: add typedefs chapter
Randy Dunlap [Fri, 23 Jun 2006 09:05:58 +0000 (02:05 -0700)]
[PATCH] CodingStyle: add typedefs chapter

Add a chapter on typedefs, copied from an email from Linus to lkml on Feb.
3, 2006.  (Subject: Re: [RFC][PATCH 1/5] Virtualization/containers:
startup)

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] When CONFIG_BASE_SMALL=1, cascade() may enter an infinite loop
Porpoise [Fri, 23 Jun 2006 09:05:56 +0000 (02:05 -0700)]
[PATCH] When CONFIG_BASE_SMALL=1, cascade() may enter an infinite loop

When CONFIG_BASE_SAMLL=1, cascade() in may enter the infinite loop.
Because of CONFIG_BASE_SMALL=1(TVR_BITS=6 and TVN_BITS=4), the list
base->tv5 may cascade into base->tv5.  So, the kernel enters the infinite
loop in the function cascade().

I created a test module to verify this bug, and a patch to fix it.

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/timer.h>
#if 0
#include <linux/kdb.h>
#else
#define kdb_printf printk
#endif

#define TVN_BITS (CONFIG_BASE_SMALL ? 4 : 6)
#define TVR_BITS (CONFIG_BASE_SMALL ? 6 : 8)
#define TVN_SIZE (1 << TVN_BITS)
#define TVR_SIZE (1 << TVR_BITS)
#define TVN_MASK (TVN_SIZE - 1)
#define TVR_MASK (TVR_SIZE - 1)

#define TV_SIZE(N)  (N*TVN_BITS  + TVR_BITS)

struct timer_list timer0;
struct timer_list dummy_timer1;
struct timer_list dummy_timer2;

void dummy_timer_fun(unsigned long data) {
}
unsigned long j=0;
void check_timer_base(unsigned long data)
{
        kdb_printf("check_timer_base %08x\n",jiffies);
        mod_timer(&timer0,(jiffies & (~0xFFF)) + 0x1FFF);
}

int init_module(void)
{
        init_timer(&timer0);
        timer0.data = (unsigned long)0;
        timer0.function = check_timer_base;
        mod_timer(&timer0,jiffies+1);

        init_timer(&dummy_timer1);
        dummy_timer1.data = (unsigned long)0;
        dummy_timer1.function = dummy_timer_fun;

        init_timer(&dummy_timer2);
        dummy_timer2.data = (unsigned long)0;
        dummy_timer2.function = dummy_timer_fun;

        j=jiffies;
        j&=(~((1<<TV_SIZE(3))-1));
        j+=(1<<TV_SIZE(3));
        j+=(1<<TV_SIZE(4));

        kdb_printf("mod_timer %08x\n",j);

        mod_timer(&dummy_timer1, j );
        mod_timer(&dummy_timer2, j );

        return 0;
}

void cleanup_module()
{
        del_timer_sync(&timer0);
        del_timer_sync(&dummy_timer1);
        del_timer_sync(&dummy_timer2);
}

(Cleanups from Oleg)

[oleg@tv-sign.ru: use list_replace_init()]
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] list: use list_replace_init() instead of list_splice_init()
Oleg Nesterov [Fri, 23 Jun 2006 09:05:55 +0000 (02:05 -0700)]
[PATCH] list: use list_replace_init() instead of list_splice_init()

list_splice_init(list, head) does unneeded job if it is known that
list_empty(head) == 1.  We can use list_replace_init() instead.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] list: introduce list_replace() helper
Oleg Nesterov [Fri, 23 Jun 2006 09:05:54 +0000 (02:05 -0700)]
[PATCH] list: introduce list_replace() helper

list_replace() is similar to list_replace_rcu(), but unlike
list_replace_rcu() it

could be used when list_empty(old) == 1

doesn't use barriers

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] two additions to ./linux/Documentation/ioctl-number.txt
bjdouma [Fri, 23 Jun 2006 09:05:53 +0000 (02:05 -0700)]
[PATCH] two additions to ./linux/Documentation/ioctl-number.txt

Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] SGI IOC4: Detect IO card variant
Brent Casavant [Fri, 23 Jun 2006 09:05:52 +0000 (02:05 -0700)]
[PATCH] SGI IOC4: Detect IO card variant

There are three different IO cards which an SGI IOC4 controller may find
itself on.  One of these variants does not bring out the IDE and serial
signals, so we need to disable attaching the corresponding IOC4 subdrivers
to such cards.

Cleans up message clutter emitted during device probing.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Doc: add audit & acct to DocBook
Randy Dunlap [Fri, 23 Jun 2006 09:05:52 +0000 (02:05 -0700)]
[PATCH] Doc: add audit & acct to DocBook

Fix one audit kernel-doc description (one parameter was missing).
Add audit*.c interfaces to DocBook.
Add BSD accounting interfaces to DocBook.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Make RCU API inaccessible to non-GPL Linux kernel modules
Paul E. McKenney [Fri, 23 Jun 2006 09:05:51 +0000 (02:05 -0700)]
[PATCH] Make RCU API inaccessible to non-GPL Linux kernel modules

Remove synchronize_kernel() (deprecated 2-APR-2005 in
http://lkml.org/lkml/2005/4/3/11) and makes the RCU API inaccessible to
non-GPL Linux kernel modules (as was announced more than one year ago in
http://lkml.org/lkml/2005/4/3/8).  Tested on x86 and ppc64.

Signed-off-by: "Paul E. McKenney" <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] kernel/sys.c doesn't need init.h
Jes Sorensen [Fri, 23 Jun 2006 09:05:50 +0000 (02:05 -0700)]
[PATCH] kernel/sys.c doesn't need init.h

kernel/sys.c doesn't have anything in it relying on linux/init.h -
remove the include.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] add Doc/SubmitChecklist
Randy Dunlap [Fri, 23 Jun 2006 09:05:49 +0000 (02:05 -0700)]
[PATCH] add Doc/SubmitChecklist

Provide a checklist of techniques to aid kernel patch submitters in
producing healthy patches and in lessening a burden on maintainers.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Remove semi-softlockup from invalidate_mapping_pages
NeilBrown [Fri, 23 Jun 2006 09:05:48 +0000 (02:05 -0700)]
[PATCH] Remove semi-softlockup from invalidate_mapping_pages

If invalidate_mapping_pages is called to invalidate a very large mapping
(e.g.  a very large block device) and if the only active page in that
device is near the end (or at least, at a very large index), such as, say,
the superblock of an md array, and if that page happens to be locked when
invalidate_mapping_pages is called, then

  pagevec_lookup will return this page and
  as it is locked, 'next' will be incremented and pagevec_lookup
  will be called again. and again. and again.
  while we count from 0 upto a very large number.

We should really always set 'next' to 'page->index+1' before going around
the loop again, not just if the page isn't locked.

Cc: "Steinar H. Gunderson" <sgunderson@bigfoot.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] CONFIG_NET=n build fix
Andrew Morton [Fri, 23 Jun 2006 09:05:47 +0000 (02:05 -0700)]
[PATCH] CONFIG_NET=n build fix

Cc: Greg KH <greg@kroah.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] connector-exports
Andrew Morton [Fri, 23 Jun 2006 09:05:46 +0000 (02:05 -0700)]
[PATCH] connector-exports

Put the connector exports at the functions so people can see them in context.

Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ipmi: strstrip conversion
Pekka Enberg [Fri, 23 Jun 2006 09:05:45 +0000 (02:05 -0700)]
[PATCH] ipmi: strstrip conversion

Switch an open-coded strstrip() to use the new API.

Acked-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] strstrip() API
Pekka Enberg [Fri, 23 Jun 2006 09:05:44 +0000 (02:05 -0700)]
[PATCH] strstrip() API

Add a new strstrip() function to lib/string.c for removing leading and
trailing whitespace from a string.

Cc: Michael Holzheu <holzheu@de.ibm.com>
Acked-by: Ingo Oeser <ioe-lkml@rameria.de>
Acked-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Cc: Corey Minyard <minyard@acm.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Michael Holzheu <HOLZHEU@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Process Events: License Change
Matt Helsley [Fri, 23 Jun 2006 09:05:44 +0000 (02:05 -0700)]
[PATCH] Process Events: License Change

Change the license on the process event structure passed between kernel and
userspace.

Signed-off-by: Matt Helsley <matthltc@us.ibm.com>
Acked-by: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
Acked-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Process Events - Header Cleanup
Matt Helsley [Fri, 23 Jun 2006 09:05:42 +0000 (02:05 -0700)]
[PATCH] Process Events - Header Cleanup

Move connector header include to precisely where it's needed.

Remove unused time.h header file as well.  This was leftover from previous
iterations of the process events patches.

Signed-off-by: Matt Helsley <matthltc@us.ibm.com>
Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
Cc: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] remove unlikely() in might_sleep_if()
Hua Zhong [Fri, 23 Jun 2006 09:05:42 +0000 (02:05 -0700)]
[PATCH] remove unlikely() in might_sleep_if()

The likely() profiling tools show that __alloc_page() causes a lot of misses:

!       132    119193 __alloc_pages():mm/page_alloc.c@937

Because most __alloc_page() calls are not atomic.

Signed-off-by: Hua Zhong <hzhong@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] percpu counter data type changes to suppport more than 2**31 ext3 free blocks...
Mingming Cao [Fri, 23 Jun 2006 09:05:41 +0000 (02:05 -0700)]
[PATCH] percpu counter data type changes to suppport more than 2**31 ext3 free blocks counter

The percpu counter data type are changed in this set of patches to support
more users like ext3 who need more than 32 bit to store the free blocks
total in the filesystem.

- Generic perpcu counters data type changes.  The size of the global counter
  and local counter were explictly specified using s64 and s32.  The global
  counter is changed from long to s64, while the local counter is changed from
  long to s32, so we could avoid doing 64 bit update in most cases.

- Users of the percpu counters are updated to make use of the new
  percpu_counter_init() routine now taking an additional parameter to allow
  users to pass the initial value of the global counter.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] percpu_counters: create lib/percpu_counter.c
Ravikiran G Thirumalai [Fri, 23 Jun 2006 09:05:40 +0000 (02:05 -0700)]
[PATCH] percpu_counters: create lib/percpu_counter.c

- Move percpu_counter routines from mm/swap.c to lib/percpu_counter.c

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fix incorrect SA_ONSTACK behaviour for 64-bit processes
Laurent MEYER [Fri, 23 Jun 2006 09:05:36 +0000 (02:05 -0700)]
[PATCH] fix incorrect SA_ONSTACK behaviour for 64-bit processes

- When setting a sighandler using sigaction() call, if the flag
  SA_ONSTACK is set and no alternate stack is provided via sigaltstack(),
  the kernel still try to install the alternate stack.  This behavior is
  the opposite of the one which is documented in Single Unix Specifications
  V3.

- Also when setting an alternate stack using sigaltstack() with the flag
  SS_DISABLE, the kernel try to install the alternate stack on signal
  delivery.

These two use cases makes the process crash at signal delivery.

Signed-off-by: Laurent Meyer <meyerlau@fr.ibm.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: David Howells <dhowells@redhat.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] binflt_elf: remove more casts
Jesper Juhl [Fri, 23 Jun 2006 09:05:35 +0000 (02:05 -0700)]
[PATCH] binflt_elf: remove more casts

Remove redundant casts from NEW_AUX_ENT() arguments in fs/binfmt_elf.c

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] binfmt_elf: CodingStyle cleanup and remove some pointless casts
Jesper Juhl [Fri, 23 Jun 2006 09:05:35 +0000 (02:05 -0700)]
[PATCH] binfmt_elf: CodingStyle cleanup and remove some pointless casts

Do a CodingStyle cleanup of fs/binfmt_elf.c and also remove some pointless
casts of kmalloc() return values in the same file.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Update devices.txt
Jan Engelhardt [Fri, 23 Jun 2006 09:05:34 +0000 (02:05 -0700)]
[PATCH] Update devices.txt

Update Documentation/devices.txt with a new version from the LANANA site
http://www.lanana.org/docs/device-list/devices-2.6+.txt

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Cc: Torben Mathiasen <device@lanana.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] leds: Amstrad Delta LED support
Jonathan McDowell [Fri, 23 Jun 2006 09:05:33 +0000 (02:05 -0700)]
[PATCH] leds: Amstrad Delta LED support

Use the new LED infrastructure to support the 6 LEDs present on the Amstrad
Delta.

[akpm@osdl.org: cleanup]
Signed-off-by: Jonathan McDowell <noodles@earth.li>
Ackde-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Ben Dooks <ben@fluff.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] make noirqdebug/irqfixup __read_mostly, add (un)likely()
Andreas Mohr [Fri, 23 Jun 2006 09:05:32 +0000 (02:05 -0700)]
[PATCH] make noirqdebug/irqfixup __read_mostly, add (un)likely()

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ext3_clear_inode(): avoid kfree(NULL)
Andrew Morton [Fri, 23 Jun 2006 09:05:32 +0000 (02:05 -0700)]
[PATCH] ext3_clear_inode(): avoid kfree(NULL)

Steven Rostedt <rostedt@goodmis.org> points out that `rsv' here is usually
NULL, so we should avoid calling kfree().

Also, fix up some nearby whitespace damage.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] jbd: avoid kfree(NULL)
Andrew Morton [Fri, 23 Jun 2006 09:05:31 +0000 (02:05 -0700)]
[PATCH] jbd: avoid kfree(NULL)

There are a couple of places where JBD has to check to see whether an unneeded
memory allocation was performed.  Usually it _was_ needed, so we end up
calling kfree(NULL).  We can micro-optimise that by checking the pointer
before calling kfree().

Thanks to Steven Rostedt <rostedt@goodmis.org> for identifying this.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86/powerpc make hardirq_ctx and softirq_ctx __read_mostly
Andreas Mohr [Fri, 23 Jun 2006 09:05:30 +0000 (02:05 -0700)]
[PATCH] x86/powerpc make hardirq_ctx and softirq_ctx __read_mostly

The hardirq_ctx and softirq_ctx variables are written to on init only,

Signed-off-by: Andreas Mohr <andi@lisas.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] invert irq/migration.c brach prediction
Daniel Walker [Fri, 23 Jun 2006 09:05:29 +0000 (02:05 -0700)]
[PATCH] invert irq/migration.c brach prediction

If you get to that point in the code it means that desc->move_irq is set,
pending_irq_cpumask[irq] and cpu_online_map should have a value.  Still
pretty good chance anding those two you'll still have a value.  So these
two branch predictors should be inverted.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ISDN: correctly handle isdn_writebuf_stub() errors
Jesper Juhl [Fri, 23 Jun 2006 09:05:28 +0000 (02:05 -0700)]
[PATCH] ISDN: correctly handle isdn_writebuf_stub() errors

isdn_writebuf_stub() forgets to detect memory allocation and uaccess errors.
And when that's fixed, if a error happens the caller will just keep on
looping.

So change the caller to detect the error, and to return it.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i4l: memory leak fix for sc_ioctl().
Jesper Juhl [Fri, 23 Jun 2006 09:05:27 +0000 (02:05 -0700)]
[PATCH] i4l: memory leak fix for sc_ioctl().

Fix leak of `rcvmsg' in sc_ioctl().

There are two returns in the switch in sc_ioctl (the SCIOCSTART case) that
may leak `rcvmsg'.  This patch fixes that by adding a kfree() call at the
beginning of that case.

Bug found by the coverity checker as #1098

Eric Sesterhenn send me a patch to fix the leak(s) by adding 2 kfree()
calls before the returns, I changed that into just a single call at the
beginning.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] OSS: cs46xx cleanup and tiny bugfix
Jesper Juhl [Fri, 23 Jun 2006 09:05:26 +0000 (02:05 -0700)]
[PATCH] OSS: cs46xx cleanup and tiny bugfix

Here's a patch for cs46xx that
 - (mostly) cleans up the cs46xx driver according to CodingStyle
 - removes a bunch of pointless casts
 - fixes a small, potential use of uninitialized variable, bug
 - reduces the size of the compiled code by 36 bytes
 - reduces the size of the source file by 1831 bytes

I know I should probably have split this into bits, but since I only
thought of that *after* doing all the edits, splitting it up would have
been a royal pain. And since these are all pretty trivial changes I thought
I'd just submit the one huge patch and hope people could live with it (if
not, then just tell me and I'll split it).

The bug fix that's in there may be hard to spot, so I'll point it out. It's
the
   -       int val, valsave, mapped, ret;
   +       int val, valsave, ret;
   +       int mapped = 0;
bit.
Without that change we may use `mapped' uninitialized if, in cs_ioctl, the
first test of "if(state)" is false and the second "if(state)" test is true.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] jbd: fix BUG in journal_commit_transaction()
Jan Kara [Fri, 23 Jun 2006 09:05:25 +0000 (02:05 -0700)]
[PATCH] jbd: fix BUG in journal_commit_transaction()

Fix possible assertion failure in journal_commit_transaction() on
jh->b_next_transaction == NULL (when we are processing BJ_Forget list and
buffer is not jbddirty).

!jbddirty buffers can be placed on BJ_Forget list for example by
journal_forget() or by __dispose_buffer() - generally such buffer means
that it has been freed by this transaction.

Freed buffers should not be reallocated until the transaction has committed
(that's why we have the assertion there) but they *can* be reallocated when
the transaction has already been committed to disk and we are just
processing the BJ_Forget list (as soon as we remove b_committed_data from
the bitmap bh, ext3 will be able to reallocate buffers freed by the
committing transaction).  So we have to also count with the case that the
buffer has been reallocated and b_next_transaction has been already set.

And one more subtle point: it can happen that we manage to reallocate the
buffer and also mark it jbddirty.  Then we also add the freed buffer to the
checkpoint list of the committing trasaction.  But that should do no harm.

Non-jbddirty buffers should be filed to BJ_Reserved and not BJ_Metadata
list.  It can actually happen that we refile such buffers during the commit
phase when we reallocate in the running transaction blocks deleted in
committing transaction (and that can happen if the committing transaction
already wrote all the data and is just cleaning up BJ_Forget list).

Signed-off-by: Jan Kara <jack@suse.cz>
Acked-by: "Stephen C. Tweedie" <sct@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cond_resched() might_sleep() fix
Ingo Molnar [Fri, 23 Jun 2006 09:05:23 +0000 (02:05 -0700)]
[PATCH] cond_resched() might_sleep() fix

add the __might_sleep() check back to cond_resched().

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] dup fd error fix
Prasanna Meda [Fri, 23 Jun 2006 09:05:23 +0000 (02:05 -0700)]
[PATCH] dup fd error fix

Set errorp in dup_fd, it will be used in sys_unshare also.

Signed-off-by: Prasanna Meda <mlp@google.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] clean up default value of IP_DCCP_ACKVEC
Jean-Luc Leger [Fri, 23 Jun 2006 09:05:22 +0000 (02:05 -0700)]
[PATCH] clean up default value of IP_DCCP_ACKVEC

Default values for boolean and tristate options can only be 'y', 'm' or 'n'.
This patch removes wrong default for IP_DCCP_ACKVEC.

Signed-off-by: Jean-Luc Leger <jean-luc.leger@dspnet.fr.eu.org>
Cc: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] clean up default value of USB_ISP116X_HCD, USB_SL811_HCD and USB_SL811_CS
Jean-Luc Leger [Fri, 23 Jun 2006 09:05:21 +0000 (02:05 -0700)]
[PATCH] clean up default value of USB_ISP116X_HCD, USB_SL811_HCD and USB_SL811_CS

Default values for boolean and tristate options can only be 'y', 'm' or 'n'.
This patch removes wrong default for USB_ISP116X_HCD, USB_SL811_HCD and
USB_SL811_CS.

Signed-off-by: Jean-Luc Leger <jean-luc.leger@dspnet.fr.eu.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] clean up default value of SYSCALL_DEBUG
Jean-Luc Leger [Fri, 23 Jun 2006 09:05:20 +0000 (02:05 -0700)]
[PATCH] clean up default value of SYSCALL_DEBUG

Default values for boolean and tristate options can only be 'y', 'm' or 'n'.
This patch removes wrong default for SYSCALL_DEBUG.

Signed-off-by: Jean-Luc Leger <jean-luc.leger@dspnet.fr.eu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] clean up default value of SCHED_SMT
Jean-Luc Leger [Fri, 23 Jun 2006 09:05:19 +0000 (02:05 -0700)]
[PATCH] clean up default value of SCHED_SMT

Default values for boolean and tristate options can only be 'y', 'm' or 'n'.
This patch removes wrong default for SCHED_SMT.

Signed-off-by: Jean-Luc Leger <jean-luc.leger@dspnet.fr.eu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ptrace: document the locking rules
Eric W. Biederman [Fri, 23 Jun 2006 09:05:18 +0000 (02:05 -0700)]
[PATCH] ptrace: document the locking rules

After a lot of reading the code and thinking about how it behaves I have
managed to figure out what the current ptrace locking rules are.  The
current code is in much better that it appears at first glance.  The
troublesome code paths are actually the code paths that violate the current
rules.

ptrace uses simple exclusive access as it's locking.  You can only touch
task->ptrace if the task is stopped and you are the ptracer, or if the task
is running and are the task itself.

Very simple, very easy to maintain.  It just needs to be documented so
people know not to touch ptrace from elsewhere.

Currently we do have a few pieces of code that are in violation of this
rule.  Particularly the core dump code, and ptrace_attach.  But so far the
code looks fixable.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Poll cleanups/microoptimizations
Vadim Lobanov [Fri, 23 Jun 2006 09:05:16 +0000 (02:05 -0700)]
[PATCH] Poll cleanups/microoptimizations

The "count" and "pt" variables are declared and modified by do_poll(), as
well as accessed and written indirectly in the do_pollfd() subroutine.

This patch pulls all handling of these variables into the do_poll()
function, thereby eliminating the odd use of indirection in do_pollfd().
This is done by pulling the "struct pollfd" traversal loop from do_pollfd()
into its only caller do_poll().  As an added bonus, the patch saves a few
clock cycles, and also adds comments to make the code easier to follow.

Signed-off-by: Vadim Lobanov <vlobanov@speakeasy.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fs/fat/misc.c: unexport fat_sync_bhs
Adrian Bunk [Fri, 23 Jun 2006 09:05:15 +0000 (02:05 -0700)]
[PATCH] fs/fat/misc.c: unexport fat_sync_bhs

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] mmput() might sleep
Andrew Morton [Fri, 23 Jun 2006 09:05:15 +0000 (02:05 -0700)]
[PATCH] mmput() might sleep

exit_aio() and exit_mmap() can sleep.  But it's easy to accidentally call
mmput() from inside locks.

Cc: Dave Peterson <dsp@llnl.gov>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Remove CONFIG_PARPORT_ARC, drivers/parport/parport_arc.c
Domen Puncer [Fri, 23 Jun 2006 09:05:14 +0000 (02:05 -0700)]
[PATCH] Remove CONFIG_PARPORT_ARC, drivers/parport/parport_arc.c

It's wasn't referenced in Makefile since at least 2.2.8, unbuildable due to
trivial typos and things like DATA_LATCH and arc_write_control() which
doesn't exist.

Adrian Bunk:
adapted the patch to unrelated context changes

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] module.h: updated comments with a new license
Xose Vazquez Perez [Fri, 23 Jun 2006 09:05:13 +0000 (02:05 -0700)]
[PATCH] module.h: updated comments with a new license

"Dual MIT/GPL" is also accepted (kernel/module.c), so updated comments.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fs/locks.c: make posix_locks_deadlock() static
Adrian Bunk [Fri, 23 Jun 2006 09:05:13 +0000 (02:05 -0700)]
[PATCH] fs/locks.c: make posix_locks_deadlock() static

We can now make posix_locks_deadlock() static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] vfs: add lock owner argument to flush operation
Miklos Szeredi [Fri, 23 Jun 2006 09:05:12 +0000 (02:05 -0700)]
[PATCH] vfs: add lock owner argument to flush operation

Pass the POSIX lock owner ID to the flush operation.

This is useful for filesystems which don't want to store any locking state
in inode->i_flock but want to handle locking/unlocking POSIX locks
internally.  FUSE is one such filesystem but I think it possible that some
network filesystems would need this also.

Also add a flag to indicate that a POSIX locking request was generated by
close(), so filesystems using the above feature won't send an extra locking
request in this case.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] locks: clean up locks_remove_posix()
Miklos Szeredi [Fri, 23 Jun 2006 09:05:11 +0000 (02:05 -0700)]
[PATCH] locks: clean up locks_remove_posix()

locks_remove_posix() can use posix_lock_file() instead of doing the lock
removal by hand.  posix_lock_file() now does exacly the same.

The comment about pids no longer applies, posix_lock_file() takes only the
owner into account.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] locks: don't do unnecessary allocations
Miklos Szeredi [Fri, 23 Jun 2006 09:05:10 +0000 (02:05 -0700)]
[PATCH] locks: don't do unnecessary allocations

posix_lock_file() always allocates new locks in advance, even if it's easy to
determine that no allocations will be needed.

Optimize these cases:

 - FL_ACCESS flag is set

 - Unlocking the whole range

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] locks: don't unnecessarily fail posix lock operations
Miklos Szeredi [Fri, 23 Jun 2006 09:05:09 +0000 (02:05 -0700)]
[PATCH] locks: don't unnecessarily fail posix lock operations

posix_lock_file() was too cautious, failing operations on OOM, even if they
didn't actually require an allocation.

This has the disadvantage, that a failing unlock on process exit could lead to
a memory leak.  There are two possibilites for this:

- filesystem implements .lock() and calls back to posix_lock_file().  On
cleanup of files_struct locks_remove_posix() is called which should remove all
locks belonging to files_struct.  However if filesystem calls
posix_lock_file() which fails, then those locks will never be freed.

- if a file is closed while a lock is blocked, then after acquiring
fcntl_setlk() will undo the lock.  But this unlock itself might fail on OOM,
again possibly leaking the lock.

The solution is to move the checking of the allocations until after it is sure
that they will be needed.  This will solve the above problem since unlock will
always succeed unless it splits an existing region.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>