GitHub/LineageOS/android_kernel_samsung_universal7580.git
18 years agosh64: Add a sane pm_power_off implementation.
Paul Mundt [Tue, 12 Sep 2006 05:40:09 +0000 (14:40 +0900)]
sh64: Add a sane pm_power_off implementation.

sh64 wasn't providing a sensible pm_power_off(), add one,
and just wrap it to machine_power_off, which already does
the right thing.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh64: Use generic BUG_ON()/WARN_ON().
Paul Mundt [Tue, 12 Sep 2006 05:38:23 +0000 (14:38 +0900)]
sh64: Use generic BUG_ON()/WARN_ON().

sh64 doesn't need to do anything special for BUG_ON() or
WARN_ON(), use the generic versions.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh64: Trivial build fixes.
Paul Mundt [Tue, 12 Sep 2006 05:36:46 +0000 (14:36 +0900)]
sh64: Trivial build fixes.

While we've been sorting out the toolchain fiasco, some of
the code has suffered a bit of bitrot. Building with GCC4
also brings up some more build warnings. Trivial fixes for
both issues.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh64: Drop deprecated ISA tuning for legacy toolchains.
Paul Mundt [Tue, 12 Sep 2006 05:21:25 +0000 (14:21 +0900)]
sh64: Drop deprecated ISA tuning for legacy toolchains.

The original sh64 toolchains required that we tune the ISA
level accordingly to not have head.S/entry.S blow up. With
current toolchains, this is no longer the case, and the
syntax magically changed as well, causing all current
toolchains to die a horrible death.

Incidentally, code generation in other parts of the kernel
is now significantly complex enough that none of the older
toolchains make it very far these days, so there's not
even any point in preserving legacy compatability via
as-option.

This fixes a long-standing issue, as noted here:

http://lkml.org/lkml/2005/1/5/223

Though at the time the current toolchains were too broken
to make adjusting the tuning worthwhile.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agoMerge branch 'audit.b28' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
Linus Torvalds [Mon, 11 Sep 2006 18:43:17 +0000 (11:43 -0700)]
Merge branch 'audit.b28' of git://git./linux/kernel/git/viro/audit-current

* 'audit.b28' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
  [PATCH] audit: AUDIT_PERM support
  [PATCH] audit: more syscall classes added
  [PATCH] syscall classes hookup for ppc and s390
  [PATCH] update audit rule change messages
  [PATCH] sanity check audit_buffer
  [PATCH] fix ppid bug in 2.6.18 kernel

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Mon, 11 Sep 2006 18:42:27 +0000 (11:42 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  usbtouchscreen: fix ITM data reading
  USB: New device ID for ftdi_sio usb serial driver
  USB: Support for USB20SVGA-WH & USB20SVGA-DG
  USB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404

18 years ago[PATCH] audit: AUDIT_PERM support
Al Viro [Thu, 31 Aug 2006 23:26:40 +0000 (19:26 -0400)]
[PATCH] audit: AUDIT_PERM support

add support for AUDIT_PERM predicate

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] audit: more syscall classes added
Al Viro [Thu, 31 Aug 2006 23:05:56 +0000 (19:05 -0400)]
[PATCH] audit: more syscall classes added

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] syscall classes hookup for ppc and s390
Al Viro [Thu, 31 Aug 2006 23:02:42 +0000 (19:02 -0400)]
[PATCH] syscall classes hookup for ppc and s390

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] update audit rule change messages
Amy Griffis [Thu, 7 Sep 2006 21:46:18 +0000 (17:46 -0400)]
[PATCH] update audit rule change messages

Make the audit message for implicit rule removal more informative.
Make the rule update message consistent with other messages.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] sanity check audit_buffer
Amy Griffis [Thu, 7 Sep 2006 21:03:02 +0000 (17:03 -0400)]
[PATCH] sanity check audit_buffer

Add sanity checks for NULL audit_buffer consistent with other
audit_log* routines.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] fix ppid bug in 2.6.18 kernel
Steve Grubb [Sat, 26 Aug 2006 18:06:20 +0000 (14:06 -0400)]
[PATCH] fix ppid bug in 2.6.18 kernel

Hello,

During some troubleshooting, I found that ppid was accidentally omitted from
the legacy rule section. This resulted in EINVAL for any rule with ppid sent
with AUDIT_ADD.

