Ralf Baechle [Fri, 16 Mar 2007 16:10:36 +0000 (16:10 +0000)]
[MIPS] Lockdep: Fix recursion bug.
trace_hardirqs_off -> atomic_inc -> local_irq_restore -> trace_hardirqs_off
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 16 Mar 2007 12:16:27 +0000 (12:16 +0000)]
[MIPS] RTLX: Handle copy_*_user return values.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 15 Mar 2007 17:13:47 +0000 (17:13 +0000)]
[MIPS] RTLX: Protect rtlx_{read,write} with mutex.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 15 Mar 2007 17:10:16 +0000 (17:10 +0000)]
[MIPS] RTLX: Harden against compiler reordering and optimization.
RTLX communication is based on lock-free shared memory buffers. It
happened to be working by luck so far but relies on the optimizer doing
certain optimizations but no reordering.
Fixed by inserting proper barriers in rtlx_read and rtlx_write, and careful
pointer dereferencing.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 15 Mar 2007 17:08:28 +0000 (17:08 +0000)]
[MIPS] RTLX: Don't use volatile; it's fragile.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 13 Mar 2007 08:59:54 +0000 (08:59 +0000)]
[MIPS] Lasat: Downgrade 64-bit kernel from experimental to broken.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sat, 10 Mar 2007 18:22:25 +0000 (18:22 +0000)]
[MIPS] Compat: Fix build if CONFIG_SYSVIPC is disabled.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sat, 10 Mar 2007 04:56:33 +0000 (04:56 +0000)]
[CHAR] lcd: Fix two warnings.
In file included from drivers/char/lcd.c:23:
include/linux/mc146818rtc.h:104:1: warning: "RTC_IO_EXTENT" redefined
drivers/char/lcd.c:15:1: warning: this is the location of the previous definition
drivers/char/lcd.c:35: warning: 'lcd_lock' defined but not used
c316eb1eee2c803c33b1f826fe744c922d2e354f deleted the last code using
lcd_lock, so delete definition of lcd_lock.
The definition of RTC_IO_EXTENT is unused and probably always was only
debree copied from drivers/char/rtc.c.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Fri, 9 Mar 2007 16:07:45 +0000 (01:07 +0900)]
[MIPS] FPU ownership management & preemption fixes
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Fri, 9 Mar 2007 16:03:48 +0000 (01:03 +0900)]
[MIPS] Check FCSR for pending interrupts, alternative version
Commit
6d6671066a311703bca1b91645bb1e04cc983387 is incomplete and misses
non-r4k CPUs. This patch reverts the commit and fixes in other way.
o Do FCSR checking in caller of restore_fp_context.
o Send SIGFPE if the signal handler set any FPU exception bits.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sat, 10 Mar 2007 03:26:56 +0000 (03:26 +0000)]
[MIPS] IP27, IP35: Fix warnings.
include/asm-mips/mach-ip27/dma-coherence.h:22: warning: 'plat_map_dma_mem' defined but not used
include/asm-mips/mach-ip27/dma-coherence.h:41: warning: 'plat_unmap_dma_mem' defined but not used
include/asm-mips/mach-ip32/dma-coherence.h:30: warning: 'plat_map_dma_mem' defined but not used
include/asm-mips/mach-ip32/dma-coherence.h:63: warning: 'plat_unmap_dma_mem' defined but not used
These functions are meant to be inlined anyway.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Linus Torvalds [Fri, 16 Mar 2007 00:20:01 +0000 (17:20 -0700)]
Linux 2.6.21-rc4
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Thu, 15 Mar 2007 22:31:37 +0000 (15:31 -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:
natsemi: Avoid IntrStatus lossage if RX state machine resets.
natsemi: Fix NAPI for interrupt sharing
natsemi: Consistently use interrupt enable/disable functions
NetXen: Fix softlockup seen during hardware access
NetXen: Bug fix for Jumbo frames on XG card
skge: set mac address bonding fix
Alan Stern [Thu, 15 Mar 2007 19:51:28 +0000 (15:51 -0400)]
[PATCH] sysfs: reinstate exclusion between method calls and attribute unregistration
This patch (as869) reinstates the mutual exclusion between sysfs
attribute method calls and attribute unregistration. The
previously-reported deadlocks have been fixed, and this exclusion is
by far the simplest way to avoid races during driver unbinding.
The check for orphaned read-buffers has been moved down slightly, so
that the remainder of a partially-read buffer will still be available
to userspace even after the attribute has been unregistered.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Stern [Thu, 15 Mar 2007 19:50:34 +0000 (15:50 -0400)]
[PATCH] sysfs and driver core: add callback helper, used by SCSI and S390
This patch (as868) adds a helper routine for device drivers that need
to set up a callback to perform some action in a different process's
context. This is intended for use by attribute methods that want to
unregister themselves or their parent device. Attribute method calls
are mutually exclusive with unregistration, so such actions cannot be
taken directly.
Two attribute methods are converted to use the new helper routine: one
for SCSI device deletion and one for System/390 ccwgroup devices.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Thu, 15 Mar 2007 17:50:54 +0000 (10:50 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/jikos/hid
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid:
HID: zeroing of bytes in output fields is bogus
HID: allocate hid_parser in a proper way
broonie@sirena.org.uk [Wed, 14 Mar 2007 19:49:15 +0000 (19:49 +0000)]
natsemi: Avoid IntrStatus lossage if RX state machine resets.
This patch fixes the poll routine for the natsemi driver so that if the
driver detects an RX state machine lockup then no interrupts will be
lost while the driver recovers from that.
Signed-Off-By: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
broonie@sirena.org.uk [Wed, 14 Mar 2007 19:49:14 +0000 (19:49 +0000)]
natsemi: Fix NAPI for interrupt sharing
The interrupt status register for the natsemi chips is clear on read and
was read unconditionally from both the interrupt and from the NAPI poll
routine, meaning that if the interrupt service routine was called (for
example, due to a shared interrupt) while a NAPI poll was scheduled
interrupts could be missed. This patch fixes that by ensuring that the
interrupt status register is only read by the interrupt handler when
interrupts are enabled from the chip.
It also reverts a workaround for this problem from the netpoll hook and
improves the trace for interrupt events.
Thanks to Sergei Shtylyov <sshtylyov@ru.mvista.com> for spotting the
issue, Mark Huth <mhuth@mvista.com> for a simpler method and Simon
Blake <simon@citylink.co.nz> for testing resources.
Signed-Off-By: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
broonie@sirena.org.uk [Wed, 14 Mar 2007 19:49:13 +0000 (19:49 +0000)]
natsemi: Consistently use interrupt enable/disable functions
The natsemi drivers include functions for enabling and disabling
interrupts from the chip but these are not used in all code paths. This
patch changes the code paths that touch the interrupt enable register to
use the functions. In all cases this adds an extra PCI read to post the
operation but since none of these are in fast paths this shouldn't be
too much of a problem.
Signed-Off-By: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Linsys Contractor Mithlesh Thukral [Tue, 13 Mar 2007 12:15:06 +0000 (04:15 -0800)]
NetXen: Fix softlockup seen during hardware access
NetXen: This will fix a softlock seen on some machines.
The reason was too much time was spent waiting for hardware access
to go through.
Signed-off by: Mithlesh Thukral <mithlesh@netxen.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Linsys Contractor Mithlesh Thukral [Tue, 13 Mar 2007 12:13:13 +0000 (04:13 -0800)]
NetXen: Bug fix for Jumbo frames on XG card
NetXen: Set the MTU for the right port depending upon the port number
for XG cards.
Signed-off by: Mithlesh Thukral <mithlesh@netxen.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Mon, 12 Mar 2007 22:16:26 +0000 (15:16 -0700)]
skge: set mac address bonding fix
When bonding does fail over it calls set_mac_address. When this happens
as the result of another port going down, the phy_mutex that is common to
both ports is held, so it deadlocks. Setting the address doesn't need to do
anything that needs the phy_mutex, it already has the RTNL to protect against
other admin actions.
This change just disables the receiver to avoid any hardware confusion
while address is changing.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Linus Torvalds [Thu, 15 Mar 2007 00:50:48 +0000 (17:50 -0700)]
Disable NMI watchdog by default properly
This reverts commit
6ebf622b2577c50b1f496bd6a5e8739e55ae7b1c and
replaces it with one that actually works.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Wed, 14 Mar 2007 22:29:08 +0000 (15:29 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/mfasheh/ocfs2
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh/ocfs2:
ocfs2_dlm: Add missing locks in dlm_empty_lockres
ocfs2_dlm: Missing get/put lockres in dlm_run_purge_lockres
configfs: add missing mutex_unlock()
ocfs2: add some missing address space callbacks
ocfs2: Concurrent access of o2hb_region->hr_task was not locked
ocfs2: Proper cleanup in case of error in ocfs2_register_hb_callbacks()
Linus Torvalds [Wed, 14 Mar 2007 22:28:31 +0000 (15:28 -0700)]
Merge /linux/kernel/git/wim/linux-2.6-watchdog
* master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
[WATCHDOG] i8xx TCO driver - mark for removal
Al Viro [Wed, 14 Mar 2007 09:20:40 +0000 (09:20 +0000)]
[PATCH] m68k dma-mapping: gfp_t annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:20:30 +0000 (09:20 +0000)]
[PATCH] paride endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:20:20 +0000 (09:20 +0000)]
[PATCH] kill bogus casts in amd64 uaccess.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:20:10 +0000 (09:20 +0000)]
[PATCH] atl1 trivial endianness misannotations
NB: driver is choke-full of code that will break on big-endian; as long
as the hardware is onboard-only we can live with that, but sooner or
later that'll need fixing.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:20:00 +0000 (09:20 +0000)]
[PATCH] ANSIfy powerpc floppy.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:19:50 +0000 (09:19 +0000)]
[PATCH] hid-core endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:19:40 +0000 (09:19 +0000)]
[PATCH] cifs endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:19:30 +0000 (09:19 +0000)]
[PATCH] C99 initializers, proper use of const in drivers/ps3
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:19:20 +0000 (09:19 +0000)]
[PATCH] qeth gfp_t annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:19:10 +0000 (09:19 +0000)]
[PATCH] cciss endian annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:19:00 +0000 (09:19 +0000)]
[PATCH] trivial ATA iomem annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:18:50 +0000 (09:18 +0000)]
[PATCH] sparc: nr_free_pages() is unsigned long
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:18:40 +0000 (09:18 +0000)]
[PATCH] pasemi trivial iomem annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:18:30 +0000 (09:18 +0000)]
[PATCH] constant should be long
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:18:20 +0000 (09:18 +0000)]
[PATCH] dmfe trivial endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:18:09 +0000 (09:18 +0000)]
[PATCH] fastcall still doesn't make sense in paravirt
Andi had removed a bunch of those, but one more had creeped in...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:17:59 +0000 (09:17 +0000)]
[PATCH] misc NULL noise
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:16:54 +0000 (09:16 +0000)]
[PATCH] rtc-cmos needs RTC_ALWAYS_BCD known
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:16:44 +0000 (09:16 +0000)]
[PATCH] sparc: have dma-mapping.h include generic/dma-mapping-broken in non-PCI case
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:16:34 +0000 (09:16 +0000)]
[PATCH] BLK_DEV_IDE_CELLEB dependency fix
It's bool and it depends on IDE => should depend on IDE=y
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:16:24 +0000 (09:16 +0000)]
[PATCH] include of asm/pgtable.h in nfsfh is bogus
not needed and actually breaks build on frv, while we are at it
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:16:14 +0000 (09:16 +0000)]
[PATCH] m32r dma-mapping.h should simply include generic/dma-mapping-broken.h
... instead of trying to duplicate its bits
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:16:04 +0000 (09:16 +0000)]
[PATCH] fix ipath_dma_free_coherent() prototype
method gets u64, not dma_addr_t
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:15:54 +0000 (09:15 +0000)]
[PATCH] stacktrace doesn't work on uml
and no, it's not the case of "let's pull bits from underlying architecture"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:05:01 +0000 (09:05 +0000)]
[PATCH] zatm __init abuse
zatm_init() and zatm_start() should be __devinit (the former is
not module init, despite the name - it's a helper for PCI ->probe())
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:04:51 +0000 (09:04 +0000)]
[PATCH] (uml) sparse flags for userland glue are missing $(CF)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:04:41 +0000 (09:04 +0000)]
[PATCH] appldata build fix
PGALLOC_DMA is defined only if we have CONFIG_ZONE_DMA
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:04:31 +0000 (09:04 +0000)]
[PATCH] const file_operations fallout
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Wed, 14 Mar 2007 09:04:21 +0000 (09:04 +0000)]
[PATCH] ibmtr probe is __devinit, not __init
used by ->attach() in pcmcia analog
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Mon, 12 Mar 2007 16:17:58 +0000 (16:17 +0000)]
[PATCH] sanitize security_getprocattr() API
have it return the buffer it had allocated
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Mon, 12 Mar 2007 16:17:42 +0000 (16:17 +0000)]
[PATCH] fix deadlock in audit_log_task_context()
GFP_KERNEL allocations in non-blocking context; fixed by killing
an idiotic use of security_getprocattr().
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Sunil Mushran [Mon, 12 Mar 2007 20:25:44 +0000 (13:25 -0700)]
ocfs2_dlm: Add missing locks in dlm_empty_lockres
__dlm_lockres_unused() expects the caller to take the lockres spinlock.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Sunil Mushran [Mon, 12 Mar 2007 20:24:34 +0000 (13:24 -0700)]
ocfs2_dlm: Missing get/put lockres in dlm_run_purge_lockres
In some circumstances, this was causing us to reference freed memory.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Joel Becker [Mon, 5 Mar 2007 23:49:49 +0000 (15:49 -0800)]
configfs: add missing mutex_unlock()
d_alloc() failure in configfs_register_subsystem() would fail to unlock
the mutex taken above. Reorganize the exit path to ensure the unlock
happens.
Reported-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Joel Becker [Thu, 4 Jan 2007 22:54:41 +0000 (14:54 -0800)]
ocfs2: add some missing address space callbacks
Under load, OCFS2 would crash in invalidate_inode_pages2_range() because
invalidate_complete_page2() was unable to invalidate a page. It would
appear that JBD is holding on to the page. ext3 has a specific
->releasepage() handler to cover this case.
Steal ext3's ->releasepage(), ->invalidatepage(), and ->migratepage(), as
they appear completely appropriate for OCFS2.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Joel Becker [Sat, 3 Feb 2007 11:04:20 +0000 (03:04 -0800)]
ocfs2: Concurrent access of o2hb_region->hr_task was not locked
This means that a build-up and a teardown could race which would result in a
double-kthread_stop().
Protect the setting and clearing of hr_task with o2hb_live_lock, as it's not
a common thing and not performance critical.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Joel Becker [Sat, 3 Feb 2007 11:14:30 +0000 (03:14 -0800)]
ocfs2: Proper cleanup in case of error in ocfs2_register_hb_callbacks()
If ocfs2_register_hb_callbacks() succeeds on its first callback but fails
its second, it doesn't release the first on the way out. Fix that.
While we're at it, o2hb_unregister_callback() never returns anything but
0, so let's make it void.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Linus Torvalds [Tue, 13 Mar 2007 23:57:15 +0000 (16:57 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Add missing HPAGE_MASK masks on address parameters.
[SPARC]: Hook up missing syscalls.
Linus Torvalds [Tue, 13 Mar 2007 18:37:38 +0000 (11:37 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] kspd: ioctl needs a translation entry.
[MIPS] Viper2: Remove defective support.
[MIPS] Oprofile: Reset all performance registers for MIPS_MT_SMP configs
Ralf Baechle [Tue, 13 Mar 2007 15:10:50 +0000 (15:10 +0000)]
[MIPS] kspd: ioctl needs a translation entry.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 13 Mar 2007 13:37:17 +0000 (13:37 +0000)]
[MIPS] Viper2: Remove defective support.
A defconfig file and the 10 lines of code (including comments ...) that
are rotting since lmo commit
6516a42dc8b40c6c00010346dd51496125b16644
don't quite make proper support, so let's trash it.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Chris Dearman [Thu, 1 Mar 2007 17:58:24 +0000 (17:58 +0000)]
[MIPS] Oprofile: Reset all performance registers for MIPS_MT_SMP configs
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
David S. Miller [Tue, 13 Mar 2007 05:55:39 +0000 (22:55 -0700)]
[SPARC64]: Add missing HPAGE_MASK masks on address parameters.
These pte loops all assume the passed in address is HPAGE
aligned, make sure that is actually true.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Tue, 13 Mar 2007 02:58:18 +0000 (19:58 -0700)]
[SPARC]: Hook up missing syscalls.
sys_mbind
sys_get_mempolicy
sys_set_mempolicy
sys_kexec_load
sys_move_pages
sys_getcpu
sys_epoll_pwait
This work is largely a result of David Woodhouse's most
excellent missing syscalls patch.
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Tue, 13 Mar 2007 01:13:45 +0000 (18:13 -0700)]
Merge branch 'merge' of /linux/kernel/git/paulus/powerpc
* 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] sys_move_pages should be callable from an SPU
[POWERPC] Wire up sys_epoll_pwait
[POWERPC] Allocate syscall number for sys_getcpu
[POWERPC] update cell_defconfig
[POWERPC] ps3: always make sure were running on a PS3
[POWERPC] Fix spu SLB invalidations
[POWERPC] avoid SPU_ACTIVATE_NOWAKE optimization
[POWERPC] spufs: fix possible memory corruption is spufs_mem_write
Linus Torvalds [Tue, 13 Mar 2007 01:13:02 +0000 (18:13 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC]: Fix TIF_USEDFPU flag atomicity
[SPARC64]: Fix atomicity of TIF update in flush_thread()
[BW2]: Fix section mismatch warnings.
[CG14]: Fix section mismatch warnings.
[SPARC]: We do not need OLD_GETRLIMIT.
Linus Torvalds [Tue, 13 Mar 2007 01:12:42 +0000 (18:12 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[XFRM]: Fix missing protocol comparison of larval SAs.
[WANROUTER]: Delete superfluous source file "net/wanrouter/af_wanpipe.c".
[IPV4]: Fix warning in ip_mc_rejoin_group.
[ROSE]: Socket locking is a great invention.
[ROSE]: Remove ourselves from waitqueue when receiving a signal
[NetLabel]: parse the CIPSO ranged tag on incoming packets
Joy Latten [Tue, 13 Mar 2007 00:14:07 +0000 (17:14 -0700)]
[XFRM]: Fix missing protocol comparison of larval SAs.
I noticed that in xfrm_state_add we look for the larval SA in a few
places without checking for protocol match. So when using both
AH and ESP, whichever one gets added first, deletes the larval SA.
It seems AH always gets added first and ESP is always the larval
SA's protocol since the xfrm->tmpl has it first. Thus causing the
additional km_query()
Adding the check eliminates accidental double SA creation.
Signed-off-by: Joy Latten <latten@austin.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
William Lee Irwin III [Tue, 13 Mar 2007 00:08:25 +0000 (17:08 -0700)]
[SPARC]: Fix TIF_USEDFPU flag atomicity
From: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Robert P. J. Day [Tue, 13 Mar 2007 00:06:27 +0000 (17:06 -0700)]
[WANROUTER]: Delete superfluous source file "net/wanrouter/af_wanpipe.c".
Delete the apparently superfluous source file
net/wanrouter/af_wanpipe.c.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Geert Uytterhoeven [Tue, 13 Mar 2007 00:02:37 +0000 (17:02 -0700)]
[IPV4]: Fix warning in ip_mc_rejoin_group.
Kill warning about unused variable `in_dev' when CONFIG_IP_MULTICAST
is not set.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Zachary Amsden [Mon, 12 Mar 2007 22:58:08 +0000 (14:58 -0800)]
[PATCH] Fix vmi time header bug
Some gcc put this function in .init.text because the header didn't
match.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Zachary Amsden [Sat, 10 Mar 2007 07:00:30 +0000 (23:00 -0800)]
[PATCH] Fix VMI and COMPAT_VDSO for 2.6.21
VMI is broken under COMPAT_VDSO, as Xen and other non hardware assisted
hypervisors will be. I have been working on a fix for this which works
for older glibcs that panic when the new relocatable VDSO is used.
However, I believe at this time that the fix is going to be too radical
to consider at this stage in the release of 2.6.21. We don't expect
this config option to be turned on by vendors for new distributions, so
at this point we are willing to drop support for it when VMI is compiled
in, and work on a patch for 2.6.22 which more fully addresses the
problem.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Eric W. Biederman [Thu, 8 Mar 2007 20:06:13 +0000 (13:06 -0700)]
[PATCH] pci: Repair pci_save/restore_state so we can restore one save many times.
Because we do not reserve space for the pci-x and pci-e state in struct
pci dev we need to dynamically allocate it. However because we need
to support restore being called multiple times after a single save
it is never safe to free the buffers we have allocated to hold the
state.
So this patch modifies the save routines to first check to see
if we have already allocated a state buffer before allocating
a new one. Then the restore routines are modified to not free
the state after restoring it. Simple and it fixes some subtle
error path handling bugs, that are hard to test for.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Eric W. Biederman [Thu, 8 Mar 2007 20:04:57 +0000 (13:04 -0700)]
[PATCH] msi: Safer state caching.
There are two ways pci_save_state and pci_restore_state are used. As
helper functions during suspend/resume, and as helper functions around
a hardware reset event. When used as helper functions around a hardware
reset event there is no reason to believe the calls will be paired, nor
is there a good reason to believe that if we restore the msi state from
before the reset that it will match the current msi state. Since arch
code may change the msi message without going through the driver, drivers
currently do not have enough information to even know when to call
pci_save_state to ensure they will have msi state in sync with the other
kernel irq reception data structures.
It turns out the solution is straight forward, cache the state in the
existing msi data structures (not the magic pci saved things) and
have the msi code update the cached state each time we write to the hardware.
This means we never need to read the hardware to figure out what the hardware
state should be.
By modifying the caching in this manner we get to remove our save_state
routines and only need to provide restore_state routines.
The only fields that were at all tricky to regenerate were the msi and msi-x
control registers and the way we regenerate them currently is a bit dependent
upon assumptions on how we use the allow msi registers to be configured and used
making the code a little bit brittle. If we ever change what cases we allow
or how we configure the msi bits we can address the fragility then.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ralf Baechle [Mon, 12 Mar 2007 22:53:33 +0000 (15:53 -0700)]
[ROSE]: Socket locking is a great invention.
Especially if you actually try to do it ;-)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ralf Baechle [Mon, 12 Mar 2007 22:52:52 +0000 (15:52 -0700)]
[ROSE]: Remove ourselves from waitqueue when receiving a signal
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Paul Moore [Mon, 12 Mar 2007 21:38:02 +0000 (14:38 -0700)]
[NetLabel]: parse the CIPSO ranged tag on incoming packets
Commit
484b366932be0b73a22c74a82748ca10a721643e added support for the CIPSO
ranged categories tag. However, it appears that I made a mistake when rebasing
then patch to the latest upstream sources for submission and dropped the part
of the patch that actually parses the tag on incoming packets. This patch
fixes this mistake by adding the required function call to the
cipso_v4_skbuff_getattr() function.
I've run this patch over the weekend and have not noticed any problems.
Signed-off-by: Paul Moore <paul.moore@hp.com>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Mon, 12 Mar 2007 19:31:43 +0000 (12:31 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4263/1: fix IXP4XX_NPE[ABC]_BASE_VIRT address
[ARM] 4256/1: i.MX/MX1 SDHC fix/workaround of SD card recognition problems
[ARM] 4255/1: i.MX/MX1 Correct MPU PLL reference clock value.
[ARM] 4254/1: i.MX/MX1 CPU Frequency scaling honor boot loader set BCLK_DIV.
[ARM] 4251/1: Fix sharpsl_pm dependency
[ARM] 4250/1: Fix locomo backlight conversion error/compile failure
[ARM] 4249/1: Fix tosa compile failure
[ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble
[ARM] 4247/1: Fix long name for cc9p9360dev
ARM: OMAP: Fix OMAP2 dss2 so clk_set_parent works
ARM: OMAP: Fix missing workqueue include in board-h2.c
ARM: OMAP: Include missing header
Milan Svoboda [Mon, 12 Mar 2007 11:38:07 +0000 (12:38 +0100)]
[ARM] 4263/1: fix IXP4XX_NPE[ABC]_BASE_VIRT address
This fixs address defines for IXP4XX_NPE[ABC]_BASE_VIRT.
They are defined as (IXP4XX_PERIPHERAL_BASE_PHYS + 0x[678]000) now,
but they should be defined as (IXP4XX_PERIPHERAL_BASE_VIRT + 0x[678]000). Note PHYS vs VIRT in IXP4XX_PERIPHERAL_BASE...
Signed-off-by: Milan Svoboda <msvoboda@ra.rockwell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pavel Pisa [Wed, 7 Mar 2007 23:00:40 +0000 (00:00 +0100)]
[ARM] 4256/1: i.MX/MX1 SDHC fix/workaround of SD card recognition problems
The SDHC controllers cannot process shorter transfers.
They has to be handled as longer ones, but it such case CRC
error is evaluated. There was a case in the code still,
where this error is not ignored as it should to be process
these transfers.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pavel Pisa [Wed, 7 Mar 2007 22:56:16 +0000 (23:56 +0100)]
[ARM] 4255/1: i.MX/MX1 Correct MPU PLL reference clock value.
Only System PLL clock source is selectable by CSCR_SYSTEM_SEL
bit. MPU PLL is driven by 512*CLK32 for each case.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pavel Pisa [Wed, 7 Mar 2007 22:52:40 +0000 (23:52 +0100)]
[ARM] 4254/1: i.MX/MX1 CPU Frequency scaling honor boot loader set BCLK_DIV.
The minimal bus clock prescaler should be kept at value
selected by the board / boot loader designer.
Switching frequency above startup limit could
lead to the external memory/devices misbehave.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jiri Kosina [Sat, 10 Mar 2007 21:45:45 +0000 (22:45 +0100)]
HID: zeroing of bytes in output fields is bogus
This patch removes bogus zeroing of unused bits in output reports,
introduced in Simon's patch in commit
d4ae650a.
According to the specification, any sane device should not care
about values of unused bits.
What is worse, the zeroing is done in a way which is broken and
might clear certain bits in output reports which are actually
_used_ - a device that has multiple fields with one value of
the size 1 bit each might serve as an example of why this is
bogus - the second call of hid_output_report() would clear the
first bit of report, which has already been set up previously.
This patch will break LEDs on SpaceNavigator, because this device
is broken and takes into account the bits which it shouldn't touch.
The quirk for this particular device will be provided in a separate
patch.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Jiri Kosina [Mon, 12 Mar 2007 13:55:12 +0000 (14:55 +0100)]
HID: allocate hid_parser in a proper way
hid_parser is non-trivially large structure, so it should be allocated
using vmalloc() to avoid unsuccessful allocations when memory fragmentation
is too high.
This structue has a very short life, it's destroyed as soon as the report
descriptor has been completely parsed.
This should be considered a temporary solution, until the hid_parser is
rewritten to consume less memory during report descriptor parsing.
Acked-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Stephen Rothwell [Fri, 9 Mar 2007 00:58:11 +0000 (11:58 +1100)]
[POWERPC] sys_move_pages should be callable from an SPU
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Stephen Rothwell [Fri, 9 Mar 2007 00:57:10 +0000 (11:57 +1100)]
[POWERPC] Wire up sys_epoll_pwait
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Stephen Rothwell [Fri, 9 Mar 2007 00:54:57 +0000 (11:54 +1100)]
[POWERPC] Allocate syscall number for sys_getcpu
I forgot to do this when wiring up the syscall.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Mon, 12 Mar 2007 04:47:23 +0000 (15:47 +1100)]
Merge branch 'cell-merge' of git://git./linux/kernel/git/arnd/cell-2.6 into merge
Wim Van Sebroeck [Sun, 11 Mar 2007 12:59:47 +0000 (12:59 +0000)]
[WATCHDOG] i8xx TCO driver - mark for removal
Mark the i8xx TCO driver for removal.
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Linus Torvalds [Sat, 10 Mar 2007 22:22:07 +0000 (14:22 -0800)]
Revert "USB: pxa2xx_udc: fix hardcoded irq number"
This reverts commit
d2487cb4257dafb686f682285854fe7f02ca29d8.
Russell King points out that it's obviously bogus, and I have to agree.
Not only does "irq" not even exist in that scope, but we obviously need
to free the irq that we actually requested, and that's IRQ_USB.
Reported-by: Russell King <rmk@arm.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg KH <greg@kroah.com>
Cc: David Brownell <david-b@pacbell.net>,
Cc: Milan Svoboda <msvoboda@ra.rockwell.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Mathieu Desnoyers [Sat, 10 Mar 2007 08:19:49 +0000 (00:19 -0800)]
[SPARC64]: Fix atomicity of TIF update in flush_thread()
Fix atomicity of TIF update in flush_thread() for sparc64
Fixes correctly the race by using *_ti_thread_flag.
Race :
parent process executing :
sys_ptrace()
(lock_kernel())
(ptrace_get_task_struct(pid))
arch_ptrace()
ptrace_detach()
ptrace_disable(child);
clear_singlestep(child);
clear_tsk_thread_flag(child, TIF_SINGLESTEP);
(which clears the TIF_SINGLESTEP flag atomically from a different
process)
(put_task_struct(child))
(unlock_kernel())
And at the same time, in the child process :
sys_execve()
do_execve()
search_binary_handler()
load_elf_binary()
flush_old_exec()
flush_thread()
doing a non-atomic thread flag update
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
Robert Reif [Fri, 9 Mar 2007 05:22:35 +0000 (21:22 -0800)]
[BW2]: Fix section mismatch warnings.
Fix section mismatch warnings by moving data into __devinitdata section.
Add __devinit to two initialization functions.
Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Robert Reif [Fri, 9 Mar 2007 05:22:03 +0000 (21:22 -0800)]
[CG14]: Fix section mismatch warnings.
Fix section mismatch warning by moving data into __devinitdata section.
Add __devinit to an initialization function.
Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 9 Mar 2007 00:23:24 +0000 (16:23 -0800)]
[SPARC]: We do not need OLD_GETRLIMIT.
Signed-off-by: David S. Miller <davem@davemloft.net>