]> git.proxmox.com Git - mirror_ubuntu-kernels.git/log
mirror_ubuntu-kernels.git
15 years agoMIPS: Use force_sig when handling address errors.
David Daney [Tue, 5 May 2009 19:49:47 +0000 (12:49 -0700)]
MIPS: Use force_sig when handling address errors.

When init is started it is SIGNAL_UNKILLABLE.  If it were to get an
address error, we would try to send it SIGBUS, but it would be ignored
and the faulting instruction restarted.  This results in an endless
loop.

We need to use force_sig() instead so it will actually die and give us
some useful information.

Reported-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Cavium: Add struct clocksource * argument to octeon_cvmcount_read()
Coly Li [Wed, 22 Apr 2009 19:06:06 +0000 (03:06 +0800)]
MIPS: Cavium: Add struct clocksource * argument to octeon_cvmcount_read()

This patch modifies parameter of octeon_cvmcount_read() from 'void' to
'struct clocksource *cs', which fixes compile warning for incompatible
parameter type.

Signed-off-by: Coly Li <coly.li@suse.de>
Cc: David Daney <ddaney@caviumnetworks.com>
Cc: Ingo Molnar <mingo@elte.hu>
Reviewed-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Rewrite <asm/div64.h> to work with gcc 4.4.0.
Ralf Baechle [Thu, 30 Apr 2009 16:14:56 +0000 (18:14 +0200)]
MIPS: Rewrite <asm/div64.h> to work with gcc 4.4.0.

The inline assembler used on 32-bit kernels was using the "h" constraint
which was considered dangerous and removed for gcc 4.4.0.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Fix highmem.
Ralf Baechle [Sat, 25 Apr 2009 09:25:34 +0000 (11:25 +0200)]
MIPS: Fix highmem.

Commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0 (kernel.org) rsp.
b3594a089f1c17ff919f8f78505c3f20e1f6f8ce (linux-mips.org):

> From: Chris Dearman <chris@mips.com>
> Date: Wed, 19 Sep 2007 00:58:24 +0100
> Subject: [PATCH] [MIPS] Allow setting of the cache attribute at run time.
>
> Slightly tacky, but there is a precedent in the sparc archirecture code.

introduces the variable _page_cachable_default, which defaults to zero and.
is used to create the prototype PTE for __kmap_atomic in
arch/mips/mm/init.c:kmap_init before initialization in
arch/mips/mm/c-r4k.c:coherency_setup, so the default value of 0 will be
used as the CCA of kmap atomic pages which on many processors is not a
defined CCA value and may result in writes to kmap_atomic pages getting
corrupted.  Debugged by Jon Fraser (jfraser@broadcom.com).

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Fix sign-extension bug in 32-bit kernel on 32-bit hardware.
Ralf Baechle [Thu, 30 Apr 2009 00:16:19 +0000 (02:16 +0200)]
MIPS: Fix sign-extension bug in 32-bit kernel on 32-bit hardware.

Probably nobody does arithmetic on cp0 register values so this has never
bitten.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: MSP71xx: Remove the RAMROOT functions
Shane McDonald [Tue, 28 Apr 2009 23:00:27 +0000 (17:00 -0600)]
MIPS: MSP71xx: Remove the RAMROOT functions

The RAMROOT function was a successful but non-portable attempt to append
the root filesystem to the end of the kernel image.  The preferred and
portable solution is to use an initramfs instead.

Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Use -mno-check-zero-division
Ralf Baechle [Tue, 28 Apr 2009 17:28:33 +0000 (19:28 +0200)]
MIPS: Use -mno-check-zero-division

I don't think that in 15 years of Linux/MIPS the zero division checking
code generated by gcc by default has ever caught anything.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Set compiler options only after the compiler prefix has ben set.
Ralf Baechle [Tue, 28 Apr 2009 17:38:35 +0000 (19:38 +0200)]
MIPS: Set compiler options only after the compiler prefix has ben set.

Otherwise indigestable options might be passed to the host compiler.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: IP27: Get rid of #ident. Gcc 4.4.0 doesn't like it.
Ralf Baechle [Tue, 28 Apr 2009 15:31:50 +0000 (17:31 +0200)]
MIPS: IP27: Get rid of #ident.  Gcc 4.4.0 doesn't like it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: uaccess: Switch lock annotations to might_fault().
Ralf Baechle [Tue, 28 Apr 2009 12:17:54 +0000 (14:17 +0200)]
MIPS: uaccess: Switch lock annotations to might_fault().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: MSP71xx: Resolve use of non-existent GPIO routines in msp71xx reset
Shane McDonald [Tue, 28 Apr 2009 05:52:25 +0000 (23:52 -0600)]
MIPS: MSP71xx: Resolve use of non-existent GPIO routines in msp71xx reset

There have been a number of compile problems with the msp71xx configuration
ever since it was included in the linux-mips.org repository.  This patch
resolves compilation problems with attempting to reset the board using
non-existent GPIO routines.

This patch has been compile-tested against the current HEAD.

Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: MSP71xx: Resolve multiple definition of plat_timer_setup
Shane McDonald [Tue, 28 Apr 2009 05:50:21 +0000 (23:50 -0600)]
MIPS: MSP71xx: Resolve multiple definition of plat_timer_setup

There have been a number of compile problems with the msp71xx configuration
ever since it was included in the linux-mips.org repository.  This patch
resolves the "multiple definition of plat_timer_setup" problem, and creates
the required get_c0_compare_int function.

This patch has been compile-tested against the current HEAD.

Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Make uaccess.h slightly more sparse friendly.
Ralf Baechle [Mon, 27 Apr 2009 14:46:21 +0000 (16:46 +0200)]
MIPS: Make uaccess.h slightly more sparse friendly.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Make access_ok() sideeffect proof.
Ralf Baechle [Mon, 27 Apr 2009 13:31:34 +0000 (15:31 +0200)]
MIPS: Make access_ok() sideeffect proof.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: IP27: Fix clash with NMI_OFFSET from hardirq.h
Thomas Bogendoerfer [Tue, 21 Apr 2009 21:31:12 +0000 (23:31 +0200)]
MIPS: IP27: Fix clash with NMI_OFFSET from hardirq.h