Signed-off-by: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-mmc
Linus Torvalds [Mon, 11 Sep 2006 14:56:38 +0000 (07:56 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-mmc

* master.kernel.org:/home/rmk/linux-2.6-mmc:
  [MMC] Always use a sector size of 512 bytes
  [MMC] Cleanup 385e3227d4d83ab13d7767c4bb3593b0256bf246
  [ARM] 3751/1: i.MX/MX1 SD/MMC use 512 bytes request for SCR read
  [MMC] Fix SD timeout calculation
  [MMC] constify mmc_host_ops

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 11 Sep 2006 14:55:39 +0000 (07:55 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3778/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [simtec]
  [ARM] 3783/1: S3C2412: fix IRQ_EINT0 to IRQ_EINT3 handling
  [ARM] 3779/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [left]
  [ARM] 3777/1: S3C24XX:  remove changelogs from include/asm-arm/arch-s3c2410 [regs-*.h]
  [ARM] 3776/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410
  [ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes
  [ARM] 3774/1: S3C24XX: SMDK2413 has two machine IDs
  [ARM] 3773/1: Add the HWCAP_VFP bit for the ARM926 CPUs
  [ARM] 3772/1: Fix compilation error in mach-ixp4xx/nslu2*
  [ARM] 3767/1: S3C24XX: remove changelog comments from arch/arm/mach-s3c2410
  [ARM] 3766/1: Fix typo in ARM _raw_read_trylock

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Mon, 11 Sep 2006 14:54:45 +0000 (07:54 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] Fix dm9000 release_resource

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Mon, 11 Sep 2006 14:54:14 +0000 (07:54 -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:
  [PATCH] ata_piix: add map 01b for ICH7M
  [libata] sata_mv: errata check buglet fix

18 years ago[PATCH] Fix 2.6.18-rc6 IDE breakage, add missing ident needed for current VIA boards
Alan Cox [Mon, 11 Sep 2006 13:45:07 +0000 (14:45 +0100)]
[PATCH] Fix 2.6.18-rc6 IDE breakage, add missing ident needed for current VIA boards

There are two changes here.  The first reverses the broken PCI_DEVICE
conversion back to the old format.  The second adds a missing PCI ID so
you can actually boot 2.6.18 on 2 month old VIA motherboards (right now
only 2.6.18-mm works).

CC'd to Jeff to check the PCI ident but its a) in several distro kernels
and b) in 2.6.18-mm [twice ??]

Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix dm9000 release_resource
Dirk Opfer [Wed, 6 Sep 2006 17:53:32 +0000 (19:53 +0200)]
[PATCH] Fix dm9000 release_resource

dm9000_release_board calls release_resource with the platform resource
instead of the requested resource:

db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
db->addr_req = request_mem_region(db->addr_res->start, i, pdev->name);

dm9000_release_board:

if (db->addr_res != NULL) {
release_resource(db->addr_res);
kfree(db->addr_req);

With this behavior the kernel will crash on the second removal. The
attached patch fix this problem.

Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] ata_piix: add map 01b for ICH7M
Tejun Heo [Sun, 10 Sep 2006 21:29:03 +0000 (06:29 +0900)]
[PATCH] ata_piix: add map 01b for ICH7M

Although the document says otherwise, some ich7m uses map 01b.  This
patch adds separate map DB for ICH7M and adds map entry for 01b.

This was spotted on an ASUS laptop by Jonathan Dieter.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Jonathan Dieter <jdieter@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[libata] sata_mv: errata check buglet fix
Andres Salomon [Mon, 11 Sep 2006 12:51:05 +0000 (08:51 -0400)]
[libata] sata_mv: errata check buglet fix

Fix a buglet; the errata check below this code is assuming the value in
the sstatus variable is what was pulled out of the SCR_STATUS register.
However, the status checks in the timeout loop clobber everything
but the first 4 bits of sstatus, so the errata checks are invalid.

This patch changes it to not clobber SStatus.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[ARM] 3778/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [simtec]
Ben Dooks [Sat, 9 Sep 2006 20:26:54 +0000 (21:26 +0100)]
[ARM] 3778/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [simtec]

Patch from Ben Dooks

Remove changelog entries from include/asm-arm/arch-s3c2410
for all simtec .h files  as these are irrelevant with
version control.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3783/1: S3C2412: fix IRQ_EINT0 to IRQ_EINT3 handling
Ben Dooks [Sat, 9 Sep 2006 20:24:13 +0000 (21:24 +0100)]
[ARM] 3783/1: S3C2412: fix IRQ_EINT0 to IRQ_EINT3 handling

Patch from Ben Dooks

The IRQ_EINT0 through IRQ_EINT3 handling has changed
on the S3C2412 from the previous SoCs in the range,
and thus we need to add code to handle this.

The changes come about due to these IRQs being
displayed in two different registers, and needing to
be acked and masked in both.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3779/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [left]
Ben Dooks [Sat, 9 Sep 2006 18:44:57 +0000 (19:44 +0100)]
[ARM] 3779/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [left]

Patch from Ben Dooks

Remove the last of the hangelogs from
include/asm-arm/arch-s3c2410, as this information
is available from the revision control system

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3777/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [regs...
Ben Dooks [Sat, 9 Sep 2006 18:44:54 +0000 (19:44 +0100)]
[ARM] 3777/1: S3C24XX:  remove changelogs from include/asm-arm/arch-s3c2410 [regs-*.h]

Patch from Ben Dooks

Remove changelog entries from include/asm-arm/arch-s3c2410
for all regs-*.h as these are irrelevant with version control

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3776/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410
Ben Dooks [Sat, 9 Sep 2006 18:44:52 +0000 (19:44 +0100)]
[ARM] 3776/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410

Patch from Ben Dooks

Remove changelog entries from include/asm-arm/arch-s3c2410
as these are irrelevant with version control

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes
Ben Dooks [Sat, 9 Sep 2006 18:44:50 +0000 (19:44 +0100)]
[ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes

Patch from Ben Dooks

The s3c244x-irq.c code makes the mistake of adding
the same drive to two different sys-classes. This
causes the class lists to become corrupted and the
suspend code to OOPS.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[IA64] SN fix for cpu hotplug/kexec
Jack Steiner [Thu, 31 Aug 2006 16:35:57 +0000 (11:35 -0500)]
[IA64] SN fix for cpu hotplug/kexec

The sn_cpu_init() is required for cpu initialization on SN platforms.
Change __init to __cpuinit so that the function is not freed with init code/data.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] Save register stack contents on cpu start
Jack Steiner [Thu, 31 Aug 2006 16:34:47 +0000 (11:34 -0500)]
[IA64] Save register stack contents on cpu start

The SN PROM uses the register stack in the slave loop. The contents
must be preserved for the OS to return to the slave loop via offlining
a cpu or for kexec. A 'flushrs" is needed to force the stack to be written
to memory prior to changing bspstore.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] Unwire set/get_robust_list
Andreas Schwab [Mon, 4 Sep 2006 19:56:09 +0000 (21:56 +0200)]
[IA64] Unwire set/get_robust_list

The syscalls set/get_robust_list must not be wired up until
futex_atomic_cmpxchg_inatomic is implemented.  Otherwise the kernel will
hang in handle_futex_death.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] correct file descriptor reference counting in perfmon
Stephane Eranian [Fri, 25 Aug 2006 21:00:19 +0000 (14:00 -0700)]
[IA64] correct file descriptor reference counting in perfmon

Fix a bug in sys_perfmonctl() whereby it was not correctly
decrementing the file descriptor reference count.

Signed-off-by: stephane eranian <eranian@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[PATCH] NFS: large non-page-aligned direct I/O clobbers memory
Trond Myklebust [Fri, 8 Sep 2006 16:48:54 +0000 (09:48 -0700)]
[PATCH] NFS: large non-page-aligned direct I/O clobbers memory

The logic in nfs_direct_read_schedule and nfs_direct_write_schedule can
allow data->npages to be one larger than rpages.  This causes a page
pointer to be written beyond the end of the pagevec in nfs_read_data (or
nfs_write_data).

Fix this by making nfs_(read|write)_alloc() calculate the size of the
pagevec array, and initialise data->npages.

Also get rid of the redundant argument to nfs_commit_alloc().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] invalidate_complete_page() race fix
Andrew Morton [Fri, 8 Sep 2006 16:48:38 +0000 (09:48 -0700)]
[PATCH] invalidate_complete_page() race fix

If a CPU faults this page into pagetables after invalidate_mapping_pages()
checked page_mapped(), invalidate_complete_page() will still proceed to remove
the page from pagecache.  This leaves the page-faulting process with a
detached page.  If it was MAP_SHARED then file data loss will ensue.

Fix that up by checking the page's refcount after taking tree_lock.

Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ext3_getblk() should handle HOLE correctly
Badari Pulavarty [Fri, 8 Sep 2006 16:48:21 +0000 (09:48 -0700)]
[PATCH] ext3_getblk() should handle HOLE correctly

It has been reported that ext3_getblk() is not doing the right thing and
triggering following WARN():

BUG: warning at fs/ext3/inode.c:1016/ext3_getblk()
 <c01c5140> ext3_getblk+0x98/0x2a6  <c03b2806> md_wakeup_thread+0x26/0x2a
 <c01c536d> ext3_bread+0x1f/0x88  <c01cedf9> ext3_quota_read+0x136/0x1ae
 <c018b683> v1_read_dqblk+0x61/0xac  <c0188f32> dquot_acquire+0xf6/0x107
 <c01ceaba> ext3_acquire_dquot+0x46/0x68  <c01897d4> dqget+0x155/0x1e7
 <c018a97b> dquot_transfer+0x3e0/0x3e9  <c016fe52> dput+0x23/0x13e
 <c01c7986> ext3_setattr+0xc3/0x240  <c0120f66> current_fs_time+0x52/0x6a
 <c017320e> notify_change+0x2bd/0x30d  <c0159246> chown_common+0x9c/0xc5
 <c02a222c> strncpy_from_user+0x3b/0x68  <c0167fe6> do_path_lookup+0xdf/0x266
 <c016841b> __user_walk_fd+0x44/0x5a  <c01592b9> sys_chown+0x4a/0x55
 <c015a43c> vfs_write+0xe7/0x13c  <c01695d4> sys_mkdir+0x1f/0x23
 <c0102a97> syscall_call+0x7/0xb

Looking at the code, it looks like it's not handle HOLE correctly.  It ends
up returning -EIO.  Here is the patch to fix it.

If we really want to be paranoid, we can allow return values 0 (HOLE), 1
(we asked for one block) and return -EIO for more than 1 block.  But I
really don't see a reason for doing it - all we need is the block# here.
(doesn't matter how many blocks are mapped).

ext3_get_blocks_handle() returns number of blocks it mapped.  It returns 0
in case of HOLE.  ext3_getblk() should handle HOLE properly (currently its
dumping warning stack and returning -EIO).

Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Acked-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] sis5513: add SiS south bridge ID 0x966 and 0x968
David Wang [Fri, 8 Sep 2006 16:47:51 +0000 (09:47 -0700)]
[PATCH] sis5513: add SiS south bridge ID 0x966 and 0x968

New SiS south bridge device ID is 0x966.

Next coming product will be 0x968. (Will be released in Q4, this year)

We don't make any updates to the IDE controller.

Signed-off-by: David Wang <touch@sis.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] sh: fix FPN_START typo
Alexey Dobriyan [Fri, 8 Sep 2006 16:47:34 +0000 (09:47 -0700)]
[PATCH] sh: fix FPN_START typo

Not that it passes allmodconfig without it...

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Mark Haverkamp <markh@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] optical /proc/ide/*/media
Alexey Dobriyan [Fri, 8 Sep 2006 16:47:24 +0000 (09:47 -0700)]
[PATCH] optical /proc/ide/*/media

