Daniel Ritz [Sun, 19 Nov 2006 06:19:34 +0000 (22:19 -0800)]
[PATCH] pcmcia: fix 'rmmod pcmcia' with unbound devices
Having unbound PCMCIA devices: doing a 'find /sys' after a 'rmmod pcmcia'
gives an oops because the pcmcia_device is not unregisterd from the driver
core.
fixes bugzilla #7481
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Pavol Gono <Palo.Gono@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Yoichi Yuasa [Fri, 17 Nov 2006 00:51:41 +0000 (11:51 +1100)]
[CRYPTO] api: Remove one too many semicolon
This patch has removed one too many semicolon in crypto.h.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Linus Torvalds [Sat, 18 Nov 2006 03:55:11 +0000 (19:55 -0800)]
Merge branch 'fixes4linus' of git://git./linux/kernel/git/jbglaw/vax-linux
* 'fixes4linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbglaw/vax-linux:
lkkbd: Remove my old snail-mail address
David Weinehall [Sat, 18 Nov 2006 02:58:58 +0000 (03:58 +0100)]
[PATCH] Update my CREDITS entry
I moved from Sweden to Finland 2.5 years ago, thought it might be time
to update my CREDITS entry (simply removing the address completely
seemed the sanest option).
Signed-off-by: David Weinehall <tao@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sat, 18 Nov 2006 03:31:09 +0000 (19:31 -0800)]
Revert "ACPI: created a dedicated workqueue for notify() execution"
This reverts commit
37605a6900f6b4d886d995751fcfeef88c4e462c.
Again.
This same bug has now been introduced twice: it was done earlier by
commit
b8d35192c55fb055792ff0641408eaaec7c88988, only to be reverted
last time in commit
72945b2b90a5554975b8f72673ab7139d232a121.
We must NOT try to queue up notify handlers to another thread than the
normal ACPI execution thread, because the notifications on some systems
seem to just keep on accumulating until we run out of memory and/or
threads.
Keeping events within the one deferred execution thread automatically
throttles the events properly.
At least the Compaq N620c will lock up completely on the first thermal
event without this patch reverted.
Cc: David Brownell <david-b@pacbell.net>
Cc: Len Brown <len.brown@intel.com>
Cc: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 17 Nov 2006 19:14:56 +0000 (11:14 -0800)]
x86: be more careful when walking back the frame pointer chain
When showing the stack backtrace, make sure that we never accept not
only an unchanging frame pointer, but also a frame pointer that moves
back down the stack frame. It must always grow up (toward older stack
frames).
I doubt this has triggered, but a subtly corrupt stack with extremely
unlucky contents could cause us to loop forever on a bogus endless frame
pointer chain.
This review was triggered by much worse problems happening in some of
the other stack unwinding code.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 17 Nov 2006 18:57:22 +0000 (19:57 +0100)]
[PATCH] lockdep: fix static keys in module-allocated percpu areas
lockdep got confused by certain locks in modules:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
Call Trace:
[<
ffffffff8026f40d>] dump_trace+0xaa/0x3f2
[<
ffffffff8026f78f>] show_trace+0x3a/0x60
[<
ffffffff8026f9d1>] dump_stack+0x15/0x17
[<
ffffffff802abfe8>] __lock_acquire+0x724/0x9bb
[<
ffffffff802ac52b>] lock_acquire+0x4d/0x67
[<
ffffffff80267139>] rt_spin_lock+0x3d/0x41
[<
ffffffff8839ed3f>] :ip_conntrack:__ip_ct_refresh_acct+0x131/0x174
[<
ffffffff883a1334>] :ip_conntrack:udp_packet+0xbf/0xcf
[<
ffffffff8839f9af>] :ip_conntrack:ip_conntrack_in+0x394/0x4a7
[<
ffffffff8023551f>] nf_iterate+0x41/0x7f
[<
ffffffff8025946a>] nf_hook_slow+0x64/0xd5
[<
ffffffff802369a2>] ip_rcv+0x24e/0x506
[...]
Steven Rostedt found the bug: static_obj() check did not take
PERCPU_ENOUGH_ROOM into account, so in-module DEFINE_PER_CPU-area locks
were triggering this message.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 17 Nov 2006 13:26:18 +0000 (14:26 +0100)]
[PATCH] i386/x86_64: ACPI cpu_idle_wait() fix
The scheduler on Andreas Friedrich's hyperthreading system stopped
working properly: the scheduler would never move tasks to another CPU!
The lask known working kernel was 2.6.8.
After a couple of attempts to corner the bug, the following smoking gun
was found:
BIOS reported wrong ACPI idfor the processor
CPU#1: set_cpus_allowed(), swapper:1, 3 -> 2
[<
c0103bbe>] show_trace_log_lvl+0x34/0x4a
[<
c0103ceb>] show_trace+0x2c/0x2e
[<
c01045f8>] dump_stack+0x2b/0x2d
[<
c0116a77>] set_cpus_allowed+0x52/0xec
[<
c0101d86>] cpu_idle_wait+0x2e/0x100
[<
c0259c57>] acpi_processor_power_exit+0x45/0x58
[<
c0259752>] acpi_processor_remove+0x46/0xea
[<
c025c6fb>] acpi_start_single_object+0x47/0x54
[<
c025cee5>] acpi_bus_register_driver+0xa4/0xd3
[<
c04ab2d7>] acpi_processor_init+0x57/0x77
[<
c01004d7>] init+0x146/0x2fd
[<
c0103a87>] kernel_thread_helper+0x7/0x10
a quick look at cpu_idle_wait() shows how broken that code is
on i386: it changes the init task's affinity map but never
restores it ...
and because all userspace tasks get forked by init, they all
inherited that single-CPU affinity mask. x86_64 cloned this
bug too.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Andreas Friedrich <andreas.friedrich@fujitsu-siemens.com>
Cc: Wolfgang Erig <Wolfgang.Erig@fujitsu-siemens.com>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 17 Nov 2006 04:57:49 +0000 (05:57 +0100)]
[PATCH] x86_64: stack unwinder crash fix
the new dwarf2 unwinder crashes while trying to dump the stack:
Leftover inexact backtrace:
Unable to handle kernel paging request at
ffffffff82800000 RIP:
[<
ffffffff8026cf26>] dump_trace+0x35b/0x3d2
PGD 203027 PUD 205027 PMD 0
Oops: 0000 [2] PREEMPT SMP
CPU 0
Modules linked in:
Pid: 30, comm: khelper Not tainted 2.6.19-rc6-rt1 #11
RIP: 0010:[<
ffffffff8026cf26>] [<
ffffffff8026cf26>] dump_trace+0x35b/0x3d2
RSP: 0000:
ffff81003fb9d848 EFLAGS:
00010006
RAX:
0000000000000000 RBX:
0000000000000000 RCX:
0000000000000000
RDX:
0000000000000000 RSI:
ffffffff805b3520 RDI:
0000000000000000
RBP:
ffffffff827ffff9 R08:
ffffffff80aad000 R09:
0000000000000005
R10:
ffffffff80aae000 R11:
ffffffff8037961b R12:
ffff81003fb9d858
R13:
0000000000000000 R14:
ffffffff80598460 R15:
ffffffff80ab1fc0
FS:
0000000000000000(0000) GS:
ffffffff806c4200(0000) knlGS:
0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0:
000000008005003b
CR2:
ffffffff82800000 CR3:
0000000000201000 CR4:
00000000000006e0
this crash happened because it did not sanitize the dwarf2 data it
got, and got an unaligned stack pointer - which happily walked past
the process stack (and eventually reached the end of kernel memory
and pagefaulted there) due to this naive iteration condition:
HANDLE_STACK (((long) stack & (THREAD_SIZE-1)) != 0);
note that i386 is alot more conservative when it comes to trusting
stack pointers:
static inline int valid_stack_ptr(struct thread_info *tinfo, void *p)
{
return p > (void *)tinfo &&
p < (void *)tinfo + THREAD_SIZE - 3;
}
but the x86_64 code did not take this bit of i386 code.
The fix is to align the stack pointer.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Andi Kleen <ak@suse.de>
Cc: Jan Beulich <jbeulich@novell.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jan-Benedict Glaw [Fri, 17 Nov 2006 09:32:04 +0000 (10:32 +0100)]
lkkbd: Remove my old snail-mail address
I moved to a different town and my old snail-mail address is invalid
now. Also, there's no need at all to have any address like that in
the sources, so remove it completely.
Signed-off-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
Linus Torvalds [Fri, 17 Nov 2006 06:18:28 +0000 (22:18 -0800)]
Fix generic fb_ddc i2c edid probe msg
Benh points out that the msgs[0].flags entry never got initialized, and
since it's an automatic stack allocation, it could have any random
value, which is bad.
Rewrite the initializer to explicitly initialize all fields of the small
i2c_msg structure array we generate. Just to keep it all obvious, let's
handle msgs[1].buf in the same initializer while we're at it, instead of
initializing that one separately later.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt [Fri, 17 Nov 2006 04:35:00 +0000 (15:35 +1100)]
[PATCH] Fix radeon DDC regression
When radeonfb was changed to use the new "generic" ddc, a bit of
code initializing the GPIO lines was lost, causing it to not work
if the firmware didn't configure them properly, which seems to
happen on some cards.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 17 Nov 2006 00:40:04 +0000 (16:40 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
aoe: Add forgotten NULL at end of attribute list in aoeblk.c
debugfs: check return value correctly
W1: ioremap balanced with iounmap
Linus Torvalds [Fri, 17 Nov 2006 00:39:46 +0000 (16:39 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: auerswald possible memleak fix
USB: ipaq: Add HTC Modem Support
USB: Fixed outdated usb_get_device_descriptor() documentation
usb-storage: Remove duplicated unusual_devs.h entries for Sony Ericsson P990i
USB: hid-core: Add quirk for new Apple keyboard/trackpad
USB Storage: unusual_devs.h entry for Sony Ericsson P990i
USB: correct keymapping on Powerbook built-in USB ISO keyboards
USB: OHCI: fix root-hub resume bug
USB: Fix UCR-61S2B unusual_dev entry
USB: ftdi driver pid for dmx-interfaces
USB: ftdi_sio: adds vendor/product id for a RFID construction kit
OHCI: disallow autostop when wakeup is not available
Dennis Stosberg [Mon, 13 Nov 2006 08:15:20 +0000 (09:15 +0100)]
aoe: Add forgotten NULL at end of attribute list in aoeblk.c
This caused the system to stall when the aoe module was loaded. The
error was introduced in commit
4ca5224f3ea4779054d96e885ca9b3980801ce13
Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Akinobu Mita [Thu, 19 Oct 2006 03:24:42 +0000 (12:24 +0900)]
debugfs: check return value correctly
The return value is stored in "*dentry", not in "dentry".
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Amol Lad [Thu, 5 Oct 2006 10:26:02 +0000 (14:26 +0400)]
W1: ioremap balanced with iounmap
ioremap must be balanced with iounmap in error path.
Please consider for 2.6.19.
Signed-off-by: Amol Lad <amol@verismonetworks.com>
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mariusz Kozlowski [Mon, 6 Nov 2006 23:31:51 +0000 (00:31 +0100)]
USB: auerswald possible memleak fix
fix possible memory leak in auerbuf_setup().
Regards,
Mariusz Kozlowski
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Wolfgang Muees <wolfgang@iksw-muees.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alex Sanks [Mon, 30 Oct 2006 00:38:31 +0000 (16:38 -0800)]
USB: ipaq: Add HTC Modem Support
Adds support for HTC Smart Phones in modem mode (as opposed to sync
mode). Loads and works with pppd on my T-Mobile SDA.
Signed-off-by: Alex Sanks <alex@sanks.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Laurent Pinchart [Tue, 7 Nov 2006 09:16:25 +0000 (10:16 +0100)]
USB: Fixed outdated usb_get_device_descriptor() documentation
usb_get_device_descriptor() used to convert several descriptor fields to host
CPU's byte order. Now that it doesn't convert them anymore, update the
documentation to reflect this.
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sergey Vlasov [Mon, 6 Nov 2006 13:33:07 +0000 (16:33 +0300)]
usb-storage: Remove duplicated unusual_devs.h entries for Sony Ericsson P990i
For some reason the unusual_devs.h entry for Sony Ericsson P990i had
three identical copies in a wrong place in the file in addition to the
correct entry.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Julien BLACHE [Sun, 12 Nov 2006 10:22:42 +0000 (11:22 +0100)]
USB: hid-core: Add quirk for new Apple keyboard/trackpad
The new Core2 Duo MacBook Pro have a new keyboard+trackpad device.
The following patch adds the needed HID quirk for the Fn key.
Signed-off-by: Julien BLACHE <jb@jblache.org>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jan Mate [Thu, 9 Nov 2006 03:58:04 +0000 (19:58 -0800)]
USB Storage: unusual_devs.h entry for Sony Ericsson P990i
USB Storage: this patch adds support for Sony Ericsson P990i
Signed-off-by: Jan Mate <mate@fiit.stuba.sk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Olaf Hering [Thu, 9 Nov 2006 03:58:07 +0000 (19:58 -0800)]
USB: correct keymapping on Powerbook built-in USB ISO keyboards
similar to the version in adbhid_input_register(): The '<>' key and the
'^°' key on a german keyboard is swapped. Provide correct keys to
userland, external USB keyboards will not work correctly when the
'badmap'/'goodmap' workarounds from xkeyboard-config are used.
It is expected that distributions drop the badmap/goodmap part from
keycodes/macintosh in the xkeyboard-config package.
This is probably 2.6.18.x material, if major distros settle on 2.6.18.
Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern [Tue, 24 Oct 2006 16:04:22 +0000 (12:04 -0400)]
USB: OHCI: fix root-hub resume bug
When a suspended OHCI controller sees a port's status change, it sets
both the Root-Hub-Status-Change and the Resume-Detect bits in the
Interrupt Status register. Processing both these bits, the driver
tries to resume the root hub twice!
This patch (as807) fixes the bug by ignoring RD if RHSC is set. It
also prints a slightly more informative log message when a
remote-wakeup event occurs.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Phil Dibowitz [Fri, 3 Nov 2006 07:14:10 +0000 (23:14 -0800)]
USB: Fix UCR-61S2B unusual_dev entry
Recently this entry's bcd scope was narrowed so as not to falsly apply
to bcd's other than 0x0110. But while it breaks those of a larger bcd,
it is still needed for those of a smaller bcd - so this changes the
lower bcd limit to 0x0000.
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Frank Sievertsen [Fri, 20 Oct 2006 07:43:53 +0000 (09:43 +0200)]
USB: ftdi driver pid for dmx-interfaces
Please add a usb pid to the ftdi_sio driver. The pid is used by dmx4all
dmx-interfaces (for stage lighting).
The interfaces are using the usb-id 0403:c850. I added the id to the driver
and it works perfectly. I added a patch for linux 2.6.18.1, too.
From: Frank Sievertsen <frank@sievertsen.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kjell Myksvoll [Sun, 22 Oct 2006 21:26:42 +0000 (23:26 +0200)]
USB: ftdi_sio: adds vendor/product id for a RFID construction kit
Adds the vendor and prodcut id for a RFID construction kit from the
Elektor Electronics magazine, september 2006.
From: Kjell Myksvoll <kmyksvo@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern [Tue, 14 Nov 2006 21:28:01 +0000 (16:28 -0500)]
OHCI: disallow autostop when wakeup is not available
This patch (as822) prevents the OHCI autostop mechanism from kicking in
if the root hub is not able or not allowed to issue wakeup requests.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ingo Molnar [Thu, 16 Nov 2006 10:49:16 +0000 (11:49 +0100)]
[PATCH] x86_64: fix CONFIG_CC_STACKPROTECTOR build bug
on x86_64, the CONFIG_CC_STACKPROTECTOR build fails if used in a
distcc setup that has "CC" defined to "distcc gcc":
gcc: gcc: linker input file unused because linking not done
gcc: gcc: linker input file unused because linking not done
gcc: gcc: linker input file unused because linking not done
this is because the gcc-x86_64-has-stack-protector.sh script
has a 2-parameters assumption. Fix this by passing $(CC) as
a single parameter.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Please-Use-Me-More: make randconfig
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Thu, 16 Nov 2006 09:22:03 +0000 (10:22 +0100)]
[PATCH] x86-64: Fix vsyscall.c compilation on UP
Broken by earlier patch by me.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 16 Nov 2006 20:22:52 +0000 (12:22 -0800)]
Merge branch 'for-linus' of /home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Remove OP_MAX_COUNTER
[ARM] Remove PM_LEGACY=y from selected ARM defconfigs
[ARM] 3857/2: pnx4008: add devices' registration
Linus Torvalds [Thu, 16 Nov 2006 19:48:01 +0000 (11:48 -0800)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] psi240i.c: fix an array overrun
[SCSI] gdth: Fix && typos
[SCSI] iscsi class: update version
[SCSI] iscsi_tcp: fix xmittask oops
[SCSI] iscsi: add newlines to debug messages
[SCSI] iscsi: always release crypto
[SCSI] sg: fix incorrect last scatg length
[SCSI] 3ware 9000 add support for 9650SE
[SCSI] aic94xx SCSI timeout fix: SMP retry fix.
[SCSI] aic94xx SCSI timeout fix
Linus Torvalds [Thu, 16 Nov 2006 19:45:23 +0000 (11:45 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[TG3]: Disable TSO on 5906 if CLKREQ is enabled.
[TCP]: Fix up sysctl_tcp_mem initialization.
[NETFILTER]: ip6_tables: use correct nexthdr value in ipv6_find_hdr()
[NETFILTER]: ip6_tables: fixed conflicted optname for getsockopt
[NETFILTER]: Use pskb_trim in {ip,ip6,nfnetlink}_queue
[NETFILTER]: nfnetlink_log: fix byteorder of NFULA_SEQ_GLOBAL
[TG3]: Increase 5906 firmware poll time.
Linus Torvalds [Thu, 16 Nov 2006 19:44:38 +0000 (11:44 -0800)]
Merge branch 'release' of /linux/kernel/git/aegl/linux-2.6
* 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] a fix towards allmodconfig build
[IA64] use generic_handle_irq()
[IA64] typename -> name conversion
[IA64] irqs: use `name' not `typename'
[IA64] bte_unaligned_copy() transfers one extra cache line.
Tejun Heo [Thu, 16 Nov 2006 09:19:31 +0000 (01:19 -0800)]
[PATCH] scsi: clear garbage after CDBs on SG_IO
ATAPI devices transfer fixed number of bytes for CDBs (12 or 16). Some
ATAPI devices choke when shorter CDB is used and the left bytes contain
garbage. Block SG_IO cleared left bytes but SCSI SG_IO didn't. This patch
makes SCSI SG_IO clear it and simplify CDB clearing in block SG_IO.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Mathieu Fluhr <mfluhr@nero.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Douglas Gilbert <dougg@torque.net>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
Cc: <stable@kernel.org>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Michael Halcrow [Thu, 16 Nov 2006 09:19:30 +0000 (01:19 -0800)]
[PATCH] eCryptfs: CIFS nlink fixes
When CIFS is the lower filesystem, the old lower dentry needs to be explicitly
dropped from inside eCryptfs to force a revalidate. In addition, when CIFS is
the lower filesystem, the inode attributes need to be copied back up from the
lower inode to the eCryptfs inode on an eCryptfs revalidate.
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OGAWA Hirofumi [Thu, 16 Nov 2006 09:19:29 +0000 (01:19 -0800)]
[PATCH] Fix strange size check in __get_vm_area_node()
Recently, __get_vm_area_node() was changed like following
if (unlikely(!area))
return NULL;
- if (unlikely(!size)) {
- kfree (area);
+ if (unlikely(!size))
return NULL;
- }
It is leaking `area', also original code seems strange already.
Probably, we wanted to do this patch.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OGAWA Hirofumi [Thu, 16 Nov 2006 09:19:28 +0000 (01:19 -0800)]
[PATCH] fat: add fat_getattr()
This adds fat_getattr() for setting stat->blksize. (FAT uses the size
of cluster for proper I/O)
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexey Dobriyan [Thu, 16 Nov 2006 09:19:28 +0000 (01:19 -0800)]
[PATCH] Don't give bad kprobes example aka ") < 0))" typo
Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Howells [Thu, 16 Nov 2006 09:19:27 +0000 (01:19 -0800)]
[PATCH] AFS: Amend the AFS configuration options
Amend the text of AFS configuration options.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Akinobu Mita [Thu, 16 Nov 2006 09:19:25 +0000 (01:19 -0800)]
[PATCH] dell_rbu: fix error check
platform_device_register_simple() returns error code as pointer when it
fails. The return value should be checked by IS_ERR().
Cc: Abhay Salunke <abhay_salunke@dell.com>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Phillip Susi [Thu, 16 Nov 2006 09:19:23 +0000 (01:19 -0800)]
[PATCH] Update udf documentation to reflect current state of read/write support
Change Documentation/filesystems/udf.txt from saying that read/write mounts
on cd media are not supported to instead state the current level of
support. Specifically that it works fine on dvd+rw media and can be made
to work on cd-rw media via the pktcdvd device.
Cc: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Eric Sandeen [Thu, 16 Nov 2006 09:19:22 +0000 (01:19 -0800)]
[PATCH] hfs_fill_super returns success even if no root inode
http://kernelfun.blogspot.com/2006/11/mokb-14-11-2006-linux-26x-selinux.html
mount that image...
fs: filesystem was not cleanly unmounted, running fsck.hfs is recommended. mounting read-only.
hfs: get root inode failed.
BUG: unable to handle kernel NULL pointer dereference at virtual address
00000018
printing eip
...
EIP is at superblock_doinit+0x21/0x767
...
[] selinux_sb_kern_mount+0xc/0x4b
[] vfs_kern_mount+0x99/0xf6
[] do_kern_mount+0x2d/0x3e
[] do_mount+0x5fa/0x66d
[] sys_mount+0x77/0xae
[] syscall_call+0x7/0xb
DWARF2 unwinder stuck at syscall_call+0x7/0xb
hfs_fill_super() returns success even if
root_inode = hfs_iget(sb, &fd.search_key->cat, &rec);
or
sb->s_root = d_alloc_root(root_inode);
fails. This superblock finds its way to superblock_doinit() which does:
struct dentry *root = sb->s_root;
struct inode *inode = root->d_inode;
and boom. Need to make sure the error cases return an error, I think.
[akpm@osdl.org: return -ENOMEM on oom]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arnaud Giersch [Thu, 16 Nov 2006 09:19:21 +0000 (01:19 -0800)]
[PATCH] parport: fix compilation failure
Fix compilation failure.
Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Bryan O'Sullivan [Thu, 16 Nov 2006 09:19:19 +0000 (01:19 -0800)]
[PATCH] IB/ipath - fix driver build for platforms with PCI, but not HT
The PCI Express and Hypertransport chip-specific source files should only
be built when the kernel has the capability of actually compiling them.
This fixes the driver build on, for example, ia64.
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Olaf Hering [Thu, 16 Nov 2006 09:19:17 +0000 (01:19 -0800)]
[PATCH] set default video mode on PowerBook Wallstreet
Finally add the third PowerBook Wallstreet 233MHz model to the list of
known display resolutions.
Without this change, a 640x480 video mode is used. A workaround so far was
to boot with 'video=atyfb:vmode:14'
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: Solomon Peachy <pizza@shaftnet.org>
Cc: James Simmons <jsimmons@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Michael Halcrow [Thu, 16 Nov 2006 09:19:16 +0000 (01:19 -0800)]
[PATCH] eCryptfs: dput() lower d_parent on rename
On rename, for both the old and new lower dentry objects, eCryptfs is
missing a dput on the lower parent directory dentry. This patch will
prevent the BUG() at fs/dcache.c:613 from being hit after renaming a file
inside eCryptfs and then doing a umount on the lower filesystem.
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Vitaly Wool [Thu, 16 Nov 2006 09:19:14 +0000 (01:19 -0800)]
[PATCH] pnx4008:fix NULL dereference in rgbfb
Fix possible NULL dereference in pnxrgbfb.
Signed-off-by: Vitaly Wool <vwool@ru.mvista.com>
Cc: James Simmons <jsimmons@infradead.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Vitaly Wool [Thu, 16 Nov 2006 09:19:11 +0000 (01:19 -0800)]
[PATCH] pnx4008: rename driver
Make the drivers' names less generic to avoid possible confusion in future,
as was requested by Russell King.
Signed-off-by: Vitaly Wool <vwool@ru.mvista.com>
Acked-by: James Simmons <jsimmons@infradead.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Zhang, Yanmin [Thu, 16 Nov 2006 09:19:10 +0000 (01:19 -0800)]
[PATCH] some irq_chip variables point to NULL
I got an oops when booting 2.6.19-rc5-mm1 on my ia64 machine.
Below is the log.
Oops
11012296146944 [1]
Modules linked in: binfmt_misc dm_mirror dm_multipath dm_mod thermal processor f
an container button sg eepro100 e100 mii
Pid: 0, CPU 0, comm: swapper
psr :
0000121008022038 ifs :
800000000000040b ip : [<
a0000001000e1411>] Not
tainted
ip is at __do_IRQ+0x371/0x3e0
unat:
0000000000000000 pfs :
000000000000040b rsc :
0000000000000003
rnat:
656960155aa56aa5 bsps:
a00000010058b890 pr :
656960155aa55a65
ldrs:
0000000000000000 ccv :
0000000000000000 fpsr:
0009804c0270033f
csd :
0000000000000000 ssd :
0000000000000000
b0 :
a0000001000e1390 b6 :
a0000001005beac0 b7 :
e00000007f01aa00
f6 :
000000000000000000000 f7 :
0ffe69090000000000000
f8 :
1000a9090000000000000 f9 :
0ffff8000000000000000
f10 :
1000a908ffffff6f70000 f11 :
1003e0000000000000909
r1 :
a000000100fbbff0 r2 :
0000000000010002 r3 :
0000000000010001
r8 :
fffffffffffbffff r9 :
a000000100bd8060 r10 :
a000000100dd83b8
r11 :
fffffffffffeffff r12 :
a000000100bcbbb0 r13 :
a000000100bc4000
r14 :
0000000000010000 r15 :
0000000000010000 r16 :
a000000100c01aa8
r17 :
a000000100d2c350 r18 :
0000000000000000 r19 :
a000000100d2c300
r20 :
a000000100c01a88 r21 :
0000000080010100 r22 :
a000000100c01ac0
r23 :
a0000001000108e0 r24 :
e000000477980004 r25 :
0000000000000000
r26 :
0000000000000000 r27 :
e00000000913400c r28 :
e0000004799ee51c
r29 :
e0000004778b87f0 r30 :
a000000100d2c300 r31 :
a00000010005c7e0
Call Trace:
[<
a000000100014600>] show_stack+0x40/0xa0
sp=
a000000100bcb760 bsp=
a000000100bc4f40
[<
a000000100014f00>] show_regs+0x840/0x880
sp=
a000000100bcb930 bsp=
a000000100bc4ee8
[<
a000000100037fb0>] die+0x250/0x320
sp=
a000000100bcb930 bsp=
a000000100bc4ea0
[<
a00000010005e5f0>] ia64_do_page_fault+0x8d0/0xa20
sp=
a000000100bcb950 bsp=
a000000100bc4e50
[<
a00000010000caa0>] ia64_leave_kernel+0x0/0x290
sp=
a000000100bcb9e0 bsp=
a000000100bc4e50
[<
a0000001000e1410>] __do_IRQ+0x370/0x3e0
sp=
a000000100bcbbb0 bsp=
a000000100bc4df0
[<
a000000100011f50>] ia64_handle_irq+0x170/0x220
sp=
a000000100bcbbb0 bsp=
a000000100bc4dc0
[<
a00000010000caa0>] ia64_leave_kernel+0x0/0x290
sp=
a000000100bcbbb0 bsp=
a000000100bc4dc0
[<
a000000100012390>] ia64_pal_call_static+0x90/0xc0
sp=
a000000100bcbd80 bsp=
a000000100bc4d78
[<
a000000100015630>] default_idle+0x90/0x160
sp=
a000000100bcbd80 bsp=
a000000100bc4d58
[<
a000000100014290>] cpu_idle+0x1f0/0x440
sp=
a000000100bcbe20 bsp=
a000000100bc4d18
[<
a000000100009980>] rest_init+0xc0/0xe0
sp=
a000000100bcbe20 bsp=
a000000100bc4d00
[<
a0000001009f8ea0>] start_kernel+0x6a0/0x6c0
sp=
a000000100bcbe20 bsp=
a000000100bc4ca0
[<
a0000001000089f0>] __end_ivt_text+0x6d0/0x6f0
sp=
a000000100bcbe30 bsp=
a000000100bc4c00
<0>Kernel panic - not syncing: Aiee, killing interrupt handler!
The root cause is that some irq_chip variables, especially ia64_msi_chip,
initiate their memeber end to point to NULL. __do_IRQ doesn't check
if irq_chip->end is null and just calls it after processing the interrupt.
As irq_chip->end is called at many places, so I fix it by reinitiating
irq_chip->end to dummy_irq_chip.end, e.g., a noop function.
Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Zhang, Yanmin [Thu, 16 Nov 2006 09:19:08 +0000 (01:19 -0800)]
[PATCH] ipmi: use platform_device_add() instead of platform_device_register() to register device allocated dynamically
I got below warning when running 2.6.19-rc5-mm1 on my ia64 machine.
WARNING at lib/kobject.c:172 kobject_init()
Call Trace:
[<
a0000001000137c0>] show_stack+0x40/0xa0
sp=
e0000002ff9f7bc0 bsp=
e0000002ff9f0d10
[<
a000000100013850>] dump_stack+0x30/0x60
sp=
e0000002ff9f7d90 bsp=
e0000002ff9f0cf8
[<
a000000100407bb0>] kobject_init+0x90/0x160
sp=
e0000002ff9f7d90 bsp=
e0000002ff9f0cd0
[<
a0000001005ae080>] device_initialize+0x40/0x1c0
sp=
e0000002ff9f7da0 bsp=
e0000002ff9f0cb0
[<
a0000001005b88c0>] platform_device_register+0x20/0x60
sp=
e0000002ff9f7dd0 bsp=
e0000002ff9f0c90
[<
a000000100592560>] try_smi_init+0xbc0/0x11e0
sp=
e0000002ff9f7dd0 bsp=
e0000002ff9f0c50
[<
a000000100594900>] init_ipmi_si+0xaa0/0x12e0
sp=
e0000002ff9f7de0 bsp=
e0000002ff9f0bd8
[<
a000000100009910>] init+0x350/0x780
sp=
e0000002ff9f7e00 bsp=
e0000002ff9f0ba8
[<
a000000100011d30>] kernel_thread_helper+0x30/0x60
sp=
e0000002ff9f7e30 bsp=
e0000002ff9f0b80
[<
a0000001000090c0>] start_kernel_thread+0x20/0x40
sp=
e0000002ff9f7e30 bsp=
e0000002ff9f0b80
WARNING at lib/kobject.c:172 kobject_init()
Call Trace:
[<
a0000001000137c0>] show_stack+0x40/0xa0
sp=
e0000002ff9f7b40 bsp=
e0000002ff9f0db0
[<
a000000100013850>] dump_stack+0x30/0x60
sp=
e0000002ff9f7d10 bsp=
e0000002ff9f0d98
[<
a000000100407bb0>] kobject_init+0x90/0x160
sp=
e0000002ff9f7d10 bsp=
e0000002ff9f0d70
[<
a0000001005ae080>] device_initialize+0x40/0x1c0
sp=
e0000002ff9f7d20 bsp=
e0000002ff9f0d50
[<
a0000001005b88c0>] platform_device_register+0x20/0x60
sp=
e0000002ff9f7d50 bsp=
e0000002ff9f0d30
[<
a00000010058ac00>] ipmi_register_smi+0xcc0/0x18e0
sp=
e0000002ff9f7d50 bsp=
e0000002ff9f0c90
[<
a000000100592600>] try_smi_init+0xc60/0x11e0
sp=
e0000002ff9f7dd0 bsp=
e0000002ff9f0c50
[<
a000000100594900>] init_ipmi_si+0xaa0/0x12e0
sp=
e0000002ff9f7de0 bsp=
e0000002ff9f0bd8
[<
a000000100009910>] init+0x350/0x780
sp=
e0000002ff9f7e00 bsp=
e0000002ff9f0ba8
[<
a000000100011d30>] kernel_thread_helper+0x30/0x60
sp=
e0000002ff9f7e30 bsp=
e0000002ff9f0b80
[<
a0000001000090c0>] start_kernel_thread+0x20/0x40
sp=
e0000002ff9f7e30 bsp=
e0000002ff9f0b80
The root cause is the device struct is initialized twice.
If the device is allocated dynamically by platform_device_alloc,
platform_device_alloc will initialize struct device, then,
platform_device_add should be used to register the device.
The difference between platform_device_register and platform_device_add is
platform_device_register will initiate the device while platform_device_add
won't.
Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Cc: Corey Minyard <minyard@acm.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Luck, Tony [Thu, 16 Nov 2006 08:43:12 +0000 (00:43 -0800)]
[IA64] a fix towards allmodconfig build
The HP_SIMSCSI driver can't be built as a module (unhealthy dependencies on
things that shouldn't really be exported).
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Ingo Molnar [Thu, 16 Nov 2006 08:43:07 +0000 (00:43 -0800)]
[IA64] use generic_handle_irq()
Use generic_handle_irq() to handle mixed-type irq handling.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Ingo Molnar [Thu, 16 Nov 2006 08:43:02 +0000 (00:43 -0800)]
[IA64] typename -> name conversion
convert irq chip typename -> name.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Andrew Morton [Thu, 16 Nov 2006 08:42:58 +0000 (00:42 -0800)]
[IA64] irqs: use `name' not `typename'
`typename' is going away and is usually uninitialised anwyay.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Michael Chan [Thu, 16 Nov 2006 05:14:42 +0000 (21:14 -0800)]
[TG3]: Disable TSO on 5906 if CLKREQ is enabled.
Due to hardware errata, TSO must be disabled if the PCI Express clock
request is enabled on 5906. The chip may hang when transmitting TSO
frames if CLKREQ is enabled.
Update version to 3.69.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
John Heffner [Wed, 15 Nov 2006 04:25:17 +0000 (20:25 -0800)]
[TCP]: Fix up sysctl_tcp_mem initialization.
Fix up tcp_mem initial settings to take into account the size of the
hash entries (different on SMP and non-SMP systems).
Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Wed, 15 Nov 2006 03:49:13 +0000 (19:49 -0800)]
[NETFILTER]: ip6_tables: use correct nexthdr value in ipv6_find_hdr()
nexthdr is NEXTHDR_FRAGMENT, the nexthdr value from the fragment header
is hp->nexthdr.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Yasuyuki Kozakai [Wed, 15 Nov 2006 03:48:48 +0000 (19:48 -0800)]
[NETFILTER]: ip6_tables: fixed conflicted optname for getsockopt
66 and 67 for getsockopt on IPv6 socket is doubly used for IPv6 Advanced
API and ip6tables. This moves numbers for ip6tables to 68 and 69.
This also kills XT_SO_* because {ip,ip6,arp}_tables doesn't have so much
common numbers now.
The old userland tools keep to behave as ever, because old kernel always
calls functions of IPv6 Advanced API for their numbers.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Wed, 15 Nov 2006 03:48:09 +0000 (19:48 -0800)]
[NETFILTER]: Use pskb_trim in {ip,ip6,nfnetlink}_queue
Based on patch by James D. Nurmi:
I've got some code very dependant on nfnetlink_queue, and turned up a
large number of warns coming from skb_trim. While it's quite possibly
my code, having not seen it on older kernels made me a bit suspect.
Anyhow, based on some googling I turned up this thread:
http://lkml.org/lkml/2006/8/13/56
And believe the issue to be related, so attached is a small patch to
the kernel -- not sure if this is completely correct, but for anyone
else hitting the WARN_ON(1) in skbuff.h, it might be helpful..
Signed-off-by: James D. Nurmi <jdnurmi@gmail.com>
Ported to ip6_queue and nfnetlink_queue and added return value
checks.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Wed, 15 Nov 2006 03:47:09 +0000 (19:47 -0800)]
[NETFILTER]: nfnetlink_log: fix byteorder of NFULA_SEQ_GLOBAL
NFULA_SEQ_GLOBAL should be in network byteorder.
Spotted by Al Viro.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Gary Zambrano [Wed, 15 Nov 2006 00:34:00 +0000 (16:34 -0800)]
[TG3]: Increase 5906 firmware poll time.
Newer 5906 bootcode needs about 7ms to finish resetting so the poll
firmware loop was changed to maximum 20ms.
Signed-off-by: Gary Zambrano <zambrano@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Thu, 16 Nov 2006 04:03:40 +0000 (20:03 -0800)]
Linux 2.6.19-rc6
Getting there. Hopefully the MSI and other interrupt problems are all
solved now.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt [Thu, 16 Nov 2006 03:00:57 +0000 (14:00 +1100)]
[PATCH] powerpc: windfarm shall request it's sub modules
The windfarm code, in it's current incarnation, uses request_module() to
load the various submodules it needs for a given platform so that only
the main platform control module needs to be modprobed. However, it was
missing various bits. This fixes it. In the future, we'll use some
hotplug mecanisms to try to get all of this auto-loaded on the platforms
where it matters but that isn't ready yet.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Rothwell [Mon, 13 Nov 2006 03:52:42 +0000 (14:52 +1100)]
[POWERPC] Wire up sys_move_pages
All the infrastructure is already in place for this, so we only need
to allocate a syscall number and hook it up.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Stephen Rothwell [Mon, 13 Nov 2006 03:51:46 +0000 (14:51 +1100)]
[POWERPC] Add the thread_siblings files to sysfs
This adds the /sys/devices/system/cpu/*/topology/thread_siblings
files on powerpc. These files are already available on other
architectures.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Robin Holt [Wed, 15 Nov 2006 02:50:59 +0000 (20:50 -0600)]
[IA64] bte_unaligned_copy() transfers one extra cache line.
When called to do a transfer that has a start offset within the cache
line which is uneven between source and destination and a length which
terminates the source of the copy exactly on a cache line, one extra
line gets copied into a temporary buffer. This is normally not an issue
since the buffer is a kernel buffer and only the requested information
gets copied into the user buffer.
The problem arises when the source ends at the very last physical page
of memory. That last cache line does not exist and results in the SHUB
chip raising an MCA.
Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Dean Nelson <dcn@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Eric W. Biederman [Tue, 14 Nov 2006 17:52:12 +0000 (10:52 -0700)]
[PATCH] Use delayed disable mode of ioapic edge triggered interrupts
Komuro reports that ISA interrupts do not work after a disable_irq(),
causing some PCMCIA drivers to not work, with messages like
eth0: Asix AX88190: io 0x300, irq 3, hw_addr xx:xx:xx:xx:xx:xx
eth0: found link beat
eth0: autonegotiation complete: 100baseT-FD selected
eth0: interrupt(s) dropped!
eth0: interrupt(s) dropped!
eth0: interrupt(s) dropped!
...
Linus Torvalds <torvalds@osdl.org> said:
"Now, edge-triggered interrupts are a _lot_ harder to mask, because the
Intel APIC is an unbelievable piece of sh*t, and has the edge-detect logic
_before_ the mask logic, so if a edge happens _while_ the device is
masked, you'll never ever see the edge ever again (unmasking will not
cause a new edge, so you simply lost the interrupt).
So when you "mask" an edge-triggered IRQ, you can't really mask it at all,
because if you did that, you'd lose it forever if the IRQ comes in while
you masked it. Instead, we're supposed to leave it active, and set a flag,
and IF the IRQ comes in, we just remember it, and mask it at that point
instead, and then on unmasking, we have to replay it by sending a
self-IPI."
This trivial patch solves the problem.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Ingo Molnar <mingo@redhat.com>
Acked-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Takashi Iwai [Fri, 10 Nov 2006 11:08:37 +0000 (12:08 +0100)]
[PATCH] ALSA: hda-intel - Disable MSI support by default
Disable MSI support on HD-audio driver as default since there are too
many broken devices.
The module option is changed from disable_msi to enable_msi, too. For
turning MSI support on, pass enable_msi=1, instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jiri Slaby [Tue, 14 Nov 2006 23:30:17 +0000 (00:30 +0100)]
[PATCH] Char: isicom, fix close bug
port is dereferenced even if it is NULL. Dereference it _after_ the
check if (!port)... Thanks Eric <ef87@yahoo.com> for reporting this.
This fixes
http://bugzilla.kernel.org/show_bug.cgi?id=7527
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Tue, 14 Nov 2006 23:23:17 +0000 (15:23 -0800)]
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
[PATCH] x86-64: Fix race in exit_idle
[PATCH] x86-64: Fix vgetcpu when CONFIG_HOTPLUG_CPU is disabled
[PATCH] x86: Add acpi_user_timer_override option for Asus boards
[PATCH] x86-64: setup saved_max_pfn correctly (kdump)
[PATCH] x86-64: Handle reserve_bootmem_generic beyond end_pfn
[PATCH] x86-64: shorten the x86_64 boot setup GDT to what the comment says
[PATCH] x86-64: Fix PTRACE_[SG]ET_THREAD_AREA regression with ia32 emulation.
[PATCH] x86-64: Fix partial page check to ensure unusable memory is not being marked usable.
Revert "[PATCH] MMCONFIG and new Intel motherboards"
Linus Torvalds [Tue, 14 Nov 2006 23:20:51 +0000 (15:20 -0800)]
Revert "[PATCH] fix Data Acess error in dup_fd"
This reverts commit
0130b0b32ee53dc7add773fcea984f6a26ef1da3.
Sergey Vlasov points out (and Vadim Lobanov concurs) that the bug it was
supposed to fix must be some unrelated memory corruption, and the "fix"
actually causes more problems:
"However, the new code does not look safe in all cases. If some other
task has opened more files while dup_fd() released oldf->file_lock, the
new code will update open_files to the new larger value. But newf was
allocated with the old smaller value of open_files, therefore subsequent
accesses to newf may try to write into unallocated memory."
so revert it.
Cc: Sharyathi Nagesh <sharyath@in.ibm.com>
Cc: Sergey Vlasov <vsu@altlinux.ru>
Cc: Vadim Lobanov <vlobanov@speakeasy.net>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Tue, 14 Nov 2006 23:15:31 +0000 (15:15 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
libata: fix double-completion on error
[PATCH] pata_artop: fix "& (1 >>" typo
[PATCH] hpt37x: Check the enablebits
Hugh Dickins [Tue, 14 Nov 2006 13:43:38 +0000 (13:43 +0000)]
[PATCH] hugetlb: fix error return for brk() entering a hugepage region
Commit
cb07c9a1864a8eac9f3123e428100d5b2a16e65a causes the wrong return
value. is_hugepage_only_range() is a boolean, so we should return
-EINVAL rather than 1.
Also - we can use "mm" instead of looking up "current->mm" again.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Tue, 14 Nov 2006 11:36:45 +0000 (12:36 +0100)]
[PATCH] cpqarray: fix iostat
cpqarray needs to call disk_stat_add() for iostat to work.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Tue, 14 Nov 2006 11:36:03 +0000 (12:36 +0100)]
[PATCH] cciss: fix iostat
cciss needs to call disk_stat_add() for iostat to work.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Brian King [Mon, 13 Nov 2006 22:32:36 +0000 (16:32 -0600)]
[PATCH] libata: Convert from module_init to subsys_initcall
When building a monolithic kernel, the load order of drivers does not
work for SAS libata users, resulting in a kernel oops.
Convert libata to use subsys_initcall instead of module_init, which
ensures that libata gets loaded before any LLDD.
This is the same thing that scsi core does to solve the problem. The
load order problem was observed on ipr SAS adapters and should exist for
other SAS users as well.
Signed-off-by: Brian King <brking@us.ibm.com>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Gibson [Tue, 14 Nov 2006 10:03:38 +0000 (02:03 -0800)]
[PATCH] hugetlb: check for brk() entering a hugepage region
Unlike mmap(), the codepath for brk() creates a vma without first checking
that it doesn't touch a region exclusively reserved for hugepages. On
powerpc, this can allow it to create a normal page vma in a hugepage
region, causing oopses and other badness.
Add a test to prevent this. With this patch, brk() will simply fail if it
attempts to move the break into a hugepage reserved region.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Cc: Adam Litke <agl@us.ibm.com>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Hugh Dickins [Tue, 14 Nov 2006 10:03:32 +0000 (02:03 -0800)]
[PATCH] hugetlb: prepare_hugepage_range check offset too
(David:)
If hugetlbfs_file_mmap() returns a failure to do_mmap_pgoff() - for example,
because the given file offset is not hugepage aligned - then do_mmap_pgoff
will go to the unmap_and_free_vma backout path.
But at this stage the vma hasn't been marked as hugepage, and the backout path
will call unmap_region() on it. That will eventually call down to the
non-hugepage version of unmap_page_range(). On ppc64, at least, that will
cause serious problems if there are any existing hugepage pagetable entries in
the vicinity - for example if there are any other hugepage mappings under the
same PUD. unmap_page_range() will trigger a bad_pud() on the hugepage pud
entries. I suspect this will also cause bad problems on ia64, though I don't
have a machine to test it on.
(Hugh:)
prepare_hugepage_range() should check file offset alignment when it checks
virtual address and length, to stop MAP_FIXED with a bad huge offset from
unmapping before it fails further down. PowerPC should apply the same
prepare_hugepage_range alignment checks as ia64 and all the others do.
Then none of the alignment checks in hugetlbfs_file_mmap are required (nor
is the check for too small a mapping); but even so, move up setting of
VM_HUGETLB and add a comment to warn of what David Gibson discovered - if
hugetlbfs_file_mmap fails before setting it, do_mmap_pgoff's unmap_region
when unwinding from error will go the non-huge way, which may cause bad
behaviour on architectures (powerpc and ia64) which segregate their huge
mappings into a separate region of the address space.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Adam Litke <agl@us.ibm.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Brownell [Tue, 14 Nov 2006 10:03:31 +0000 (02:03 -0800)]
[PATCH] usb: MAINTAINERS updates
Looks like I still take care of the USB gadget/peripheral framework.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Nathan Lynch [Tue, 14 Nov 2006 10:03:30 +0000 (02:03 -0800)]
[PATCH] nvidiafb: fix unreachable code in nv10GetConfig
Fix binary/logical operator typo which leads to unreachable code. Noticed
while looking at other issues; I don't have the relevant hardware to test
this.
Signed-off-by: Nathan Lynch <ntl@pobox.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Acked-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ian Kent [Tue, 14 Nov 2006 10:03:29 +0000 (02:03 -0800)]
[PATCH] autofs4: panic after mount fail
Resolve the panic on failed mount of an autofs filesystem originally
reported by Mao Bibo.
It addresses two issues that happen after the mount fail. The first a NULL
pointer reference to a field (pipe) in the autofs superblock info structure
and second the lack of super block cleanup by the autofs and autofs4
modules.
Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Nicolas Kaiser [Tue, 14 Nov 2006 10:03:28 +0000 (02:03 -0800)]
[PATCH] drivers/ide: stray bracket
Stray bracket in debug code.
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 14 Nov 2006 10:03:26 +0000 (02:03 -0800)]
[PATCH] revert "PCI: quirk for IBM Dock II cardbus controllers"
Fix http://bugzilla.kernel.org/show_bug.cgi?id=7264
We need to target this quirk a little more tightly, using the T20 DMI string.
Cc: Pavel Kysilka <goldenfish@bsys.cz>
Acked-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Daniel Ritz [Tue, 14 Nov 2006 10:03:25 +0000 (02:03 -0800)]
[PATCH] fix via586 irq routing for pirq 5
Fix interrupt routing for via 586 bridges. pirq can be 5 which needs to be
mapped to INTD. But currently the access functions can handle only pirq
1-4. this is similar to the other via chipsets where pirq 4 and 5 are both
mapped to INTD. Fixes bugzilla #7490
Cc: Daniel Paschka <monkey20181@gmx.net>
Cc: Adrian Bunk <bunk@susta.de>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 14 Nov 2006 10:03:23 +0000 (02:03 -0800)]
[PATCH] setup_irq(): better mismatch debugging
When we get a mismatch between handlers on the same IRQ, all we get is "IRQ
handler type mismatch for IRQ n". Let's print the name of the
presently-registered handler with which we got the mismatch.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86-64: Fix race in exit_idle
When another interrupt happens in exit_idle the exit idle notifier
could be called an incorrect number of times.
Add a test_and_clear_bit_pda and use it handle the bit
atomically against interrupts to avoid this.
Pointed out by Stephane Eranian
Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86-64: Fix vgetcpu when CONFIG_HOTPLUG_CPU is disabled
The vgetcpu per CPU initialization previously relied on CPU hotplug
events for all CPUs to initialize the per CPU state. That only
worked only on kernels with CONFIG_HOTPLUG_CPU enabled. On the
others some CPUs didn't get their state initialized properly
and vgetcpu wouldn't work.
Change the initialization sequence to instead run in a normal
initcall (which runs after the normal CPU bootup) and initialize
all running CPUs there. Later hotplug CPUs are still handled
with an hotplug notifier.
This actually simplifies the code somewhat.
Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86: Add acpi_user_timer_override option for Asus boards
Timer overrides are normally disabled on Nvidia board because
they are commonly wrong, except on new ones with HPET support.
Unfortunately there are quite some Asus boards around that
don't have HPET, but need a timer override.
We don't know yet how to handle this transparently,
but at least add a command line option to force the timer override
and let them boot.
Cc: len.brown@intel.com
Signed-off-by: Andi Kleen <ak@suse.de>
Magnus Damm [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86-64: setup saved_max_pfn correctly (kdump)
x86_64: setup saved_max_pfn correctly
2.6.19-rc4 has broken CONFIG_CRASH_DUMP support on x86_64. It is impossible
to read out the kernel contents from /proc/vmcore because saved_max_pfn is set
to zero instead of the max_pfn value before the user map is setup.
This happens because saved_max_pfn is initialized at parse_early_param() time,
and at this time no active regions have been registered. save_max_pfn is setup
from e820_end_of_ram(), more exact find_max_pfn_with_active_regions() which
returns 0 because no regions exist.
This patch fixes this by registering before and removing after the call
to e820_end_of_ram().
Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86-64: Handle reserve_bootmem_generic beyond end_pfn
This can happen on kexec kernels with some configurations, in particularly
on Unisys ES7000 systems.
Analysis by Amul Shah
Cc: Amul Shah <amul.shah@unisys.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Steven Rostedt [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86-64: shorten the x86_64 boot setup GDT to what the comment says
Stephen Tweedie, Herbert Xu, and myself have been struggling with a very
nasty bug in Xen. But it also pointed out a small bug in the x86_64
kernel boot setup.
The GDT limit being setup by the initial bzImage code when entering into
protected mode is way too big. The comment by the code states that the
size of the GDT is 2048, but the actual size being set up is much bigger
(32768). This happens simply because of one extra '0'.
Instead of setting up a 0x800 size, 0x8000 is set up. On bare metal this
is fine because the CPU wont load any segments unless they are
explicitly used. But unfortunately, this breaks Xen on vmx FV, since it
(for now) blindly loads all the segments into the VMCS if they are less
than the gdt limit. Since the real mode segments are around 0x3000, we are
getting junk into the VMCS and that later causes an exception.
Stephen Tweedie has written up a patch to fix the Xen side and will be
submitting that to those folks. But that doesn't excuse the GDT limit
being a magnitude too big.
AK: changed to compute true gdt size in assembler, fixed comment
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen [Tue, 14 Nov 2006 15:57:46 +0000 (16:57 +0100)]
[PATCH] x86-64: Fix PTRACE_[SG]ET_THREAD_AREA regression with ia32 emulation.
ptrace(PTRACE_[SG]ET_THREAD_AREA) calls from ia32 code
should be passed onto the x86_64 implementation.
The default case in sys32_ptrace used to call to sys_ptrace(), but is
now EINVAL. This patch fixes a regression caused by that changed.
Signed-off-by: Mike McCormack <mike@codeweavers.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Aaron Durbin [Tue, 14 Nov 2006 15:57:45 +0000 (16:57 +0100)]
[PATCH] x86-64: Fix partial page check to ensure unusable memory is not being marked usable.
Fix partial page check in e820_register_active_regions to ensure
partial pages are
not being marked as active in the memory pool.
Signed-off-by: Aaron Durbin <adurbin@google.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen [Tue, 14 Nov 2006 15:56:33 +0000 (16:56 +0100)]
Revert "[PATCH] MMCONFIG and new Intel motherboards"
This reverts
4c6e052adfe285ede5884e4e8c4d33af33932c13 commit.
Following Linus' i386 change: revert resource reservation
for mmcfg config now. Will be revisited in .20 hopefully.
Russell King [Tue, 14 Nov 2006 15:15:40 +0000 (15:15 +0000)]
[ARM] Remove OP_MAX_COUNTER
OP_MAX_COUNTER never referenced, and is a reminant of an earlier
oprofile implementation. Remove it.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Darrick J. Wong [Tue, 14 Nov 2006 14:55:41 +0000 (09:55 -0500)]
libata: fix double-completion on error
A curious thing happens, however, when ata_qc_new_init fails to get
an ata_queued_cmd:
First, ata_qc_new_init handles the failure like this:
cmd->result = (DID_OK << 16) | (QUEUE_FULL << 1);
done(cmd);
Then, we return to ata_scsi_translate and do this:
err_mem:
cmd->result = (DID_ERROR << 16);
done(cmd);
It appears to me that first we set a status code indicating that we're
ok but the device queue is full and finish the command, but then
we blow away that status code and replace it with an error flag and
finish the command a second time! That does not seem to be desirable
behavior since we merely want the I/O to wait until a command slot
frees up, not send errors up the block layer.
In the err_mem case, we should simply exit out of ata_scsi_translate
instead.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alexey Dobriyan [Fri, 10 Nov 2006 19:52:46 +0000 (22:52 +0300)]
[PATCH] pata_artop: fix "& (1 >>" typo
Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Wed, 8 Nov 2006 16:18:26 +0000 (16:18 +0000)]
[PATCH] hpt37x: Check the enablebits
Helps for PATA but SATA bridged devices lie and always set all the bits
so will need the error handling fixes from Tejun.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>