There was already a define for NMI_OFFSET in asm/sn/addr.h, which now
clashes with linux/hardirq.h. Rename the one in sn/addr.h to fix IP27
builds..

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: Timer build fix
Manuel Lauss [Wed, 22 Apr 2009 06:01:48 +0000 (08:01 +0200)]
MIPS: Alchemy: Timer build fix

Fix breakage introduced by 8e19608e8b5c001e4a66ce482edc474f05fb7355.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Kconfig: Delete duplicate definition of RWSEM_GENERIC_SPINLOCK.
Ralf Baechle [Mon, 20 Apr 2009 11:43:05 +0000 (13:43 +0200)]
MIPS: Kconfig: Delete duplicate definition of RWSEM_GENERIC_SPINLOCK.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Cavium: Add support for 8k and 32k page sizes.
Ralf Baechle [Thu, 2 Apr 2009 12:07:10 +0000 (14:07 +0200)]
MIPS: Cavium: Add support for 8k and 32k page sizes.

Beyond the requirements of the architecture standard Cavium also supports
8k and 32k pages.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: David Daney <ddaney@caviumnetworks.com>
15 years agoMIPS: TXx9: Fix possible overflow in clock calculations
Atsushi Nemoto [Thu, 2 Apr 2009 16:01:21 +0000 (01:01 +0900)]
MIPS: TXx9: Fix possible overflow in clock calculations

Addition of -fwrapv option in 2.6.29 discloses possible overflow with
signed arithmetics.  For example, result of "a * 6 / 12" (int a =
400000000) is 200000000 without -fwrapv but -157913941 with -fwrapv.

Change some variable to unsigned to avoid such overflows.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Synchronize dma_map_page and dma_map_single
Atsushi Nemoto [Thu, 22 Jan 2009 15:42:11 +0000 (00:42 +0900)]
MIPS: Synchronize dma_map_page and dma_map_single

Synchronize dma_map_page/dma_unmap_page and dma_map_single/dma_unmap_single.
This will reduce unnecessary writebacks and invalidates.

[Ralf: make dma_unmap_page an inline function.]

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Enable CLO / CLZ instructions via separate CPU property
Ralf Baechle [Sun, 19 Apr 2009 01:21:22 +0000 (03:21 +0200)]
MIPS: Enable CLO / CLZ instructions via separate CPU property

This is useful for IDT RC32332, RC32334 and NEC VR5500 processors which do
not implement the full MIPS32 / MIPS64 architecture.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Loongson 2 needs no hazard barriers.
Zhang Le [Wed, 15 Apr 2009 09:01:52 +0000 (17:01 +0800)]
MIPS: Loongson 2 needs no hazard barriers.

Quoting from Loongson2FUserGuide.pdf:

5.22.1 Hazards
The processor detects most of the pipeline hazards in hardware, including
CP0 hazards and load hazards. No NOP instructions are required to correct
instruction sequences.

Signed-off-by: Zhang Le <r0bertz@gentoo.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Do not include seccomp.h from compat.h
Atsushi Nemoto [Sat, 11 Apr 2009 14:31:50 +0000 (23:31 +0900)]
MIPS: Do not include seccomp.h from compat.h

The compat.h does not need seccomp.h since TIF_32BIT was moved to
thread_info.h

This fixes a build error of 64-bit kernel without CONFIG_SECCOMP.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: : David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: RBTX4939: Fix typo in system name
Atsushi Nemoto [Wed, 15 Apr 2009 17:22:21 +0000 (02:22 +0900)]
MIPS: RBTX4939: Fix typo in system name

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Compat: Use generic 32-bit wrapers for sys_timerfd_{g,s}ettime
David Daney [Thu, 16 Apr 2009 16:20:17 +0000 (09:20 -0700)]
MIPS: Compat: Use generic 32-bit wrapers for sys_timerfd_{g,s}ettime

The LTP timerfd01 test is failing (blocking forever) on the 32-bit ABIs. We
need to use the compat_* wrappers for these system calls.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Fix build error if CONFIG_CEVT_R4K is undefined.
Ralf Baechle [Sun, 5 Apr 2009 22:31:22 +0000 (00:31 +0200)]
MIPS: Fix build error if CONFIG_CEVT_R4K is undefined.

Introduced by 99aa5029937ee926e3b249369e208d7013cd381b.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Loongson cpu-feature-overrides.h
Zhang Le [Thu, 2 Apr 2009 07:41:45 +0000 (15:41 +0800)]
MIPS: Add Loongson cpu-feature-overrides.h

I have taken Wu Zhangjin's and Philippe Vachon's version as references,
did a little modification and tested on 16K page size kernel. It works
well.

Unfornately although it already has defined cpu_has_dc_aliases as 1, 4k
page size still not working.  More work needed here.

Signed-off-by: Zhang Le <r0bertz@gentoo.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Print the actual detected I-cache associativity on bootup.
Ralf Baechle [Wed, 1 Apr 2009 14:11:53 +0000 (16:11 +0200)]
MIPS: Print the actual detected I-cache associativity on bootup.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: gbe: Make needlessly global symbols static in drivers/video/gbefb.c
Dmitri Vorobiev [Mon, 30 Mar 2009 19:53:26 +0000 (22:53 +0300)]
MIPS: gbe: Make needlessly global symbols static in drivers/video/gbefb.c

The following symbols are needlessly defined global:

default_mode
default_var
gbe_mem_phys
gbe_turn_off
gbefb_exit
gbefb_init
gbefb_setup

This error was noticed by namespacecheck when compiling ip32_defconfig.

This patch makes the symbols static.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: IP32: Fix needlessly global symbols in arch/mips/sgi-ip32/ip32-irq.c
Dmitri Vorobiev [Mon, 30 Mar 2009 19:53:25 +0000 (22:53 +0300)]
MIPS: IP32: Fix needlessly global symbols in arch/mips/sgi-ip32/ip32-irq.c

The following symbols are needlessly defined global: cpuerr_irq and
memerr_irq. This patch makes the symbols static.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: IP32: ip32_be_handler symbol is needlessly defined global
Dmitri Vorobiev [Mon, 30 Mar 2009 19:53:24 +0000 (22:53 +0300)]
MIPS: IP32: ip32_be_handler symbol is needlessly defined global

