Adrian Bunk [Tue, 5 Aug 2008 16:17:00 +0000 (18:17 +0200)]
remove unneeded #include <linux/ide.h>'s
This patch remove unneeded #include <linux/ide.h>'s.
It also adds a required #include <linux/interrupt.h> that was previously
implicitely pulled by ide.h
Signed-off-by: Adrian Bunk <bunk@kernel.org>
[bart: revert change to tests/lkdtm.c (spotted by Stephen Rothwell)]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz [Tue, 5 Aug 2008 16:16:59 +0000 (18:16 +0200)]
ide: fix regression caused by ide_device_{get,put}() addition (take 2)
On Monday 28 July 2008, Benjamin Herrenschmidt wrote:
[...]
> Vector: 300 (Data Access) at [
c58b7b80]
> pc:
c014f264: elv_may_queue+0x10/0x44
> lr:
c0152750: get_request+0x2c/0x2c0
> sp:
c58b7c30
> msr: 1032
> dar: c
> dsisr:
40000000
> current = 0xc58aaae0
> pid = 854, comm = media-bay
> enter ? for help
> mon> t
> [
c58b7c40]
c0152750 get_request+0x2c/0x2c0
> [
c58b7c70]
c0152a08 get_request_wait+0x24/0xec
> [
c58b7cc0]
c0225674 ide_cd_queue_pc+0x58/0x1a0
> [
c58b7d40]
c022672c ide_cdrom_packet+0x9c/0xdc
> [
c58b7d70]
c0261810 cdrom_get_disc_info+0x60/0xd0
> [
c58b7dc0]
c026208c cdrom_mrw_exit+0x1c/0x11c
> [
c58b7e30]
c0260f7c unregister_cdrom+0x84/0xe8
> [
c58b7e50]
c022395c ide_cd_release+0x80/0x84
> [
c58b7e70]
c0163650 kref_put+0x54/0x6c
> [
c58b7e80]
c0223884 ide_cd_put+0x40/0x5c
> [
c58b7ea0]
c0211100 generic_ide_remove+0x28/0x3c
> [
c58b7eb0]
c01e9d34 __device_release_driver+0x78/0xb4
> [
c58b7ec0]
c01e9e44 device_release_driver+0x28/0x44
> [
c58b7ee0]
c01e8f7c bus_remove_device+0xac/0xd8
> [
c58b7f00]
c01e7424 device_del+0x104/0x198
> [
c58b7f20]
c01e74d0 device_unregister+0x18/0x30
> [
c58b7f40]
c02121c4 __ide_port_unregister_devices+0x6c/0x88
> [
c58b7f60]
c0212398 ide_port_unregister_devices+0x38/0x80
> [
c58b7f80]
c0208ca4 media_bay_step+0x1cc/0x5c0
> [
c58b7fb0]
c0209124 media_bay_task+0x8c/0xcc
> [
c58b7fd0]
c00485c0 kthread+0x48/0x84
> [
c58b7ff0]
c0011b20 kernel_thread+0x44/0x60
The guilty commit turned out to be
08da591e14cf87247ec09b17c350235157a92fc3
("ide: add ide_device_{get,put}() helpers"). ide_device_put() is called
before kref_put() in ide_cd_put() so IDE device is already gone by the time
ide_cd_release() is reached.
Fix it by calling ide_device_get() before kref_get() and ide_device_put()
after kref_put() in all affected device drivers.
v2:
Brown paper bag time. In v1 cd->drive was referenced after dropping last
reference on cd object (which could result in OOPS in ide_device_put() as
reported/debugged by Mariusz Kozlowski). Fix it by caching cd->drive in
the local variable (fix other device drivers too).
Reported-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reported-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Borislav Petkov <petkovbb@gmail.com>
Tested-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz [Tue, 5 Aug 2008 16:16:58 +0000 (18:16 +0200)]
remove unnecessary <linux/hdreg.h> includes
Following files don't need <linux/hdreg.h> at all:
- arch/mips/jazz/setup.c
- arch/sh/boards/mach-systemh/irq.c
- drivers/macintosh/mediabay.c
- drivers/scsi/hptiop.c
- drivers/usb/storage/freecom.c
- arch/powerpc/include/asm/ide.h
- init/main.c
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz [Tue, 5 Aug 2008 16:16:57 +0000 (18:16 +0200)]
ide: sanitize struct ide_port_ops documentation (take 2)
v2:
Add missing '@'-s. (Noticed by Randy Dunlap)
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz [Tue, 5 Aug 2008 16:16:56 +0000 (18:16 +0200)]
ide: fix ide_fix_driveid()
Fix byte-swapping for id->words161_175[], id->words206_254[]
and id->words206_254[].
Luckily all words previously left in little-endian byte-order
are marked as reserved so this fix shouldn't affect user-space
applications.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz [Tue, 5 Aug 2008 16:16:55 +0000 (18:16 +0200)]
ide: fix pre-EIDE SWDMA support on big-endian
id->tDMA is of 'unsigned char' type so endianness is already
correct and calling le16_to_cpu() is wrong.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Nick Piggin [Sat, 2 Aug 2008 10:02:13 +0000 (12:02 +0200)]
fs: rename buffer trylock
Like the page lock change, this also requires name change, so convert the
raw test_and_set bitop to a trylock.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Nick Piggin [Sat, 2 Aug 2008 10:01:03 +0000 (12:01 +0200)]
mm: rename page trylock
Converting page lock to new locking bitops requires a change of page flag
operation naming, so we might as well convert it to something nicer
(!TestSetPageLocked_Lock => trylock_page, SetPageLocked => set_page_locked).
This also facilitates lockdeping of page lock.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 5 Aug 2008 02:04:36 +0000 (19:04 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc64: Remove all cpumask_t local variables in xcall dispatch.
sparc64: Kill error_mask from hypervisor_xcall_deliver().
sparc64: Build cpu list and mondo block at top-level xcall_deliver().
sparc64: Disable local interrupts around xcall_deliver_impl() invocation.
sparc64: Make all xcall_deliver's go through common helper function.
sparc64: Always allocate the send mondo blocks, even on non-sun4v.
sparc64: Make smp_cross_call_masked() take a cpumask_t pointer.
sparc64: Directly call xcall_deliver() in smp_start_sync_tick_client.
sparc64: Call xcall_deliver() directly in some cases.
sparc64: Use cpumask_t pointers and for_each_cpu_mask_nr() in xcall_deliver.
sparc64: Use xcall_deliver() consistently.
sparc64: Use function pointer for cross-call sending.
arch/sparc64/kernel/signal.c: removed duplicated #include
sparc64: Need to disable preemption around smp_tsb_sync().
Linus Torvalds [Tue, 5 Aug 2008 00:26:15 +0000 (17:26 -0700)]
Merge git://git./linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (29 commits)
sh: enable maple_keyb in dreamcast_defconfig.
SH2(A) cache update
nommu: Provide vmalloc_exec().
add addrespace definition for sh2a.
sh: Kill off ARCH_SUPPORTS_AOUT and remnants of a.out support.
sh: define GENERIC_HARDIRQS_NO__DO_IRQ.
sh: define GENERIC_LOCKBREAK.
sh: Save NUMA node data in vmcore for crash dumps.
sh: module_alloc() should be using vmalloc_exec().
sh: Fix up __bug_table handling in module loader.
sh: Add documentation and integrate into docbook build.
sh: Fix up broken kerneldoc comments.
maple: Kill useless private_data pointer.
maple: Clean up maple_driver_register/unregister routines.
input: Clean up maple keyboard driver
maple: allow removal and reinsertion of keyboard driver module
sh: /proc/asids depends on MMU.
arch/sh/boards/mach-se/7343/irq.c: removed duplicated #include
arch/sh/boards/board-ap325rxa.c: removed duplicated #include
sh/boards/Makefile typo fix
...
Linus Torvalds [Tue, 5 Aug 2008 00:25:06 +0000 (17:25 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
powerpc: Remove use of CONFIG_PPC_MERGE
powerpc: Force printing of 'total_memory' to unsigned long long
powerpc: Fix compiler warning in arch/powerpc/mm/mem.c
powerpc: Move include files to arch/powerpc/include/asm
Linus Torvalds [Tue, 5 Aug 2008 00:24:28 +0000 (17:24 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild-fixes
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
kconfig: drop the ""trying to assign nonexistent symbol" warning
kconfig: always write out .config
Roland McGrath [Mon, 4 Aug 2008 20:56:01 +0000 (13:56 -0700)]
tracehook: kerneldoc fix
My last change to tracehook.h made it confuse the kerneldoc parser.
Move the #define's before the comment so it's happy again.
Signed-off-by: Roland McGrath <roland@redhat.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Paul Mundt [Mon, 4 Aug 2008 10:21:23 +0000 (11:21 +0100)]
mn10300: Fix up __bug_table handling in module loader.
Platforms that are using GENERIC_BUG must call in to
module_bug_finalize()/module_bug_cleanup() in order to scan modules with
their own __bug_table sections that are otherwise unaccounted.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 5 Aug 2008 00:21:38 +0000 (17:21 -0700)]
Merge branch 'audit.b56' of git://git./linux/kernel/git/viro/audit-current
* 'audit.b56' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
Re: [PATCH] Fix the kernel panic of audit_filter_task when key field is set
Linus Torvalds [Tue, 5 Aug 2008 00:19:18 +0000 (17:19 -0700)]
Merge git://git./linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] scsi_transport_spi: fix oops in revalidate
[SCSI] ses: fix VPD inquiry overrun
[SCSI] block: Fix miscalculation of sg_io timeout in CDROM_SEND_PACKET handler.
[SCSI] hptiop: add more PCI device IDs
Stephen Rothwell [Sun, 3 Aug 2008 20:02:10 +0000 (22:02 +0200)]
m68k: some asm-sparc include files moved
So copy their contents into the asm-m68k files.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jeremy Fitzhardinge [Sun, 3 Aug 2008 16:33:03 +0000 (09:33 -0700)]
__sched_setscheduler: don't do any policy checks when not "user"
The "user" parameter to __sched_setscheduler indicates whether the
change is being done on behalf of a user process or not. If not, we
shouldn't apply any permissions checks, so don't call
security_task_setscheduler().
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 5 Aug 2008 00:15:07 +0000 (17:15 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] move include/asm-s390 to arch/s390/include/asm
Linus Torvalds [Tue, 5 Aug 2008 00:14:21 +0000 (17:14 -0700)]
Merge git://git./linux/kernel/git/brodo/pcmcia-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6:
pcmcia: rsrc_nonstatic: check value, not pointer
Alan Cox [Mon, 4 Aug 2008 16:56:28 +0000 (17:56 +0100)]
sc1200 watchdog driver: Fix locking, sems and coding style
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andrew Morton [Mon, 4 Aug 2008 16:56:02 +0000 (17:56 +0100)]
alpha: Fix breakage in wdt_pci
drivers/watchdog/wdt_pci.c: In function 'wdtpci_ctr_mode':
drivers/watchdog/wdt_pci.c:120: error: implicit declaration of function 'udelay'
{standard input}: Assembler messages:
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:55:35 +0000 (17:55 +0100)]
wdt: Cleanup and sort out locking and inb_p
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:54:46 +0000 (17:54 +0100)]
s3c2410_wdt watchdog driver: Locking and coding style
Kill off use of semaphores.
Fix ioctl races and locking holes.
From: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:54:01 +0000 (17:54 +0100)]
it8712f_wdt: Locking and coding style
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:53:22 +0000 (17:53 +0100)]
ar7_wdt watchdog driver: Fix locking
Use unlocked_ioctl
Remove semaphores
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:47:07 +0000 (17:47 +0100)]
vt: Deadlock workaround
2.6.26 corrected the mutex locking on tty resizing to fix the case where
you could get the tty/vt sizing out of sync. That turns out to have a
deadlock.
The actual fix is really major and I've got it lined up as part of the ops
changes for 2.6.28 so for 2.6.26/2.6.27 it is safer to reintroduce this
ages old minor bug.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:21:18 +0000 (17:21 +0100)]
cris: Fixup compile problems
It now compiles with the tty changes but isn't tested (which has to be
better than not compiling..
Closes bug #11218
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Mon, 4 Aug 2008 16:22:11 +0000 (17:22 +0100)]
blackfin: Fix compile failure in tty code
Blackfin peers into the ldisc in an odd way for IRDA snooping which
therefore got missed. Simple enough fix.
Closes bug #11233
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 5 Aug 2008 00:03:56 +0000 (17:03 -0700)]
Merge git://git.infradead.org/users/dwmw2/random-2.6
* git://git.infradead.org/users/dwmw2/random-2.6:
drivers/video/console/promcon.c: fix build error
Fix IHEX firmware generation/loading
Willy Tarreau [Sat, 2 Aug 2008 16:25:16 +0000 (18:25 +0200)]
sound: ensure device number is valid in snd_seq_oss_synth_make_info
snd_seq_oss_synth_make_info() incorrectly reports information
to userspace without first checking for the validity of the
device number, leading to possible information leak (CVE-2008-3272).
Reported-By: Tobias Klein <tk@trapkit.de>
Acked-and-tested-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 5 Aug 2008 00:00:37 +0000 (17:00 -0700)]
Merge git://git./linux/kernel/git/kkeil/ISDN-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6:
Add DIP switch readout for HFC-4S IOB4ST
Fix remaining big endian issue of hfcmulti
mISDN cleanup user interface
mISDN fix main ISDN Makefile
Huang Weiyi [Sat, 2 Aug 2008 13:10:23 +0000 (21:10 +0800)]
drivers/char/efirtc.c: removed duplicated #include
Removed duplicated include <linux/smp_lock.h> in
drivers/char/efirtc.c.
Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
KOSAKI Motohiro [Mon, 4 Aug 2008 20:41:14 +0000 (13:41 -0700)]
mlock() fix return values
Halesh says:
Please find the below testcase provide to test mlock.
Test Case :
===========================
#include <sys/resource.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
int main(void)
{
int fd,ret, i = 0;
char *addr, *addr1 = NULL;
unsigned int page_size;
struct rlimit rlim;
if (0 != geteuid())
{
printf("Execute this pgm as root\n");
exit(1);
}
/* create a file */
if ((fd = open("mmap_test.c",O_RDWR|O_CREAT,0755)) == -1)
{
printf("cant create test file\n");
exit(1);
}
page_size = sysconf(_SC_PAGE_SIZE);
/* set the MEMLOCK limit */
rlim.rlim_cur = 2000;
rlim.rlim_max = 2000;
if ((ret = setrlimit(RLIMIT_MEMLOCK,&rlim)) != 0)
{
printf("Cant change limit values\n");
exit(1);
}
addr = 0;
while (1)
{
/* map a page into memory each time*/
if ((addr = (char *) mmap(addr,page_size, PROT_READ |
PROT_WRITE,MAP_SHARED,fd,0)) == MAP_FAILED)
{
printf("cant do mmap on file\n");
exit(1);
}
if (0 == i)
addr1 = addr;
i++;
errno = 0;
/* lock the mapped memory pagewise*/
if ((ret = mlock((char *)addr, 1500)) == -1)
{
printf("errno value is %d\n", errno);
printf("cant lock maped region\n");
exit(1);
}
addr = addr + page_size;
}
}
======================================================
This testcase results in an mlock() failure with errno 14 that is EFAULT,
but it has nowhere been specified that mlock() will return EFAULT. When I
tested the same on older kernels like 2.6.18, I got the correct result i.e
errno 12 (ENOMEM).
I think in source code mlock(2), setting errno ENOMEM has been missed in
do_mlock() , on mlock_fixup() failure.
SUSv3 requires the following behavior frmo mlock(2).
[ENOMEM]
Some or all of the address range specified by the addr and
len arguments does not correspond to valid mapped pages
in the address space of the process.
[EAGAIN]
Some or all of the memory identified by the operation could not
be locked when the call was made.
This rule isn't so nice and slighly strange. but many people think
POSIX/SUS compliance is important.
Reported-by: Halesh Sadashiv <halesh.sadashiv@ap.sony.com>
Tested-by: Halesh Sadashiv <halesh.sadashiv@ap.sony.com>
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Gerard Kam [Mon, 4 Aug 2008 20:41:12 +0000 (13:41 -0700)]
atmel_spi: fix hang due to missed interrupt
For some time my at91sam9260 board with JFFS2 on serial flash (m25p80)
would hang when accessing the serial flash and SPI bus. Slowing the SPI
clock down to 9 MHz reduced the occurrence of the hang from "always"
during boot to a nuisance level that allowed other SW development to
continue. Finally had to address this issue when an application stresses
the I/O to always cause a hang.
Hang seems to be caused by a missed SPI interrupt, so that the task ends
up waiting forever after calling spi_sync(). The fix has 2 parts. First
is to halt the DMA engine before the "current" PDC registers are loaded.
This ensures that the "next" registers are loaded before the DMA operation
takes off. The second part of the fix is a kludge that adds a
"completion" interrupt in case the ENDRX interrupt for the last segment of
the DMA chaining operation was missed.
The patch allows the SPI clock for the serial flash to be increased from 9
MHz to 15 MHz (or more?). No hangs or SPI overruns were encountered.
Haavard: while this patch does indeed improve things, I still see overruns
and CRC errors on my NGW100 board when running the DataFlash at 10 MHz.
However, I think some improvement is better than nothing, so I'm passing
this on for inclusion in 2.6.27.
Signed-off-by: Gerard Kam <gerardk5@verizon.net>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ben Dooks [Mon, 4 Aug 2008 20:41:10 +0000 (13:41 -0700)]
spi: S3C24XX: reset register status on resume.
Fix a bug in the spi_s3c24xx driver where it does not reset the registers
of the hardware when resuming from suspend (this block has been reset over
suspend).
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
David S. Miller [Mon, 4 Aug 2008 23:56:15 +0000 (16:56 -0700)]
sparc64: Remove all cpumask_t local variables in xcall dispatch.
All of the xcall delivery implementation is cpumask agnostic, so
we can pass around pointers to const cpumask_t objects everywhere.
The sad remaining case is the argument to arch_send_call_function_ipi().
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Mon, 4 Aug 2008 23:50:38 +0000 (16:50 -0700)]
Revert "UFS: add const to parser token table"
This reverts commit
f9247273cb69ba101877e946d2d83044409cc8c5 (and
fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 - "fix fs/nfs/nfsroot.c
compilation" - that fixed a missed conversion).
The changes cause problems for at least the sparc build. Let's re-do
them when the exact issues are resolved.
Requested-by: Andrew Morton <akpm@linux-foundation.org>
Requested-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
David S. Miller [Mon, 4 Aug 2008 23:47:57 +0000 (16:47 -0700)]
sparc64: Kill error_mask from hypervisor_xcall_deliver().
It can eat up a lot of stack space when NR_CPUS is large.
We retain some of it's functionality by reporting at least one
of the cpu's which are seen in error state.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 23:42:58 +0000 (16:42 -0700)]
sparc64: Build cpu list and mondo block at top-level xcall_deliver().
Then modify all of the xcall dispatch implementations get passed and
use this information.
Now all of the xcall dispatch implementations do not need to be mindful
of details such as "is current cpu in the list?" and "is cpu online?"
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Mon, 4 Aug 2008 23:36:20 +0000 (16:36 -0700)]
Revert "[SCSI] extend the last_sector_bug flag to cover more sectors"
This reverts commit
2b142900784c6e38c8d39fa57d5f95ef08e735d8, since it
seems to break some other USB storage devices (at least a JMicron USB to
ATA bridge). As such, while it apparently fixes some cardreaders, it
would need to be made conditional on the exact reader it fixes in order
to avoid causing regressions.
Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
David S. Miller [Mon, 4 Aug 2008 23:18:40 +0000 (16:18 -0700)]
sparc64: Disable local interrupts around xcall_deliver_impl() invocation.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 23:16:20 +0000 (16:16 -0700)]
sparc64: Make all xcall_deliver's go through common helper function.
This just facilitates the next changeset where we'll be building
the cpu list and mondo block in this helper function.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 23:13:51 +0000 (16:13 -0700)]
sparc64: Always allocate the send mondo blocks, even on non-sun4v.
The idea is that we'll use this cpu list array and mondo block
even for non-hypervisor platforms.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 07:51:18 +0000 (00:51 -0700)]
sparc64: Make smp_cross_call_masked() take a cpumask_t pointer.
Ideally this could be simplified further such that we could pass
the pointer down directly into the xcall_deliver() implementation.
But if we do that we need to do the "cpu_online(cpu)" and
"cpu != self" checks down in those functions.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 07:02:31 +0000 (00:02 -0700)]
sparc64: Directly call xcall_deliver() in smp_start_sync_tick_client.
We know the cpu is online and not the current cpu here.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 06:56:28 +0000 (23:56 -0700)]
sparc64: Call xcall_deliver() directly in some cases.
For these cases the callers make sure:
1) The cpus indicated are online.
2) The current cpu is not in the list of indicated cpus.
Therefore we can pass a pointer to the mask directly.
One of the motivations in this transformation is to make use of
"&cpumask_of_cpu(cpu)" which evaluates to a pointer to constant
data in the kernel and thus takes up no stack space.
Hopefully someone in the future will change the interface of
arch_send_call_function_ipi() such that it passes a const cpumask_t
pointer so that this will optimize ever further.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 06:24:26 +0000 (23:24 -0700)]
sparc64: Use cpumask_t pointers and for_each_cpu_mask_nr() in xcall_deliver.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 06:07:18 +0000 (23:07 -0700)]
sparc64: Use xcall_deliver() consistently.
There remained some spots still vectoring to the appropriate
*_xcall_deliver() function manually.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 4 Aug 2008 05:52:41 +0000 (22:52 -0700)]
sparc64: Use function pointer for cross-call sending.
Initialize it using the smp_setup_processor_id() hook.
Signed-off-by: David S. Miller <davem@davemloft.net>
Huang Weiyi [Sun, 3 Aug 2008 07:04:13 +0000 (00:04 -0700)]
arch/sparc64/kernel/signal.c: removed duplicated #include
Removed duplicated #include <linux/tracehook.h> in
arch/sparc64/kernel/signal.c.
Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sun, 3 Aug 2008 07:01:05 +0000 (00:01 -0700)]
sparc64: Need to disable preemption around smp_tsb_sync().
Based upon a bug report by Mariusz Kozlowski
It uses smp_call_function_masked() now, which has a preemption-disabled
requirement.
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Mon, 4 Aug 2008 20:29:37 +0000 (22:29 +0200)]
kconfig: drop the ""trying to assign nonexistent symbol" warning
They really stand out now that make *config is less chatty - and
they are generally ignored - so drop them.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Adrian Bunk <bunk@kernel.org>
Sam Ravnborg [Mon, 4 Aug 2008 20:18:07 +0000 (22:18 +0200)]
kconfig: always write out .config
Always write out .config also in the case where config
did not change.
This fixes: http://bugzilla.kernel.org/show_bug.cgi?id=11230
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Cc: Adrian Bunk <bunk@kernel.org>
zhangxiliang [Sat, 2 Aug 2008 02:56:37 +0000 (10:56 +0800)]
Re: [PATCH] Fix the kernel panic of audit_filter_task when key field is set
Sorry, I miss a blank between if and "(".
And I add "unlikely" to check "ctx" in audit_match_perm() and audit_match_filetype().
This is a new patch for it.
Signed-off-by: Zhang Xiliang <zhangxiliang@cn.fujitsu.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Paul Mundt [Mon, 4 Aug 2008 07:52:34 +0000 (16:52 +0900)]
sh: enable maple_keyb in dreamcast_defconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Mon, 4 Aug 2008 07:33:47 +0000 (16:33 +0900)]
SH2(A) cache update
Includes:
- SH2 (7619) Writeback support.
- SH2A cache handling fix.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 07:01:47 +0000 (16:01 +0900)]
nommu: Provide vmalloc_exec().
Now that SH has switched to vmalloc_exec() for PAGE_KERNEL_EXEC usage,
it's apparent that nommu has no vmalloc_exec() definition of its own.
Stub in the one from mm/vmalloc.c.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Takashi Yoshii [Mon, 4 Aug 2008 05:28:38 +0000 (14:28 +0900)]
add addrespace definition for sh2a.
Newfile: arch/sh/include/cpu-sh2a/cpu/addrspace.h
This file seems had be removed to use fallback (cpu-common/cpu/addrspace.h),
but, I'd like to add sh2a specific file here, because
1. the values defined there are not suitable for sh2a.
2. I don't think there is "common" definition for these values.
Values are chosen by consideration of followings...
P1 is 0. perhaps no question.
P2 is from hardware manual, which says no-cache area starts at
20000000.
It means that P? space size=
20000000.
P3 is P2+size since asm/ptrace.h uses P3 as a end of P2.
P4 is P3+size since asm/fixup.h uses P4 as a end of P3.
Signed-off-by: Takashi YOSHII <yoshii.takashi@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 05:18:53 +0000 (14:18 +0900)]
sh: Kill off ARCH_SUPPORTS_AOUT and remnants of a.out support.
SH never really supported a.out, so this was all just copied over blindly
from x86 way back when. As we don't reference linux/a.out.h anywhere in
the tree, these can now safely be killed off.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 05:17:13 +0000 (14:17 +0900)]
sh: define GENERIC_HARDIRQS_NO__DO_IRQ.
We haven't called in to __do_IRQ() in a long time, so it seems like a
reasonable time to switch this on by default.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 05:09:15 +0000 (14:09 +0900)]
sh: define GENERIC_LOCKBREAK.
Needed for fixing up the __raw_spin_is_contended() reference which
results in a build error.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 04:42:49 +0000 (13:42 +0900)]
sh: Save NUMA node data in vmcore for crash dumps.
Presently the NUMA node data isn't saved on kexec. This implements a
simple arch_crash_save_vmcoreinfo() for saving off the relevant data.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 04:34:29 +0000 (13:34 +0900)]
sh: module_alloc() should be using vmalloc_exec().
SH-X2 extended mode TLB allows for toggling of the exec bit, so make
sure we are using the right protection bits for module space there
also.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 04:32:04 +0000 (13:32 +0900)]
sh: Fix up __bug_table handling in module loader.
We should be calling in to the lib/bug.c module helpers, fix that up.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 03:53:55 +0000 (12:53 +0900)]
sh: Add documentation and integrate into docbook build.
This adds some preliminary docbook bits for SH, tying in to the few
interfaces that are exposed and that have adequate kerneldoc comments.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 03:51:06 +0000 (12:51 +0900)]
sh: Fix up broken kerneldoc comments.
These were completely unparseable, so fix them up.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Kumar Gala [Fri, 1 Aug 2008 16:44:11 +0000 (02:44 +1000)]
powerpc: Remove use of CONFIG_PPC_MERGE
Now that arch/ppc is gone and CONFIG_PPC_MERGE is always set, remove
the dead code associated with !CONFIG_PPC_MERGE from arch/powerpc
and include/asm-powerpc.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Tony Breeds [Fri, 1 Aug 2008 01:38:39 +0000 (11:38 +1000)]
powerpc: Force printing of 'total_memory' to unsigned long long
total_memory is a 'phys_addr_t', Which can be either 64 or 32 bits.
Force printing as unsigned long long to silence the warning.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Tony Breeds [Thu, 31 Jul 2008 03:51:42 +0000 (13:51 +1000)]
powerpc: Fix compiler warning in arch/powerpc/mm/mem.c
Explicitly cast to unsigned long long, rather than u64.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Stephen Rothwell [Fri, 1 Aug 2008 05:20:30 +0000 (15:20 +1000)]
powerpc: Move include files to arch/powerpc/include/asm
from include/asm-powerpc. This is the result of a
mkdir arch/powerpc/include/asm
git mv include/asm-powerpc/* arch/powerpc/include/asm
Followed by a few documentation/comment fixups and a couple of places
where <asm-powepc/...> was being used explicitly. Of the latter only
one was outside the arch code and it is a driver only built for powerpc.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mundt [Mon, 4 Aug 2008 01:58:24 +0000 (10:58 +0900)]
maple: Kill useless private_data pointer.
We can simply wrap in to the dev_set/get_drvdata(), there's no reason
to track an extra level of private data on top of the struct device.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Aug 2008 01:39:46 +0000 (10:39 +0900)]
maple: Clean up maple_driver_register/unregister routines.
These were completely inconsistent. Clean these up to take a maple_driver
pointer directly for consistency.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian McMenamin [Mon, 4 Aug 2008 01:09:03 +0000 (10:09 +0900)]
input: Clean up maple keyboard driver
Have a single probe function instead of a probe and a connect function.
Also tidy a comment.
Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Adrian McMenamin [Wed, 30 Jul 2008 19:31:38 +0000 (12:31 -0700)]
maple: allow removal and reinsertion of keyboard driver module
Allow the removal (and subsequent reinsertion) of the maple_keyb (maple
keyboard) driver by adding a working removal function.
Also tidy long lines.
Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Sun, 3 Aug 2008 23:11:03 +0000 (08:11 +0900)]
sh: /proc/asids depends on MMU.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Linus Torvalds [Sun, 3 Aug 2008 17:50:44 +0000 (10:50 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/tytso/ext4
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: remove write-only variables from ext4_ordered_write_end
ext4: unexport jbd2_journal_update_superblock
ext4: Cleanup whitespace and other miscellaneous style issues
ext4: improve ext4_fill_flex_info() a bit
ext4: Cleanup the block reservation code path
ext4: don't assume extents can't cross block groups when truncating
ext4: Fix lack of credits BUG() when deleting a badly fragmented inode
ext4: Fix ext4_ext_journal_restart()
ext4: fix ext4_da_write_begin error path
jbd2: don't abort if flushing file data failed
ext4: don't read inode block if the buffer has a write error
ext4: Don't allow lg prealloc list to be grow large.
ext4: Convert the usage of NR_CPUS to nr_cpu_ids.
ext4: Improve error handling in mballoc
ext4: lock block groups when initializing
ext4: sync up block and inode bitmap reading functions
ext4: Allow read/only mounts with corrupted block group checksums
ext4: Fix data corruption when writing to prealloc area
Linus Torvalds [Sun, 3 Aug 2008 17:39:02 +0000 (10:39 -0700)]
Merge branch 'for-linus' of /home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 5182/1: pxa: Fix pcm990 compilation
[ARM] Fix explicit asm(-arm)?/arch-foo references
[ARM] move include/asm-arm to arch/arm/include/asm
[ARM] Remove explicit dependency for misc.o from compressed/Makefile
[ARM] initrd: claim initrd memory exclusively
[ARM] pxa: add support for L2 outer cache on XScale3 (attempt 2)
[ARM] 5180/1: at91: Fix at91_nand -> atmel_nand rename fallout
[ARM] add Sascha Hauer as Freescale i.MX Maintainer
[ARM] i.MX: add missing clock functions exports
[ARM] i.MX: remove set_imx_fb_info() export
[ARM] mx1ads: make mmc platform data available for modules
[ARM] mx2: add missing Kconfig dependency
Huang Weiyi [Sun, 3 Aug 2008 14:18:51 +0000 (22:18 +0800)]
arch/sh/boards/mach-se/7343/irq.c: removed duplicated #include
Removed duplicated include <linux/irq.h> in
arch/sh/boards/mach-se/7343/irq.c.
Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Huang Weiyi [Sun, 3 Aug 2008 14:18:48 +0000 (22:18 +0800)]
arch/sh/boards/board-ap325rxa.c: removed duplicated #include
Removed duplicated include <linux/delay.h> in
arch/sh/boards/board-ap325rxa.c.
Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Guennadi Liakhovetski [Sat, 2 Aug 2008 23:02:35 +0000 (00:02 +0100)]
[ARM] 5182/1: pxa: Fix pcm990 compilation
Compiling pcm990 produces an error:
In file included from arch/arm/mach-pxa/pcm990-baseboard.c:25:
include/linux/ide.h:645: error: 'CONFIG_IDE_MAX_HWIFS' undeclared here (not in a function)
Fix it by removing unneeded header include.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Alexander Beregalov [Sat, 2 Aug 2008 23:03:57 +0000 (03:03 +0400)]
drivers/video/console/promcon.c: fix build error
drivers/video/console/promcon.c:158: error: implicit declaration of
function 'con_protect_unimap'
Introduced by commit
a29ccf6f823a84d89e1c7aaaf221cf7282022024
("embedded: fix vc_translate operator precedence").
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Cc: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Eric Sandeen [Sun, 3 Aug 2008 01:22:18 +0000 (21:22 -0400)]
ext4: remove write-only variables from ext4_ordered_write_end
The variables 'from' and 'to' are not used anywhere.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Acked-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Adrian Bunk [Sat, 2 Aug 2008 16:53:44 +0000 (19:53 +0300)]
sh/boards/Makefile typo fix
The following build error was caused by an obvious typo:
<-- snip -->
...
LD arch/sh/mm/built-in.o
make[2]: *** No rule to make target `arch/sh/boards/board-shmin..o', needed by `arch/sh/boards/built-in.o'. Stop.
<-- snip -->
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Russell King [Sat, 2 Aug 2008 21:33:18 +0000 (22:33 +0100)]
[ARM] Fix explicit asm(-arm)?/arch-foo references
No file should be explicitly referencing its own platform headers
by specifying an absolute include path. Fix these paths to use
standard <asm/arch/...> includes.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 2 Aug 2008 09:55:55 +0000 (10:55 +0100)]
[ARM] move include/asm-arm to arch/arm/include/asm
Move platform independent header files to arch/arm/include/asm, leaving
those in asm/arch* and asm/plat* alone.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Marc Zyngier [Sat, 2 Aug 2008 17:12:23 +0000 (19:12 +0200)]
Fix IHEX firmware generation/loading
Fix both the IHEX firmware generation (len field always null, and EOF
marker a byte too short) and loading (struct ihex_binrec needs to be
packed to reflect the on-disk structure).
Signed-off-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Linus Torvalds [Sat, 2 Aug 2008 16:14:49 +0000 (09:14 -0700)]
Merge git://git.infradead.org/users/dwmw2/random-2.6
* git://git.infradead.org/users/dwmw2/random-2.6:
[MTD] Fix !CONFIG_BLOCK compile for mtdsuper.c
firmware: silence __fw_modbuild and __fw_modinst 'Nothing to be done' messages
Linus Torvalds [Sat, 2 Aug 2008 16:14:23 +0000 (09:14 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc64: Do not clobber %g7 in setcontext() trap.
sparc64: Kill __show_regs().
sparc: Add __KERNEL__ ifdef protection to pt_regs helpers.
sparc64: Kill smp_report_regs().
sparc64: Kill VERBOSE_SHOWREGS code.
sparc64: Hook up trigger_all_cpu_backtrace().
sparc64: Make global reg dumping even more useful.
sparc: Ignore drivers/video/console/promcon_tbl.c conmakehash generated file
sparc64: FUTEX_OP_ANDN fix
sparc: merge of_platform_{32,64}.h
sparc64: Kill isa_bus_type.
sparc64: Fix global reg snapshotting on self-cpu.
OGAWA Hirofumi [Sat, 2 Aug 2008 04:59:37 +0000 (13:59 +0900)]
fat: Fix allow_utime option
FAT has to handle the newly introduced ATTR_TIMES_SET for allow_utime
option.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Miklos Szeredi [Fri, 1 Aug 2008 18:28:47 +0000 (20:28 +0200)]
mm: dont clear PG_uptodate on truncate/invalidate
Brian Wang reported that a FUSE filesystem exported through NFS could
return I/O errors on read. This was traced to splice_direct_to_actor()
returning a short or zero count when racing with page invalidation.
However this is not FUSE or NFSD specific, other filesystems (notably
NFS) also call invalidate_inode_pages2() to purge stale data from the
cache.
If this happens while such pages are sitting in a pipe buffer, then
splice(2) from the pipe can return zero, and read(2) from the pipe can
return ENODATA.
The zero return is especially bad, since it implies end-of-file or
disconnected pipe/socket, and is documented as such for splice. But
returning an error for read() is also nasty, when in fact there was no
error (data becoming stale is not an error).
The same problems can be triggered by "hole punching" with
madvise(MADV_REMOVE).
Fix this by not clearing the PG_uptodate flag on truncation and
invalidation.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Acked-by: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Karsten Keil [Sat, 2 Aug 2008 14:40:37 +0000 (16:40 +0200)]
Add DIP switch readout for HFC-4S IOB4ST
Also the HFC-4S IOB4ST has DIP switches and jumpers to configure
the port.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Karsten Keil [Sat, 2 Aug 2008 14:35:53 +0000 (16:35 +0200)]
Fix remaining big endian issue of hfcmulti
The driver was not so bad at big endian at all, only the optimised fifo
read/write functions need a fix, with this fix the driver works on
a pegasus PPC machine.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Karsten Keil [Wed, 30 Jul 2008 16:26:58 +0000 (18:26 +0200)]
mISDN cleanup user interface
The channelmap should have the same size on 32 and 64 bit systems
and should not depend on endianess.
Thanks to David Woodhouse for spotting this.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Karsten Keil [Tue, 29 Jul 2008 16:47:22 +0000 (18:47 +0200)]
mISDN fix main ISDN Makefile
Compile hardware directory independent from selecting
CAPI support.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Russell King [Sat, 2 Aug 2008 14:21:31 +0000 (15:21 +0100)]
[ARM] Remove explicit dependency for misc.o from compressed/Makefile
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Woodhouse [Fri, 1 Aug 2008 23:01:21 +0000 (00:01 +0100)]
[MTD] Fix !CONFIG_BLOCK compile for mtdsuper.c
As reported by Adrian Bunk, commit
d5686b444ff3f72808d2b3fbd58672a86cdf38e7
(switch mtd and dm-table to lookup_bdev()) causes the following compile
error with CONFIG_BLOCK=n:
CC drivers/mtd/mtdsuper.o
drivers/mtd/mtdsuper.c: In function `get_sb_mtd':
drivers/mtd/mtdsuper.c:184: error: implicit declaration of function 'lookup_bdev'
drivers/mtd/mtdsuper.c:184: warning: assignment makes pointer from integer without a cast
drivers/mtd/mtdsuper.c:197: error: implicit declaration of function 'bdput'
make[3]: *** [drivers/mtd/mtdsuper.o] Error 1
Fix it by putting the block device lookup inside #ifdef CONFIG_BLOCK
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
David Woodhouse [Fri, 1 Aug 2008 22:58:36 +0000 (23:58 +0100)]
firmware: silence __fw_modbuild and __fw_modinst 'Nothing to be done' messages
People don't like them and think they're errors.
Leave the __fw_install one though; when 'make firmware_install' does
nothing, it's best to have a 'Nothing to be done for...' message rather
than just doing nothing.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Adrian Bunk [Fri, 1 Aug 2008 22:13:44 +0000 (01:13 +0300)]
sh: fix LIBGCC
Commit
f15cbe6f1a4b4d9df59142fc8e4abb973302cf44
(sh: migrate to arch/sh/include/) moved KBUILD_CFLAGS
(which is used by LIBGCC) below LIBGCC, causing build
errors like the following:
<-- snip -->
...
LD .tmp_vmlinux1
arch/sh/kernel/built-in.o: In function `module_clk_recalc':
clock-sh4.c:(.text+0x80f0): undefined reference to `__udivsi3_i4i'
...
make[1]: *** [.tmp_vmlinux1] Error 1
<-- snip -->
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Aug 2008 22:14:09 +0000 (07:14 +0900)]
sh: Revert the location change of auto-generated asm/machtypes.h
This ended up causing build breakage on O= builds, as reported by Adrian:
<-- snip -->
...
CC init/main.o
In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/include/asm/irq.h:4,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/irq.h:23,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/include/asm/hardirq.h:5,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/hardirq.h:7,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/local.h:5,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/include/asm/local.h:4,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/module.h:19,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/init/main.c:13:
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/include/asm/machvec.h:15:27:
error: asm/machtypes.h: No such file or directory
make[2]: *** [init/main.o] Error 1
<-- snip -->
So we simply move machtypes.h back to its original place. asm-offsets.h is
still generated there regardless, until such a time that we find a better place
to stash auto-generated files.
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>