Sergey Vlasov reported that his "FUJITSU MCC3064AP, ATAPI OPTICAL drive"
pops up as UNKNOWN in /proc/ide/*/media .

Closes #4145.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Use the correct restart option for futex_lock_pi
Thomas Gleixner [Fri, 8 Sep 2006 16:47:15 +0000 (09:47 -0700)]
[PATCH] Use the correct restart option for futex_lock_pi

The current implementation of futex_lock_pi returns -ERESTART_RESTARTBLOCK
in case that the lock operation has been interrupted by a signal.  This
results in a return of -EINTR to userspace in case there is an handler for
the signal.  This is wrong, because userspace expects that the lock
function does not return in any case of signal delivery.

This was not caught by my insufficient test case, but triggered a nasty
userspace problem in an high load application scenario.  Unfortunately also
glibc does not check for this invalid return value.

Using -ERSTARTNOINTR makes sure, that the interrupted syscall is restarted.
 The restart block related code can be safely removed, as the possible
timeout argument is an absolute time value.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-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] IA64,sparc: local DoS with corrupted ELFs
Kirill Korotaev [Thu, 7 Sep 2006 10:17:04 +0000 (14:17 +0400)]
[PATCH] IA64,sparc: local DoS with corrupted ELFs

This prevents cross-region mappings on IA64 and SPARC which could lead
to system crash.  They were correctly trapped for normal mmap() calls,
but not for the kernel internal calls generated by executable loading.

This code just moves the architecture-specific cross-region checks into
an arch-specific "arch_mmap_check()" macro, and defines that for the
architectures that needed it (ia64, sparc and sparc64).

Architectures that don't have any special requirements can just ignore
the new cross-region check, since the mmap() code will just notice on
its own when the macro isn't defined.

Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Acked-by: David Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[ Cleaned up to not affect architectures that don't need it ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agousbtouchscreen: fix ITM data reading
Kai Lindhom [Thu, 7 Sep 2006 19:25:51 +0000 (21:25 +0200)]
usbtouchscreen: fix ITM data reading

From: Kai Lindhom <megantti@gmail.com>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: New device ID for ftdi_sio usb serial driver
Ralf Schlatterbeck [Wed, 6 Sep 2006 10:15:02 +0000 (12:15 +0200)]
USB: New device ID for ftdi_sio usb serial driver

The patch adds a new device ID for the Gamma Scout Geiger counter
device.

Signed-off-by: Ralf Schlatterbeck <rsc@runtux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Support for USB20SVGA-WH & USB20SVGA-DG
Nobuhiro Iwamatsu [Fri, 1 Sep 2006 02:32:28 +0000 (11:32 +0900)]
USB: Support for USB20SVGA-WH & USB20SVGA-DG

This patch is support USB20SVGA-WH & USB20SVGA-DG of the sisusb device.
As for this device, Device ID is different according to the color of the
product.  A blue device is supported. However, a green, white device is
not supported.

http://www.lubic.jp/uv_method.html ( Japanese only ) .

Green, white USB20SVGA comes to work by applying the patch .
And, it  be able to use three USB20SVGA( Blue , Green , White ).

Signed-off-by: Nobuhiro Iwamatsu <hemamu@t-base.ne.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404
Adrian Bunk [Mon, 4 Sep 2006 11:41:10 +0000 (13:41 +0200)]
USB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404

On Fri, Sep 01, 2006 at 01:58:18AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.18-rc4-mm3:
>...
> +gregkh-usb-hid-core.c-adds-all-gtco-calcomp-digitizers-and-interwrite-school-products-to-blacklist.patch
>...
>  USB tree updates.
>...

The GNU C compiler spotted the following bug:

<--  snip  -->

...
  CC      drivers/usb/input/hid-core.o
/home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/usb/input/hid-core.c:1446:1: warning: "USB_DEVICE_ID_GTCO_404" redefined
/home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/usb/input/hid-core.c:1445:1: warning: this is the location of the previous definition
...

<--  snip  -->

This patch fixes this cut'n'paste error.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[MMC] Always use a sector size of 512 bytes
Pierre Ossman [Thu, 7 Sep 2006 15:01:30 +0000 (16:01 +0100)]
[MMC] Always use a sector size of 512 bytes

Both MMC and SD specifications specify (although a bit unclearly in
the MMC case) that a sector size of 512 bytes must always be
supported by the card.

Cards can report larger "native" size than this, and cards >= 2 GB
even must do so. Most other readers use 512 bytes even for these
cards. We should do the same to be compatible.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[MMC] Cleanup 385e3227d4d83ab13d7767c4bb3593b0256bf246
Russell King [Thu, 7 Sep 2006 14:57:12 +0000 (15:57 +0100)]
[MMC] Cleanup 385e3227d4d83ab13d7767c4bb3593b0256bf246

Rather than having two places which independently calculate the
timeout for data transfers, make it a library function instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
18 years ago[ARM] 3751/1: i.MX/MX1 SD/MMC use 512 bytes request for SCR read
Pavel Pisa [Thu, 7 Sep 2006 14:53:29 +0000 (15:53 +0100)]
[ARM] 3751/1: i.MX/MX1 SD/MMC use 512 bytes request for SCR read

Patch from Pavel Pisa

This is another approach to SDHC deficiency workaround.
It seems, that previous solution based on 16 bytes (FIFO length size)
read is still timing sensitive on genirq and fully preemptive kernels.
The new solution is backuped by M9328 UM statement, that only 512 byte
block are working properly and by 2.4.26 FreeScale's SDHC code.

Jay Monkman reports significant improvement on code based
on this driver after applying this change on MX21 as well.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[MMC] Fix SD timeout calculation
Pierre Ossman [Sun, 18 Jun 2006 12:34:37 +0000 (14:34 +0200)]
[MMC] Fix SD timeout calculation

Secure Digital cards use a different algorithm to calculate the timeout
for data transfers. Using the MMC one works often, but not always.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[MMC] constify mmc_host_ops
David Brownell [Sun, 3 Sep 2006 13:43:33 +0000 (06:43 -0700)]
[MMC] constify mmc_host_ops

Let drivers constify MMC host method operations tables,
moving them from ".data" to ".rodata".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3774/1: S3C24XX: SMDK2413 has two machine IDs
Ben Dooks [Wed, 6 Sep 2006 18:03:31 +0000 (19:03 +0100)]
[ARM] 3774/1: S3C24XX: SMDK2413 has two machine IDs

Patch from Ben Dooks

It turns out we have both SMDK2413 and S3C2413 for
the same board.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3773/1: Add the HWCAP_VFP bit for the ARM926 CPUs
Catalin Marinas [Wed, 6 Sep 2006 18:03:28 +0000 (19:03 +0100)]
[ARM] 3773/1: Add the HWCAP_VFP bit for the ARM926 CPUs

Patch from Catalin Marinas

The ARM926EJ-S CPU has the VFP coprocessor and therefore it should be shown
in the /proc/cpuinfo if CONFIG_VFP is enabled.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3772/1: Fix compilation error in mach-ixp4xx/nslu2*
Martin Michlmayr [Wed, 6 Sep 2006 18:03:24 +0000 (19:03 +0100)]
[ARM] 3772/1: Fix compilation error in mach-ixp4xx/nslu2*

Patch from Martin Michlmayr

Include linux/irq.h in the nslu2 code in order to avoid the following
compiler error:

  CC      arch/arm/mach-ixp4xx/nslu2-power.o
arch/arm/mach-ixp4xx/nslu2-power.c: In function 'nslu2_power_init':
arch/arm/mach-ixp4xx/nslu2-power.c:53: warning: implicit declaration of function 'set_irq_type'
arch/arm/mach-ixp4xx/nslu2-power.c:53: error: 'IRQ_TYPE_LEVEL_LOW' undeclared (first use in this function)
arch/arm/mach-ixp4xx/nslu2-power.c:53: error: (Each undeclared identifier is reported only once
arch/arm/mach-ixp4xx/nslu2-power.c:53: error: for each function it appears in.)
arch/arm/mach-ixp4xx/nslu2-power.c:54: error: 'IRQ_TYPE_LEVEL_HIGH' undeclared (first use in this function)
make[5]: *** [arch/arm/mach-ixp4xx/nslu2-power.o] Error 1

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3767/1: S3C24XX: remove changelog comments from arch/arm/mach-s3c2410
Ben Dooks [Wed, 6 Sep 2006 18:03:21 +0000 (19:03 +0100)]
[ARM] 3767/1: S3C24XX: remove changelog comments from arch/arm/mach-s3c2410

Patch from Ben Dooks

Remove the pointless changelog comments from
arch/arm/mach-s3c2410 files, as all this can
be found from the revision control system.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3766/1: Fix typo in ARM _raw_read_trylock
Catalin Marinas [Wed, 6 Sep 2006 18:03:14 +0000 (19:03 +0100)]
[ARM] 3766/1: Fix typo in ARM _raw_read_trylock

Patch from Catalin Marinas

A comma was missing between tmp and tmp2.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 6 Sep 2006 18:00:59 +0000 (11:00 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] myri10ge: update the firmware download URL in Kconfig

18 years ago[PATCH] FRV: Use the generic time stuff for FRV
john stultz [Wed, 6 Sep 2006 10:02:45 +0000 (11:02 +0100)]
[PATCH] FRV: Use the generic time stuff for FRV

Use the generic time stuff for FRV.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Remove unneeded asm-i386/cpufeature.h from user visibility.
David Woodhouse [Wed, 6 Sep 2006 16:03:26 +0000 (09:03 -0700)]
[PATCH] Remove unneeded asm-i386/cpufeature.h from user visibility.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Move linux/device.h include in linux/atmdev.h to #ifdef __KERNEL__ section
Ismail Donmez [Wed, 6 Sep 2006 07:03:44 +0000 (00:03 -0700)]
[PATCH] Move linux/device.h include in linux/atmdev.h to #ifdef __KERNEL__ section

linux/device.h header is not included in the David Woodhouse's
kernel-headers git tree which is used for userspace kernel headers.  Which
results in compile errors when building iproute2.  Attached patch moves
linux/device.h include under the #ifdef __KERNEL__ section.

Signed-off-by: Ismail Donmez <ismail@pardus.org.tr>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] lockdep: do not touch console state when tainting the kernel
Ingo Molnar [Wed, 6 Sep 2006 07:03:44 +0000 (00:03 -0700)]
[PATCH] lockdep: do not touch console state when tainting the kernel

Remove an unintended console_verbose() side-effect from add_taint().

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] prevent swsusp with PAE
Pavel Machek [Wed, 6 Sep 2006 07:03:43 +0000 (00:03 -0700)]
[PATCH] prevent swsusp with PAE

PAE + swsusp results in hard-to-debug crash about 50% of time during
resume.  Cause is known, fix needs to be ported from x86-64 (but we can't
make it to 2.6.18, and I'd like this to be worked around in 2.6.18).

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] prevent timespec/timeval to ktime_t overflow
Thomas Gleixner [Wed, 6 Sep 2006 07:03:42 +0000 (00:03 -0700)]
[PATCH] prevent timespec/timeval to ktime_t overflow

Frank v.  Waveren pointed out that on 64bit machines the timespec to
ktime_t conversion might overflow.  This is also true for timeval to
ktime_t conversions.  This breaks a "sleep inf" on 64bit machines.

While a timespec/timeval with tx.sec = MAX_LONG is valid by specification
the internal representation of ktime_t is based on nanoseconds.  The
conversion of seconds to nanoseconds overflows for seconds values >=
(MAX_LONG / NSEC_PER_SEC).

Check the seconds argument to the conversion and limit it to the maximum
time which can be represented by ktime_t.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Frank v Waveren <fvw@var.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] add missing desctiption in super.c
Henrik Kretzschmar [Wed, 6 Sep 2006 07:03:41 +0000 (00:03 -0700)]
[PATCH] add missing desctiption in super.c

Adds kernel-doc for alloc_super() type in fs/super.c.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Documentation for lock_key in struct hrtimer_base
Henrik Kretzschmar [Wed, 6 Sep 2006 07:03:40 +0000 (00:03 -0700)]
[PATCH] Documentation for lock_key in struct hrtimer_base

Fixes an error message on make xmldocs.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] lockdep ifdef fix
Jarek Poplawski [Wed, 6 Sep 2006 07:03:39 +0000 (00:03 -0700)]
[PATCH] lockdep ifdef fix

With

CONFIG_SMP=y
CONFIG_PREEMPT=y
CONFIG_LOCKDEP=y
CONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not set

spin_unlock_irqrestore() goes through lockdep but spin_lock_irqsave() doesn't.
Apparently, bad things happen.

Acked-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] myri10ge: update the firmware download URL in Kconfig
Brice Goglin [Wed, 6 Sep 2006 01:58:50 +0000 (21:58 -0400)]
[PATCH] myri10ge: update the firmware download URL in Kconfig

Update the firmware download URL in Kconfig to match the header
in drivers/net/myri10ge/myri10ge.c.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoLinux 2.6.18-rc6
Linus Torvalds [Mon, 4 Sep 2006 02:19:48 +0000 (19:19 -0700)]
Linux 2.6.18-rc6

18 years ago[PATCH] powerpc: Fix typo in powermac platform functions
Benjamin Herrenschmidt [Mon, 4 Sep 2006 00:36:15 +0000 (10:36 +1000)]
[PATCH] powerpc: Fix typo in powermac platform functions

New sparse caught that typo which could have caused erratic hardware
behaviour on some machines if the platform functions are used by the
firmware to change bits in some FCR registers.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Sat, 2 Sep 2006 21:52:07 +0000 (14:52 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

* master.kernel.org:/home/rmk/linux-2.6-serial:
  [SERIAL] 8250: constify some serial structs
  [SERIAL] Make uart_match_port() work with all memory mapped UARTs

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sat, 2 Sep 2006 21:51:45 +0000 (14:51 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3762/1: Fix ptrace cache coherency bug for ARM1136 VIPT nonaliasing Harvard caches
  [ARM] 3765/1: S3C24XX: cleanup include/asm-arm/arch-s3c2410/dma.h
  [ARM] 3764/1: S3C24XX: change type naming to kernel style
  [ARM] 3763/1: add both rtcs to csb337 defconfig
  [ARM] Fix ARM __raw_read_trylock() implementation
  [ARM] 3750/3: Fix double VFP emulation for EABI kernels

18 years ago[PATCH] eligible_child: remove an obsolete ->tgid check
Oleg Nesterov [Sat, 2 Sep 2006 17:22:16 +0000 (21:22 +0400)]
[PATCH] eligible_child: remove an obsolete ->tgid check

It is not possible to find a sub-thread in ->children/->ptrace_children
lists, ptrace_attach() does not allow to attach to sub-threads.

Even if it was possible to ptrace the task from the same thread group,
we can't allow to release ->group_leader while there are others (ptracer)
threads in the same group.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[ARM] 3762/1: Fix ptrace cache coherency bug for ARM1136 VIPT nonaliasing Harvard...
George G. Davis [Sat, 2 Sep 2006 17:43:20 +0000 (18:43 +0100)]
[ARM] 3762/1: Fix ptrace cache coherency bug for ARM1136 VIPT nonaliasing Harvard caches

Patch from George G. Davis

Resolve ARM1136 VIPT non-aliasing cache coherency issues observed when
using ptrace to set breakpoints and cleanup copy_{to,from}_user_page()
while we're here as requested by Russell King because "it's also far
too heavy on non-v6 CPUs".

NOTES:

1. Only access_process_vm() calls copy_{to,from}_user_page().
2. access_process_vm() calls get_user_pages() to pin down the "page".
3. get_user_pages() calls flush_dcache_page(page) which ensures cache
   coherency between kernel and userspace mappings of "page".  However
   flush_dcache_page(page) may not invalidate I-Cache over this range
   for all cases, specifically, I-Cache is not invalidated for the VIPT
   non-aliasing case.  So memory is consistent between kernel and user
   space mappings of "page" but I-Cache may still be hot over this
   range.  IOW, we don't have to worry about flush_cache_page() before
   memcpy().
4. Now, for the copy_to_user_page() case, after memcpy(), we must flush
   the caches so memory is consistent with kernel cache entries and
   invalidate the I-Cache if this mm region is executable.  We don't
   need to do anything after memcpy() for the copy_from_user_page()
   case since kernel cache entries will be invalidated via the same
   process above if we access "page" again.  The flush_ptrace_access()
   function (borrowed from SPARC64 implementation) is added to handle
   cache flushing after memcpy() for the copy_to_user_page() case.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Fri, 1 Sep 2006 18:40:37 +0000 (11:40 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  uhci-hcd: fix list access bug
  USB: Support for ELECOM LD-USB20 in pegasus
  USB: Add VIA quirk fixup for VT8235 usb2
  USB: rtl8150_disconnect() needs tasklet_kill()
  USB Storage: unusual_devs.h for Sony Ericsson M600i
  USB Storage: Remove the finecam3 unusual_devs entry
  UHCI: don't stop at an Iso error
  usb gadget: g_ether spinlock recursion fix
  USB: add all wacom device to hid-core.c blacklist
  hid-core.c: Adds all GTCO CalComp Digitizers and InterWrite School Products to blacklist
  USB floppy drive SAMSUNG SFD-321U/EP detected 8 times

18 years ago[PATCH] backlight last round of fixes
Benjamin Herrenschmidt [Fri, 1 Sep 2006 04:27:54 +0000 (21:27 -0700)]
[PATCH] backlight last round of fixes

Fix some more problems (inverted use of semaphores in some places).  He
also moved my checks into within the protected section which is better.

Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] manage-jbd-its-own-slab fix
Badari Pulavarty [Fri, 1 Sep 2006 04:27:54 +0000 (21:27 -0700)]
[PATCH] manage-jbd-its-own-slab fix

Missed a place where I forgot to convert kfree() to kmem_cache_free() as
part of jbd-manage-its-own-slab changes.

Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fix NUMA interleaving for huge pages
Nishanth Aravamudan [Fri, 1 Sep 2006 04:27:53 +0000 (21:27 -0700)]
[PATCH] fix NUMA interleaving for huge pages

Since vma->vm_pgoff is in units of smallpages, VMAs for huge pages have the
lower HPAGE_SHIFT - PAGE_SHIFT bits always cleared, which results in badd
offsets to the interleave functions.  Take this difference from small pages
into account when calculating the offset.  This does add a 0-bit shift into
the small-page path (via alloc_page_vma()), but I think that is negligible.
 Also add a BUG_ON to prevent the offset from growing due to a negative
right-shift, which probably shouldn't be allowed anyways.

Tested on an 8-memory node ppc64 NUMA box and got the interleaving I
expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Adam Litke <agl@us.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Acked-by: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] sgiioc4: fixup use of mmio ops
John Keller [Fri, 1 Sep 2006 04:27:51 +0000 (21:27 -0700)]
[PATCH] sgiioc4: fixup use of mmio ops

Fix some bugs in the patch that converted the IOC4 driver from port IO ops to
memio ops.

http://marc.theaimsgroup.com/?l=linux-ide&m=114895892231438&w=2

  Problems fixed are:
   - Call to default_hwif_mmiops() was not being done until _after_
     first IO operation, resulting in the first IO operation being
     done as a port IO op, instead of memio.
   - request_region() calls needed to be request_mem_region()
   - Incomplete error case handling.
   - Non-usage of ioremap() and __iomem.

Signed-off-by: John Keller <jpk@sgi.com>
Signed-off-by: Jeremy Higdon <jeremy@sgi.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ALSA: ac97: correct some Mic mixer elements
Takashi Iwai [Fri, 1 Sep 2006 04:27:50 +0000 (21:27 -0700)]
[PATCH] ALSA: ac97: correct some Mic mixer elements

Revert the mixer element names of some Mic controls to the state of
2.6.17.  This should fix the name mismatch in alsactl.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] powerpc: Fix PowerMac IRQ handling bug
Benjamin Herrenschmidt [Fri, 1 Sep 2006 04:27:50 +0000 (21:27 -0700)]
[PATCH] powerpc: Fix PowerMac IRQ handling bug

The port to genirq & the new powerpc interrupt model in 2.6.18 introduced a
bug in the legacy PowerMac PIC code (used on older machines) because of a
typo potentially causing hangs due to interrupt storms.  This fixes it,
along with a performance issue causing us to do spurrious retriggers after
masking an interrupt.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] powerpc: More via-pmu backlight fixes
Benjamin Herrenschmidt [Fri, 1 Sep 2006 04:27:49 +0000 (21:27 -0700)]
[PATCH] powerpc: More via-pmu backlight fixes

The via-pmu backlight code (introduced in 2.6.18) has various design issues
causing crashes on machines using it like the old Wallstreet powerbook
(Michael, the author, never managed to test on these and I just got my hand
on one of those old beasts).

This fixes them by no longer trying to hijack the backlight device of the
frontmost framebuffer (causing that framebuffer to crash) but having it's
own local bits instead.  Might look weird but it's better that way on those
old machines, at least as a last-minute fix for 2.6.18.  We might rework
the whole thing later.  This patch also changes the way it gets notified of
sleep and wakeup in order to properly shut the backlight down on sleep and
bring it back on wakeup.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] dm: work around mempool_alloc, bio_alloc_bioset deadlocks
Pavel Mironchik [Fri, 1 Sep 2006 04:27:47 +0000 (21:27 -0700)]
[PATCH] dm: work around mempool_alloc, bio_alloc_bioset deadlocks

This patch works around a complex dm-related deadlock/livelock down in the
mempool allocator.

Alasdair said:

  Several dm targets suffer from this.

  Mempools are not yet used correctly everywhere in device-mapper: they can
  get shared when devices are stacked, and some targets share them across
  multiple instances.  I made fixing this one of the prerequisites for this
  patch:

    md-dm-reduce-stack-usage-with-stacked-block-devices.patch

  which in some cases makes people more likely to hit the problem.

  There's been some progress on this recently with (unfinished) dm-crypt
  patches at:

    http://www.kernel.org/pub/linux/kernel/people/agk/patches/2.6/editing/
      (dm-crypt-move-io-to-workqueue.patch plus dependencies)

and:

  I've no problems with a temporary workaround like that, but Milan Broz (a
  new Redhat developer in the Czech Republic) has started reviewing all the
  mempool usage in device-mapper so I'm expecting we'll soon have a proper fix
  for this associated problems.  [He's back from holiday at the start of next
  week.]

For now, this sad-but-safe little patch will allow the machine to recover.

[akpm@osdl.org: rewrote changelog]
Cc: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] schedule obsolete OSS drivers for removal, 2nd round
Adrian Bunk [Fri, 1 Sep 2006 04:27:46 +0000 (21:27 -0700)]
[PATCH] schedule obsolete OSS drivers for removal, 2nd round

This patch schedules obsolete OSS drivers (with ALSA drivers that support
the same hardware) for removal.

A rationale of the patch is in
  http://lkml.org/lkml/2006/7/11/186

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] IPMI: fix occasional oops on module unload
Corey Minyard [Fri, 1 Sep 2006 04:27:45 +0000 (21:27 -0700)]
[PATCH] IPMI: fix occasional oops on module unload

Olaf Kirch of SuSE tracked down a problem where module unloads of the IPMI
driver would occasionally result in Oopses.  He tracked that down to a
variable that wasn't always initialized properly in some situations.  This
patch initializes that variable.  Olaf sent a patch that kzalloc-ed the
data, but this structure is large enough that I would perfer to not do
that.  Thanks Olaf!

Signed-off-by: Corey Minyard <minyard@acm.org>
Cc: Olaf Kirch <okir@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] kerneldoc for handle_bad_irq()
Henrik Kretzschmar [Fri, 1 Sep 2006 04:27:44 +0000 (21:27 -0700)]
[PATCH] kerneldoc for handle_bad_irq()

Adds the description of the parameters from handle_bad_irq().

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] SBC8360: module_param() permission fixes
Ian E. Morgan [Fri, 1 Sep 2006 04:27:42 +0000 (21:27 -0700)]
[PATCH] SBC8360: module_param() permission fixes

The last argument of module_param is permissions, not default value.

Acked-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] exit early in floppy_init when no floppy exists
Olaf Hering [Fri, 1 Sep 2006 04:27:41 +0000 (21:27 -0700)]
[PATCH] exit early in floppy_init when no floppy exists

modprobe -v floppy on a Apple G5 writes incorrect stuff to dmesg:

Floppy drive(s): fd0 is 2.88M

The reason is that the legacy io check happens very late,
when part of the floppy stuff is already initialized.
check_legacy_ioport() returns either -ENODEV right away, or it walks
the device-tree looking for a floppy node.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86: increase MAX_MP_BUSSES on default arch
Andrew Morton [Fri, 1 Sep 2006 04:27:40 +0000 (21:27 -0700)]
[PATCH] x86: increase MAX_MP_BUSSES on default arch

Vitezslav Samel <samel@mail.cz> reports that an HP DL380 g4 fails using the
default arch due to the ISA bus having an ID of 32.

It would have worked OK with the generic arch - for some reason the default
arch doesn't support as many busses.

So bump that up to support 256 busses, but leave it at 32 if we're building a
tiny system to save a bit of memory.

Cc: Vitezslav Samel <samel@mail.cz>
Acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] xtensa: ptrace: EXIT_ZOMBIE fix
Bill Huey (hui [Fri, 1 Sep 2006 04:27:39 +0000 (21:27 -0700)]
[PATCH] xtensa: ptrace: EXIT_ZOMBIE fix

We're testing the wrong task_struct field.

Acked-by: 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] task delay accounting fixes
Shailabh Nagar [Fri, 1 Sep 2006 04:27:38 +0000 (21:27 -0700)]
[PATCH] task delay accounting fixes

Cleanup allocation and freeing of tsk->delays used by delay accounting.
This solves two problems reported for delay accounting:

1. oops in __delayacct_blkio_ticks
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0608.2/1844.html

Currently tsk->delays is getting freed too early in task exit which can
cause a NULL tsk->delays to get accessed via reading of /proc/<tgid>/stats.
 The patch fixes this problem by freeing tsk->delays closer to when
task_struct itself is freed up.  As a result, it also eliminates the use of
tsk->delays_lock which was only being used (inadequately) to safeguard
access to tsk->delays while a task was exiting.

2. Possible memory leak in kernel/delayacct.c
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0608.2/1389.html

The patch cleans up tsk->delays allocations after a bad fork which was
missing earlier.

The patch has been tested to fix the problems listed above and stress
tested with rapid calls to delay accounting's taskstats command interface
(which is the other path that can access the same data, besides the /proc
interface causing the oops above).

Signed-off-by: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix faulty HPET clocksource usage (fix for bug #7062)
john stultz [Fri, 1 Sep 2006 04:27:37 +0000 (21:27 -0700)]
[PATCH] Fix faulty HPET clocksource usage (fix for bug #7062)

Apparently some systems export valid HPET addresses, but hpet_enable()
fails.  Then when the HPET clocksource starts up, it only checks for a
valid HPET address, and the result is a system where time does not advance.

See http://bugme.osdl.org/show_bug.cgi?id=7062 for details.

This patch just makes sure we better check that the HPET is functional
before registering the HPET clocksource.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] synclink_gt: fix receive tty error handling
Paul Fulghum [Fri, 1 Sep 2006 04:27:36 +0000 (21:27 -0700)]
[PATCH] synclink_gt: fix receive tty error handling

Fix receive tty error handling in synclink_gt driver.  Adrian reported
compiler warning for incorrect bit test against char variable.  I
determined these and other device specific error bits were incorrectly
defined.

Signed-off-by: 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] md: Fix issues with referencing rdev in md/raid1
NeilBrown [Fri, 1 Sep 2006 04:27:36 +0000 (21:27 -0700)]
[PATCH] md: Fix issues with referencing rdev in md/raid1

We need to be careful when referencing mirrors[i].rdev.  It can disappear
under us at various times.

So:
  fix a couple of problem places.
  comment a couple of non-problem places
  move an 'atomic_add' which deferences rdev down a little
    way to some where where it is sure to not be NULL.

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] ZVC: Scale thresholds depending on the size of the system
Christoph Lameter [Fri, 1 Sep 2006 04:27:35 +0000 (21:27 -0700)]
[PATCH] ZVC: Scale thresholds depending on the size of the system

The ZVC counter update threshold is currently set to a fixed value of 32.
This patch sets up the threshold depending on the number of processors and
the sizes of the zones in the system.

With the current threshold of 32, I was able to observe slight contention
when more than 130-140 processors concurrently updated the counters.  The
contention vanished when I either increased the threshold to 64 or used
Andrew's idea of overstepping the interval (see ZVC overstep patch).

However, we saw contention again at 220-230 processors.  So we need higher
values for larger systems.

But the current default is already a bit of an overkill for smaller
systems.  Some systems have tiny zones where precision matters.  For
example i386 and x86_64 have 16M DMA zones and either 900M ZONE_NORMAL or
ZONE_DMA32.  These are even present on SMP and NUMA systems.

The patch here sets up a threshold based on the number of processors in the
system and the size of the zone that these counters are used for.  The
threshold should grow logarithmically, so we use fls() as an easy
approximation.

Results of tests on a system with 1024 processors (4TB RAM)

The following output is from a test allocating 1GB of memory concurrently
on each processor (Forking the process.  So contention on mmap_sem and the
pte locks is not a factor):

                       X                   MIN
TYPE:               CPUS       WALL       WALL        SYS     USER     TOTCPU
fork                   1      0.552      0.552      0.540    0.012      0.552
fork                   4      0.552      0.548      2.164    0.036      2.200
fork                  16      0.564      0.548      8.812    0.164      8.976
fork                 128      0.580      0.572     72.204    1.208     73.412
fork                 256      1.300      0.660    310.400    2.160    312.560
fork                 512      3.512      0.696   1526.836    4.816   1531.652
fork                1020     20.024      0.700  17243.176    6.688  17249.863

So a threshold of 32 is fine up to 128 processors. At 256 processors contention
becomes a factor.

Overstepping the counter (earlier patch) improves the numbers a bit:

fork                   4      0.552      0.548      2.164    0.040      2.204
fork                  16      0.552      0.548      8.640    0.148      8.788
fork                 128      0.556      0.548     69.676    0.956     70.632
fork                 256      0.876      0.636    212.468    2.108    214.576
fork                 512      2.276      0.672    997.324    4.260   1001.584
fork                1020     13.564      0.680  11586.436    6.088  11592.523

Still contention at 512 and 1020. Contention at 1020 is down by a third.
256 still has a slight bit of contention.

After this patch the counter threshold will be set to 125 which reduces
contention significantly:

fork                 128      0.560      0.548     69.776    0.932     70.708
fork                 256      0.636      0.556    143.460    2.036    145.496
fork                 512      0.640      0.548    284.244    4.236    288.480
fork                1020      1.500      0.588   1326.152    8.892   1335.044

[akpm@osdl.org: !SMP build fix]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ZVC: Overstep counters
Christoph Lameter [Fri, 1 Sep 2006 04:27:34 +0000 (21:27 -0700)]
[PATCH] ZVC: Overstep counters

Increments and decrements are usually grouped rather than mixed.  We can
optimize the inc and dec functions for that case.

Increment and decrement the counters by 50% more than the threshold in
those cases and set the differential accordingly.  This decreases the need
to update the atomic counters.

The idea came originally from Andrew Morton.  The overstepping alone was
sufficient to address the contention issue found when updating the global
and the per zone counters from 160 processors.

Also remove some code in dec_zone_page_state.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Fri, 1 Sep 2006 04:27:29 +0000 (21:27 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mthca: Use IRQ safe locks to protect allocation bitmaps

18 years agouhci-hcd: fix list access bug
Alan Stern [Thu, 31 Aug 2006 18:18:39 +0000 (14:18 -0400)]
uhci-hcd: fix list access bug

When skipping to the last TD of an URB, go to the _last_ entry in the
list instead of the _first_ entry (as780).  This fixes Bugzilla #6747
and possibly others.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Support for ELECOM LD-USB20 in pegasus
Nobuhiro Iwamatsu [Tue, 29 Aug 2006 07:47:41 +0000 (10:47 +0300)]
USB: Support for ELECOM LD-USB20 in pegasus

This patch is support LD-USB20 of the USB LAN device.
http://www2.elecom.co.jp/products/LD-USB20.html ( Japanese only )

I am using this device.
And, I confirmed work by using this patch.

Signed-off-by: Nobuhiro Iwamatsu <hemamu@t-base.ne.jp>
Acked-by: Petko Manolov <petkan@nucleusys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Add VIA quirk fixup for VT8235 usb2
Mark Hindley [Mon, 28 Aug 2006 19:43:25 +0000 (20:43 +0100)]
USB: Add VIA quirk fixup for VT8235 usb2

Patch to add VIA PCI quirk for Enhanced/Extended USB on VT8235
southbridge. It is needed in order to use EHCI/USB 2.0 with ACPI.
Without it IRQs are not routed correctly, you get an "Unlink after
no-IRQ?" error and the device is unusable.

I belive this could also be a fix for Bugzilla Bug 5835.

Signed-off-by: Mark Hindley <mark@hindley.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: rtl8150_disconnect() needs tasklet_kill()
Andrew Morton [Tue, 15 Aug 2006 06:11:09 +0000 (23:11 -0700)]
USB: rtl8150_disconnect() needs tasklet_kill()

We need to wait until any currently-running handler has completed.  Fixes an
unplug-time oops reported by "Miles Lane" <miles.lane@gmail.com>.

Cc: "Petko Manolov" <petkan@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB Storage: unusual_devs.h for Sony Ericsson M600i
Phil Dibowitz [Mon, 28 Aug 2006 06:54:37 +0000 (23:54 -0700)]
USB Storage: unusual_devs.h for Sony Ericsson M600i

This entry was sent in by Emmanuel Vasilakis <evas@forthnet.gr>, turned
into a patch by yours truly.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB Storage: Remove the finecam3 unusual_devs entry
Phil Dibowitz [Thu, 24 Aug 2006 04:11:01 +0000 (21:11 -0700)]
USB Storage: Remove the finecam3 unusual_devs entry

This patch removes the Kyocera Finecam L3 entry in unusual devices
originally submitted by Michael Krauth <michael.krauth@web.de> and
Alessandro Fracchetti <al.fracchetti@tin.it> given that Gerriet
<ger.haw@gmx.de> finds he doesn't need it and Alessandro confirms it
isn't needed anymore as well.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUHCI: don't stop at an Iso error
Alan Stern [Mon, 21 Aug 2006 15:58:50 +0000 (11:58 -0400)]
UHCI: don't stop at an Iso error

Unlike other sorts of endpoint queues, Isochronous queues don't stop
when an error is encountered.  This patch (as772) fixes the scanning
routine in uhci-hcd, to make it keep on going when it finds an Iso
error.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agousb gadget: g_ether spinlock recursion fix
David Brownell [Mon, 21 Aug 2006 22:26:38 +0000 (15:26 -0700)]
usb gadget: g_ether spinlock recursion fix

The new spinlock debug code turned up a spinlock recursion bug in the
Ethernet gadget driver on a disconnect path; it would show up with any
UDC driver where the cancellation of active requests was synchronous,
rather than e.g. delayed until a controller's completion IRQ.

That recursion is fixed here by creating and using a new spinlock to
protect the relevant lists.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>