The file arch/mips/sgi-ip32/ip32-berr.c needlessly defines the function
ip32_be_handler() as global, and this patch makes it static.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: IP32: Two symbols can become static
Dmitri Vorobiev [Mon, 30 Mar 2009 19:53:23 +0000 (22:53 +0300)]
MIPS: IP32: Two symbols can become static

The file arch/mips/mm/sc-rm7k.c needlessly defines two global symbols:

rm7k_sc_ops
rm7k_tcache_enabled

This patch makes these symbols static.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: au1xxx-ide: Fix build with CONFIG_PM
Manuel Lauss [Tue, 31 Mar 2009 16:44:36 +0000 (18:44 +0200)]
MIPS: au1xxx-ide: Fix build with CONFIG_PM

au1xxx_power_dev_t? is never defined;  get rid of all PM stuff as well
since it is not in the driver source anyway.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: Add missing Au1200 GPIO203 interrupt
Manuel Lauss [Tue, 31 Mar 2009 16:51:28 +0000 (18:51 +0200)]
MIPS: Alchemy: Add missing Au1200 GPIO203 interrupt

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: Fix AU1100 interrupt numbers off-by-one
Manuel Lauss [Tue, 31 Mar 2009 16:51:27 +0000 (18:51 +0200)]
MIPS: Alchemy: Fix AU1100 interrupt numbers off-by-one

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: SMTC: Fix xxx_clockevent_init() naming conflict for SMTC
Kevin D. Kissell [Tue, 31 Mar 2009 11:10:32 +0000 (13:10 +0200)]
MIPS: SMTC: Fix xxx_clockevent_init() naming conflict for SMTC

Commit 779e7d41ad004946603da139da99ba775f74cb1c created a name collision
in SMTC builds.  The attached patch corrects this in a a
not-too-terribly-ugly manner.  Note that the SMTC case has to come
first, because CEVT_R4K will also be true.

Signed-off-by: Kevin D. Kissell <kevink@paralogos.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: SMTC: Bring set/clear/change_c0_## return value semantics uptodate.
Kevin D. Kissell [Tue, 31 Mar 2009 10:59:24 +0000 (12:59 +0200)]
MIPS: SMTC: Bring set/clear/change_c0_## return value semantics uptodate.

Signed-off-by: Kevin D. Kissell <kevink@paralogos.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6
Linus Torvalds [Thu, 14 May 2009 00:07:28 +0000 (17:07 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6:
  xtensa: Fix linker script to include .literal sections
  xtensa: update s6105_defconfig for ccount calibration
  xtensa: implement ccount calibration for s6000
  xtensa: fix wrong extern declaration renamed in code using it
  xtensa: register gpio chip before use
  xtensa: always use correct stack pointer for stack traces
  xtensa: Fix checksum header file
  xtensa: Fix architecture specific Kconfig

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
Linus Torvalds [Wed, 13 May 2009 23:33:25 +0000 (16:33 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
  Squashfs: cody tidying, remove commented out line in Makefile
  Squashfs: check page size is not larger than the filesystem block size
  Squashfs: fix breakage when page size > metadata block size

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
Linus Torvalds [Wed, 13 May 2009 23:32:57 +0000 (16:32 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
  fuse: destroy bdi on error

15 years agoMerge branch 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Linus Torvalds [Wed, 13 May 2009 23:32:30 +0000 (16:32 -0700)]
Merge branch 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm

* 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: SVM: Remove port 80 passthrough
  KVM: Make EFER reads safe when EFER does not exist
  KVM: Fix NX support reporting
  KVM: SVM: Fix cross vendor migration issue with unusable bit

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke...
Linus Torvalds [Wed, 13 May 2009 23:32:16 +0000 (16:32 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
  nilfs2: check size of array structured data exchanged via ioctls
  nilfs2: fix lock order reversal in nilfs_clean_segments ioctl
  nilfs2: fix possible circular locking for get information ioctls
  nilfs2: ensure to clear dirty state when deleting metadata file block
  nilfs2: fix circular locking dependency of writer mutex
  nilfs2: fix possible recovery failure due to block creation without writer

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Wed, 13 May 2009 23:31:12 +0000 (16:31 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mlx4: Don't overwrite fast registration page list when posting work request
  RDMA/cxgb3: Don't complete flushed send work requests twice

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Wed, 13 May 2009 23:30:43 +0000 (16:30 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/drm-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/drm-2.6:
  drm/i915: automatically select FRAMEBUFFER_CONSOLE if !EMBEDDED

15 years agoMerge branches 'cxgb3' and 'mlx4' into for-linus
Roland Dreier [Wed, 13 May 2009 22:16:17 +0000 (15:16 -0700)]
Merge branches 'cxgb3' and 'mlx4' into for-linus

15 years agoRevert "Ignore madvise(MADV_WILLNEED) for hugetlbfs-backed regions"
Linus Torvalds [Wed, 13 May 2009 15:29:12 +0000 (08:29 -0700)]
Revert "Ignore madvise(MADV_WILLNEED) for hugetlbfs-backed regions"

This reverts commit a425a638c858fd10370b573bde81df3ba500e271.

Now that the previous commit removed the "readpage" actor for hugetlb
files, read-ahead will no longer mess up the mapping, and there's no
longer any reason to treat hugetlbfs mappings specially.

Tested-and-acked-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoRemove implementation of readpage from the hugetlbfs_aops
Mel Gorman [Wed, 13 May 2009 14:56:10 +0000 (15:56 +0100)]
Remove implementation of readpage from the hugetlbfs_aops

The core VM assumes the page size used by the address_space in
inode->i_mapping is PAGE_SIZE but hugetlbfs breaks this assumption by
inserting pages into the page cache at offsets the core VM considers
unexpected.

This would not be a problem except that hugetlbfs also provide a
->readpage implementation.  As it exists, the core VM can assume the
base page size is being used, allocate pages on behalf of the
filesystem, insert them into the page cache and call ->readpage to
populate them.  These pages are the wrong size and at the wrong offset
for hugetlbfs causing confusion.

This patch deletes the ->readpage implementation for hugetlbfs on the
grounds the core VM should not be allocating and populating pages on
behalf of hugetlbfs.  There should be no existing users of the
->readpage implementation so it should not cause a regression.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoSquashfs: cody tidying, remove commented out line in Makefile
Phillip Lougher [Wed, 13 May 2009 02:25:20 +0000 (03:25 +0100)]
Squashfs: cody tidying, remove commented out line in Makefile

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
15 years agoSquashfs: check page size is not larger than the filesystem block size
Phillip Lougher [Wed, 13 May 2009 01:59:26 +0000 (02:59 +0100)]
Squashfs: check page size is not larger than the filesystem block size

Normally the block size (by default 128K) will be larger than the
page size, unless a non-standard block size has been specified in
Mksquashfs, and the page size is larger than 4K.

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
15 years agoSquashfs: fix breakage when page size > metadata block size
Doug Chapman [Wed, 13 May 2009 01:56:39 +0000 (02:56 +0100)]
Squashfs: fix breakage when page size > metadata block size

Squashfs is broken on any system where the page size is larger than
the metadata size (8192).  This is easily fixed by ensuring cache->pages
is always > 0.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Doug Chapman <doug.chapman@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Linus Torvalds [Wed, 13 May 2009 00:12:54 +0000 (17:12 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  HID: add NOGET quirk for devices from CH Products
  HID: fix dropped device-specific quirks

15 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
Linus Torvalds [Wed, 13 May 2009 00:12:36 +0000 (17:12 -0700)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
  dma: fix ipu_idmac.c to not discard the last queued buffer
  ioatdma: fix "ioatdma frees DMA memory with wrong function"
  ipu_idmac: Use disable_irq_nosync() from within irq handlers.
  dmatest: fix max channels handling

15 years agoMerge branch 'for-2.6.30' of git://linux-nfs.org/~bfields/linux
Linus Torvalds [Wed, 13 May 2009 00:11:56 +0000 (17:11 -0700)]
Merge branch 'for-2.6.30' of git://linux-nfs.org/~bfields/linux

* 'for-2.6.30' of git://linux-nfs.org/~bfields/linux:
  nfsd: silence lockdep warning
  lockd: fix list corruption on lockd restart
  nfsd4: check for negative dentry before use in nfsv4 readdir
  nfsd41: slots are freed with session
  svcrdma: clean up error paths.
  svcrdma: Fix dma map direction for rdma read targets

15 years agodma: fix ipu_idmac.c to not discard the last queued buffer
Guennadi Liakhovetski [Tue, 12 May 2009 07:16:29 +0000 (09:16 +0200)]
dma: fix ipu_idmac.c to not discard the last queued buffer

This also fixes the case of a single queued buffer, for example, when taking a
single frame snapshot with the mx3_camera driver.

Reported-by: Agustin Ferrin Pozuelo <gatoguan-os@yahoo.com>
Tested-by: Agustin Ferrin Pozuelo <gatoguan-os@yahoo.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
15 years agoioatdma: fix "ioatdma frees DMA memory with wrong function"
Maciej Sosnowski [Thu, 23 Apr 2009 10:31:51 +0000 (12:31 +0200)]
ioatdma: fix "ioatdma frees DMA memory with wrong function"

as reported by Alexander Beregalov <a.beregalov@gmail.com>

ioatdma 0000:00:08.0: DMA-API: device driver frees DMA memory with
wrong function [device address=0x000000007f76f800] [size=2000 bytes]
[map
ped as single] [unmapped as page]

The ioatdma driver was unmapping all regions
(either allocated as page or single) using unmap_page.
This patch lets dma driver recognize if unmap_single or unmap_page should be used.
It introduces two new dma control flags:
DMA_COMPL_SRC_UNMAP_SINGLE and DMA_COMPL_DEST_UNMAP_SINGLE.
They should be set to indicate dma driver to do dma-unmapping as single
(first one for the source, tha latter for the destination).
If respective flag is not set, the driver assumes dma-unmapping as page.

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Tested-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
15 years agoepoll: fix size check in epoll_create()
Davide Libenzi [Tue, 12 May 2009 20:19:44 +0000 (13:19 -0700)]
epoll: fix size check in epoll_create()

Fix a size check WRT the manual pages.  This was inadvertently broken by
commit 9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0 ("flag parameters
add-on: remove epoll_create size param").

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Cc: <Hiroyuki.Mach@gmail.com>
Cc: rohit verma <rohit.170309@gmail.com>
Cc: Ulrich Drepper <drepper@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoviafb: make it work on x86_64
Harald Welte [Tue, 12 May 2009 20:19:42 +0000 (13:19 -0700)]
viafb: make it work on x86_64

Fix a bug in viafb on x86_64 builds (e.g. for VIA Nano CPU).

You cannot make the assumption that sizeof(unsigned int) ==
sizeof(unsigned long), so the parsing of the default mode (640x480) fails,
leading to a division by zero during insmod of the driver.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Cc: <JosephChan@via.com.tw>
Cc: <ScottFang@viatech.com.cn>
Cc: Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agofbdev: remove outdated advice about I2C configuration
Jean Delvare [Tue, 12 May 2009 20:19:41 +0000 (13:19 -0700)]
fbdev: remove outdated advice about I2C configuration

The required I2C modules are now selected automatically by the means
of select statements in Kconfig, so there is no point in confusing the
users with options he/she would be supposed to enable manually.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoalpha: unbreak percpu again
Tejun Heo [Tue, 12 May 2009 20:19:39 +0000 (13:19 -0700)]
alpha: unbreak percpu again

Commit 9b8de7479d0dbab1ed98b5b015d44232c9d3d08e ("FRV: Fix the section
attribute on UP DECLARE_PER_CPU()") cleaned up DECLARE/DEFINE_PER_CPU()
macros and in the process made alpha percpu.h include
include/asm-generic/percpu.h which breaks compilation due to duplicate
definitions.

Remove inclusion of generic asm helper file and define whatever necessary
in alpha header proper.

In the longer term, percpu definitions will be unified and all these
little subtlties will be removed.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: David Howells <dhowells@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agortc: rtc-twl4030 don't mask alarm interrupts on suspend
Kim Kyuwon [Tue, 12 May 2009 20:19:38 +0000 (13:19 -0700)]
rtc: rtc-twl4030 don't mask alarm interrupts on suspend

This patch enables the alarm interrupt of TWL4030 RTC to wake up the
system from suspend. You can test this patch with following command.

# echo +10 > /sys/class/rtc/rtc0/wakealarm; echo mem > /sys/power/state;

Signed-off-by: Kim Kyuwon <q1.kim@samsung.com>
Acked-by: David Brownell <david-b@pacbell.net>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agosyscalls.h add the missing sys_pipe2 declaration
Arnd Bergmann [Tue, 12 May 2009 20:19:37 +0000 (13:19 -0700)]
syscalls.h add the missing sys_pipe2 declaration

In order to build the generic syscall table, we need a declaration for
every system call.  sys_pipe2 was added without a proper declaration, so
add this to syscalls.h now.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agopxa2xx_spi: prevent panic case setup() fails
Daniel Ribeiro [Tue, 12 May 2009 20:19:36 +0000 (13:19 -0700)]
pxa2xx_spi: prevent panic case setup() fails

setup() may fail before ctldata is set, causing a kernel panic on
cleanup().

Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'i2c-for-2630-rc5' of git://aeryn.fluff.org.uk/bjdooks/linux
Linus Torvalds [Tue, 12 May 2009 18:21:51 +0000 (11:21 -0700)]
Merge branch 'i2c-for-2630-rc5' of git://aeryn.fluff.org.uk/bjdooks/linux

* 'i2c-for-2630-rc5' of git://aeryn.fluff.org.uk/bjdooks/linux:
  i2c-cpm: Pass dev ptr to dma_*_coherent rather than NULL
  i2c: Enable i2c-s3c2410 for S3C64XX too
  i2c-mpc: bug fix for MPC52xx clock setting and printout
  i2c-pxa.c: timeouts off by 1

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Linus Torvalds [Tue, 12 May 2009 18:21:24 +0000 (11:21 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: tsc2007 - fix locking in hrtimer handler
  Input: atkbd - add force release keys quirk for Amilo Xi 3650
  Input: ff-memless - fix signed to unsigned bit overflow
  Input: joydev - blacklist digitizers

15 years agodrm/i915: automatically select FRAMEBUFFER_CONSOLE if !EMBEDDED
Jesse Barnes [Tue, 12 May 2009 16:08:31 +0000 (09:08 -0700)]
drm/i915: automatically select FRAMEBUFFER_CONSOLE if !EMBEDDED

People keep getting bitten by this, so just auto-select it by default,
assuming most configurations will actually want a console.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
15 years agoRemove unreached code in drivers/net/mlx4/en_rx.c
Dan Carpenter [Tue, 12 May 2009 10:33:39 +0000 (11:33 +0100)]
Remove unreached code in drivers/net/mlx4/en_rx.c

Remove the return after the goto.  We want the goto because it frees
memory as well as returning err.

Found by smatch (http://repo.or.cz/w/smatch.git).

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoxtensa: Fix linker script to include .literal sections
Chris Zankel [Tue, 21 Apr 2009 07:34:15 +0000 (00:34 -0700)]
xtensa: Fix linker script to include .literal sections

Fix resembles implementation from Marc Gauthier and Piet Denaly:

In the Xtensa architecture, assembly generates literals which must always
precede the code (the L32R instruction that loads them only uses negative
PC-relative offsets).  For any *.text section, literals are placed in a
corresponding *.literal section.  The linker script (vmlinux.lds) must
place these in the correct order.  It must also combine them, when the
*.text section can be larger than L32R's 256 kB range.

For example, this doesn't work:  *(.literal) *(.text) because L32R
instructions at the end of .text can't reach the literals.

The linker can solve this if they are combined in parentheses, like this:
       *(.literal .text)
because it is now allowed mix literals in .text to bring them in range.

None of this is done by standard vmlinux.lds.h macros such as TEXT_TEXT
and INIT_TEXT.  To avoid replicating the logic of that header file, we
instead post-process the generated linker script to convert *(xxx.text)
to *(xxx.literal xxx.text) for the following text sections:
       .text .ref.text .*init.text .*exit.text .text.*
using a sed script.  To do this we must override the default rule for
vmlinux.lds (see scripts/Makefile.build and the top-level Makefile)
to insert this extra step.

Signed-off-by: Marc Gauthier <marc@tensilica.com>
Signed-off-by: Pete Delaney <piet@tensilica.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: update s6105_defconfig for ccount calibration
Oskar Schirmer [Mon, 11 May 2009 13:43:37 +0000 (15:43 +0200)]
xtensa: update s6105_defconfig for ccount calibration

The previous patch enabled ccount calibration for the s6000 variant.
This patch updates the defconfig for the s6105 platform to reflect this
change.

Signed-off-by: Oskar Schirmer <os@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: implement ccount calibration for s6000
Oskar Schirmer [Mon, 11 May 2009 13:43:36 +0000 (15:43 +0200)]
xtensa: implement ccount calibration for s6000

Calculate core frequency from timers at boot time
instead of assuming a fixed frequency. This is
useful as the true frequency is set up by the
boot loader, thus variable.

Signed-off-by: Oskar Schirmer <os@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: fix wrong extern declaration renamed in code using it
Oskar Schirmer [Mon, 11 May 2009 13:43:35 +0000 (15:43 +0200)]
xtensa: fix wrong extern declaration renamed in code using it

The variable ccount_nsec has been renamed to nsec_per_ccount
in arch/xtensa/kernel/time.c in 2b8aea74 (2007-08-05),
but the fix failed to rename the variable in
arch/xtensa/include/asm/timex.h as well.

Signed-off-by: Oskar Schirmer <os@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: register gpio chip before use
Johannes Weiner [Mon, 11 May 2009 13:43:34 +0000 (15:43 +0200)]
xtensa: register gpio chip before use

Platform initialization sets up the LED heartbeat that is controlled
via GPIO.  Requesting the GPIO pins fails, however, as the chip is
only initialized later by a device_initcall().

Fix this up by exporting the initialization function.  Let the
platform set up the chip before it starts using it.

Signed-off-by: Johannes Weiner <jw@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: always use correct stack pointer for stack traces
Johannes Weiner [Mon, 11 May 2009 13:43:33 +0000 (15:43 +0200)]
xtensa: always use correct stack pointer for stack traces

Commit '28a0ce7 xtensa: use correct stack pointer for stack traces'
changed the stack tracer from always reading the stack pointer
register to always using the saved value in the task descriptor.

The author was too dense to consider the fact that the saved stack
value is stale for a running process und thus unusable for 'current'.

What we do now is to use the stack pointer register (a1) for when the
task is unknown - we can't help it then - or when the task is
'current'.  For everything else use the saved stack pointer value
contained in the task descriptor.

Signed-off-by: Johannes Weiner <jw@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: Fix checksum header file
Chris Zankel [Thu, 16 Apr 2009 07:28:09 +0000 (00:28 -0700)]
xtensa: Fix checksum header file

We need to add a "memory" dependency (barrier) in assembly macros
that access (read or write) memory. Otherwise, the compiler might
ill-optimize the order of memory accesses.

Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoxtensa: Fix architecture specific Kconfig
Chris Zankel [Thu, 16 Apr 2009 07:25:39 +0000 (00:25 -0700)]
xtensa: Fix architecture specific Kconfig

Move a misplace endmenu marker to enable platform options and
disable PCI and automatic calibrating for the XT2K board. The
on-board PCI bridge is somewhat broken, anyway, and the
calibrating relies on some whacky usage of the serial port.

Signed-off-by: Chris Zankel <chris@zankel.net>
15 years agoi2c-cpm: Pass dev ptr to dma_*_coherent rather than NULL
Mark Ware [Tue, 21 Apr 2009 12:49:02 +0000 (22:49 +1000)]
i2c-cpm: Pass dev ptr to dma_*_coherent rather than NULL

Recent DMA changes result in a BUG() when NULL is passed to
dma_alloc_coherent in place of a device.

Signed-off-by: Mark Ware <mware@elphinstone.net>
[ben-linux@fluff.org: fix patch moves]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: Enable i2c-s3c2410 for S3C64XX too
Mark Brown [Thu, 9 Apr 2009 16:03:24 +0000 (17:03 +0100)]
i2c: Enable i2c-s3c2410 for S3C64XX too

This controller is also present on the S3C64xx series processors so
enable the driver in Kconfig for those platforms.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c-mpc: bug fix for MPC52xx clock setting and printout
Wolfgang Grandegger [Thu, 9 Apr 2009 09:59:52 +0000 (11:59 +0200)]
i2c-mpc: bug fix for MPC52xx clock setting and printout

The clock setting did not work for the MPC52xx due to a stupid bug.
Furthermore, the dev info output "clock=0" for old device trees was
misleading. This patch fixes both issues.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoInput: tsc2007 - fix locking in hrtimer handler
Thierry Reding [Mon, 11 May 2009 15:36:39 +0000 (08:36 -0700)]
Input: tsc2007 - fix locking in hrtimer handler

Now that hrtimers are always running in hard irq context we can't
unconditionally enable interrupts at the end of the timer function.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Kwangwoo Lee <kwangwoo.lee@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
15 years agoInput: atkbd - add force release keys quirk for Amilo Xi 3650
Adrian Batzill [Mon, 11 May 2009 22:22:16 +0000 (15:22 -0700)]
Input: atkbd - add force release keys quirk for Amilo Xi 3650

Signed-off-by: Adrian Batzill <agib@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
15 years agonfsd: silence lockdep warning
J. Bruce Fields [Mon, 11 May 2009 20:10:19 +0000 (16:10 -0400)]
nfsd: silence lockdep warning

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
15 years agoMerge branch 'for-linus' of git://repo.or.cz/cris-mirror
Linus Torvalds [Mon, 11 May 2009 19:43:41 +0000 (12:43 -0700)]
Merge branch 'for-linus' of git://repo.or.cz/cris-mirror

* 'for-linus' of git://repo.or.cz/cris-mirror:
  CRISv32: Fix typo compile error in ARTPEC-3 gpio driver.
  CRIS: Wire up syscalls signalfd4 to writev.
  CRISv32: Remove obsolete vcs_hook.o from Makefile
  CRIS: Merge machine dependent boot/compressed and boot/rescue

15 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Mon, 11 May 2009 19:42:55 +0000 (12:42 -0700)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  ata_piix: The Sony TZ90 needs the cable type hardcoding
  ata_piix: ICH7 does not support correct MWDMA timings
  Avoid world-writable sysfs files in libata driver.
  libata: fix suspend/resume for ATA SEMB devices
  libata: clear ering on resume
  pata_pdc202xx_old: fix UDMA33 handling
  sata_mv: use new sata phy register settings for new devices
  libata: fix attach error handling

15 years agodup2: Fix return value with oldfd == newfd and invalid fd
Jeff Mahoney [Mon, 11 May 2009 18:25:34 +0000 (14:25 -0400)]
dup2: Fix return value with oldfd == newfd and invalid fd

The return value of dup2 when oldfd == newfd and the fd isn't valid is
not getting properly sign extended.  We end up with 4294967287 instead
of -EBADF.

I've reproduced this on SLE11 (2.6.27.21), openSUSE Factory
(2.6.29-rc5), and Ubuntu 9.04 (2.6.28).

This patch uses a signed int for the error value so it is properly
extended.

Commit 6c5d0512a091480c9f981162227fdb1c9d70e555 introduced this
regression.

Reported-by: Jiri Dluhos <jdluhos@novell.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoata_piix: The Sony TZ90 needs the cable type hardcoding
Alan Cox [Wed, 6 May 2009 16:09:41 +0000 (17:09 +0100)]
ata_piix: The Sony TZ90 needs the cable type hardcoding

The Sony TZ90 needs the cable type hardcoding. See bug #12734

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agoata_piix: ICH7 does not support correct MWDMA timings
Alan Cox [Wed, 6 May 2009 16:08:44 +0000 (17:08 +0100)]
ata_piix: ICH7 does not support correct MWDMA timings

See Errata documentation. The recommended workaround is to use PIO4 instead
which will we automatically do by flagging this mode not available.

Signed-off-by: Alan Cox <alan.cox@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agoAvoid world-writable sysfs files in libata driver.
Vitaly Mayatskikh [Mon, 4 May 2009 13:48:45 +0000 (15:48 +0200)]
Avoid world-writable sysfs files in libata driver.

Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agolibata: fix suspend/resume for ATA SEMB devices
Borislav Petkov [Sun, 26 Apr 2009 14:33:34 +0000 (16:33 +0200)]
libata: fix suspend/resume for ATA SEMB devices

79b42babbac2a5a522b8e269fb2811b6e1063030 fixed identifying ATA devices
reporting 3c/c3 signature which belongs to SEMB devices now. However,
suspending the machine with such device (WDC WD2500AAJS-6 01.0) fails
with the following:

hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hda: UDMA/100 mode selected
hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hdb: UDMA/66 mode selected
sd 1:0:0:0: [sda] Starting disk
ata5: SATA link down (SStatus 0 SControl 300)
ata1: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata2: softreset failed (device not ready)
ata2: failed due to HW bug, retry pmp=0
ata4: softreset failed (device not ready)
ata4: failed due to HW bug, retry pmp=0
ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: class mismatch 1 != 7
ata2.00: revalidation failed (errno=-19)
ata2: limiting SATA link speed to 1.5 Gbps
ata4.00: configured for UDMA/133
ata2: softreset failed (device not ready)
ata2: failed due to HW bug, retry pmp=0
ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata2.00: class mismatch 1 != 7
ata2.00: revalidation failed (errno=-19)
ata2.00: disabled
sd 1:0:0:0: rejecting I/O to offline device
sd 1:0:0:0: [sda] START_STOP FAILED
sd 1:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
PM: Device 1:0:0:0 failed to thaw: error 65536
sd 3:0:0:0: [sdb] Starting disk

due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
ATA_DEV_SEMB device class to the check.

CC: Tejun Heo <htejun@gmail.com>
Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agolibata: clear ering on resume
Tejun Heo [Thu, 23 Apr 2009 00:55:28 +0000 (09:55 +0900)]
libata: clear ering on resume

Error timestamps are in jiffies which doesn't run while suspended and
PHY events during resume isn't too uncommon.  When the two are
combined, it can lead to unnecessary speed downs if the machine is
suspended and resumed repeatedly.  Clear error history on resume.

This was reported and verified in bnc#486803 by Vladimir Botka.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Vladimir Botka <vbotka@novell.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agopata_pdc202xx_old: fix UDMA33 handling
Bartlomiej Zolnierkiewicz [Mon, 20 Apr 2009 20:31:25 +0000 (22:31 +0200)]
pata_pdc202xx_old: fix UDMA33 handling

The original driver doesn't use 66 MHz clock for UDMA33.

[ The alternative solution would be to adjust UDMA33 timings
  for 66 MHz clock but I think that it is safer to stick with
  old & tested behavior for now. ]

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agosata_mv: use new sata phy register settings for new devices
Martin Michlmayr [Mon, 4 May 2009 18:58:50 +0000 (20:58 +0200)]
sata_mv: use new sata phy register settings for new devices

Marvell's new SoC (65 nano) needs different settings for its SATA
PHY registers.

Tested-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agolibata: fix attach error handling
Tejun Heo [Sat, 9 May 2009 16:06:54 +0000 (01:06 +0900)]
libata: fix attach error handling

New device attach path in ata_eh_revalidate_and_attach() is divided
into two separate loops because ATA requires IDENTIFY to be issued to
slave first while the user expects to see device probe messages from
the master device.  new_mask is used to track which devices are the
new ones between the first loop and the second.

This usually works well but if an error occurs during configuration
stage, ata_dev_revalidate_and_attach() returns with error code and
forgets new_mask.  On the retry run, dev->class is set and new_mask
for the device is clear, so the device just gets revalidated and thus
ends up skipping post-configuration procedure including scheduling of
SCSI_HOTPLUG for the device.  When this occurs, ATA part of probing
works fine but SCSI probing usually doesn't happen and makes the
device unreachable.

The behavior has been around for a very long time but it has been
uncovered with the recent addition of 1_5_GBPS horkage which uses
-EAGAIN return value from ata_dev_configure() to restart the probing
sequence after forcing cable speed.

This can be fixed by making sure dev->class is permanently set only
after all configurations are successfully complete.  Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Tim Connors <tconnors+linuxkml@astro.swin.edu.au>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agonilfs2: check size of array structured data exchanged via ioctls
Ryusuke Konishi [Mon, 11 May 2009 14:24:47 +0000 (23:24 +0900)]
nilfs2: check size of array structured data exchanged via ioctls

Although some ioctls of nilfs2 exchange data in the form of indirectly
referenced array, some of them lack size check on the array elements.

This inserts the missing checks and rejects requests if data of ioctl
does not have a valid format.

We usually don't have to check size of structures that we associated
with ioctl commands because the size is tested implicitly for
identifying ioctl command; the checks this patch adds are for the
cases where the implicit check is not applied.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
15 years agoHID: add NOGET quirk for devices from CH Products
Alan Stern [Wed, 6 May 2009 19:48:49 +0000 (15:48 -0400)]
HID: add NOGET quirk for devices from CH Products

This patch (as1240) adds the NOGET quirk for three devices from CH
Products: the Pro pedals, the Combatstick joystick, and the Flight-Sim
yoke.  Without these quirks, the devices haven't worked for many
kernel releases.  Sometimes replugging them after boot-up would get
them to work and sometimes they wouldn't work at all.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Sean Hildebrand <silverwraithii@gmail.com>
Reported-by: Sid Boyce <sboyce@blueyonder.co.uk>
Tested-by: Sean Hildebrand <silverwraithii@gmail.com>
Tested-by: Sid Boyce <sboyce@blueyonder.co.uk>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
15 years agoHID: fix dropped device-specific quirks
Zoltan Karcagi [Wed, 6 May 2009 14:30:21 +0000 (16:30 +0200)]
HID: fix dropped device-specific quirks

Device-specific quirks are set up correctly in their respective vendor-specific
driver, then get overwritten in usbhid_parse().

This is only issue for device-specific NOGET quirks being set by driver for a
few devices out there.

Signed-off-by: Zoltan Karcagi <zkr@freemail.hu>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
15 years agointel-iommu: PAE memory corruption fix
David Woodhouse [Sun, 10 May 2009 22:57:41 +0000 (23:57 +0100)]
intel-iommu: PAE memory corruption fix

PAGE_MASK is 0xFFFFF000 on i386 -- even with PAE.

So it's not sufficient to ensure that you use phys_addr_t or uint64_t
everywhere you handle physical addresses -- you also have to avoid using
the construct 'addr & PAGE_MASK', because that will strip the high 32
bits of the address.

This patch avoids that problem by using PHYSICAL_PAGE_MASK instead of
PAGE_MASK where appropriate. It leaves '& PAGE_MASK' in a few instances
that don't matter -- where it's being used on the virtual bus addresses
we're dishing out, which are 32-bit anyway.

Since PHYSICAL_PAGE_MASK is not present on other architectures, we have
to define it (to PAGE_MASK) if it's not already defined.

Maybe it would be better just to fix PAGE_MASK for i386/PAE?

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoKVM: SVM: Remove port 80 passthrough
Avi Kivity [Mon, 11 May 2009 11:21:10 +0000 (14:21 +0300)]
KVM: SVM: Remove port 80 passthrough

KVM optimizes guest port 80 accesses by passthing them through to the host.
Some AMD machines die on port 80 writes, allowing the guest to hard-lock the
host.

Remove the port passthrough to avoid the problem.

Cc: stable@kernel.org
Reported-by: Piotr Jaroszyński <p.jaroszynski@gmail.com>
Tested-by: Piotr Jaroszyński <p.jaroszynski@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
15 years agoKVM: Make EFER reads safe when EFER does not exist
Avi Kivity [Sun, 3 May 2009 15:50:55 +0000 (18:50 +0300)]
KVM: Make EFER reads safe when EFER does not exist

Some processors don't have EFER; don't oops if userspace wants us to
read EFER when we check NX.

Cc: stable@kernel.org
Signed-off-by: Avi Kivity <avi@redhat.com>
15 years agoKVM: Fix NX support reporting
Avi Kivity [Sun, 3 May 2009 13:34:21 +0000 (16:34 +0300)]
KVM: Fix NX support reporting

NX support is bit 20, not bit 1.

Signed-off-by: Avi Kivity <avi@redhat.com>
15 years agoKVM: SVM: Fix cross vendor migration issue with unusable bit
Andre Przywara [Tue, 28 Apr 2009 10:45:30 +0000 (12:45 +0200)]
KVM: SVM: Fix cross vendor migration issue with unusable bit

AMDs VMCB does not have an explicit unusable segment descriptor field,
so we emulate it by using "not present". This has to be setup before
the fixups, because this field is used there.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
15 years agonilfs2: fix lock order reversal in nilfs_clean_segments ioctl
Ryusuke Konishi [Sun, 10 May 2009 13:41:43 +0000 (22:41 +0900)]
nilfs2: fix lock order reversal in nilfs_clean_segments ioctl

This is a companion patch to ("nilfs2: fix possible circular locking
for get information ioctls").

This corrects lock order reversal between mm->mmap_sem and
nilfs->ns_segctor_sem in nilfs_clean_segments() which was detected by
lockdep check:

 =======================================================
 [ INFO: possible circular locking dependency detected ]
 2.6.30-rc3-nilfs-00003-g360bdc1 #7
 -------------------------------------------------------
 mmap/5294 is trying to acquire lock:
  (&nilfs->ns_segctor_sem){++++.+}, at: [<d0d0e846>] nilfs_transaction_begin+0xb6/0x10c [nilfs2]

 but task is already holding lock:
  (&mm->mmap_sem){++++++}, at: [<c043700a>] do_page_fault+0x1d8/0x30a

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:

 -> #1 (&mm->mmap_sem){++++++}:
        [<c01470a5>] __lock_acquire+0x1066/0x13b0
        [<c01474a9>] lock_acquire+0xba/0xdd
        [<c01836bc>] might_fault+0x68/0x88
        [<c023c61d>] copy_from_user+0x2a/0x111
        [<d0d120d0>] nilfs_ioctl_prepare_clean_segments+0x1d/0xf1 [nilfs2]
        [<d0d0e2aa>] nilfs_clean_segments+0x6d/0x1b9 [nilfs2]
        [<d0d11f68>] nilfs_ioctl+0x2ad/0x318 [nilfs2]
        [<c01a3be7>] vfs_ioctl+0x22/0x69
        [<c01a408e>] do_vfs_ioctl+0x460/0x499
        [<c01a4107>] sys_ioctl+0x40/0x5a
        [<c01031a4>] sysenter_do_call+0x12/0x38
        [<ffffffff>] 0xffffffff

 -> #0 (&nilfs->ns_segctor_sem){++++.+}:
        [<c0146e0b>] __lock_acquire+0xdcc/0x13b0
        [<c01474a9>] lock_acquire+0xba/0xdd
        [<c0433f1d>] down_read+0x2a/0x3e
        [<d0d0e846>] nilfs_transaction_begin+0xb6/0x10c [nilfs2]
        [<d0cfe0e5>] nilfs_page_mkwrite+0xe7/0x154 [nilfs2]
        [<c0183b0b>] __do_fault+0x165/0x376
        [<c01855cd>] handle_mm_fault+0x287/0x5d1
        [<c043712d>] do_page_fault+0x2fb/0x30a
        [<c0435462>] error_code+0x72/0x78
        [<ffffffff>] 0xffffffff

where nilfs_clean_segments() holds:

  nilfs->ns_segctor_sem -> copy_from_user()
                             --> page fault -> mm->mmap_sem

And, page fault path may hold:

  page fault -> mm->mmap_sem
         --> nilfs_page_mkwrite() -> nilfs->ns_segctor_sem

Even though nilfs_clean_segments() does not perform write access on
given user pages, it may cause deadlock because nilfs->ns_segctor_sem
is shared per device and mm->mmap_sem can be shared with other tasks.

To avoid this problem, this patch moves all calls of copy_from_user()
outside the nilfs->ns_segctor_sem lock in the ioctl.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>