Steve French [Thu, 16 Nov 2006 22:48:25 +0000 (22:48 +0000)]
[CIFS] Fix timezone handling on stat to os/2
We were adjusting for timezone on readdir but not on stat
Signed-off-by: Steve French <sfrench@us.ibm.com>
Steve French [Thu, 16 Nov 2006 20:54:20 +0000 (20:54 +0000)]
[CIFS] Incorrect hardlink count when original file is cached (oplocked)
Fixes Samba bug 2823
In this case hardlink count is stale for one of the two inodes (ie the
original file) until it is closed - since revalidate does not go to
server while file is cached locally.
Signed-off-by: Steve French <sfrench@us.ibm.com>
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>
Linus Torvalds [Mon, 13 Nov 2006 19:50:28 +0000 (11:50 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
MMC: Do not set unsupported bits in OCR response
MMC: Poll card status after rescanning cards
Linus Torvalds [Mon, 13 Nov 2006 17:52:04 +0000 (09:52 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/mad: Fix race between cancel and receive completion
RDMA/amso1100: Fix && typo
RDMA/amso1100: Fix unitialized pseudo_netdev accessed in c2_register_device
IB/ehca: Activate scaling code by default
IB/ehca: Use named constant for max mtu
IB/ehca: Assure 4K alignment for firmware control blocks
Linus Torvalds [Mon, 13 Nov 2006 17:50:11 +0000 (09:50 -0800)]
[dvb saa7134] Fix missing 'break' for avermedia card case
Commit
450efcfd2e1d941e302a8c89322fbfcef237be98 broke Avermedia 777
support.
Added obvious missing "break" statement.
Cc: José Suárez <j.suarez.agapito@gmail.com>
Cc: Michael Krufky <mkrufky@linuxtv.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Mon, 13 Nov 2006 17:05:02 +0000 (18:05 +0100)]
[PATCH] ide-cd: only set rq->errors SCSI style for block pc requests
We should only set ->errors to CHECK_CONDITION and so on for requests
that use this field in the SCSI manner.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Mon, 13 Nov 2006 17:04:59 +0000 (18:04 +0100)]
[PATCH] Fix bad data direction in SG_IO
Contrary to what the name misleads you to believe, SG_DXFER_TO_FROM_DEV
is really just a normal read seen from the device side.
This patch fixes http://lkml.org/lkml/2006/10/13/100
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roland Dreier [Mon, 13 Nov 2006 17:38:07 +0000 (09:38 -0800)]
IB/mad: Fix race between cancel and receive completion
When ib_cancel_mad() is called, it puts the canceled send on a list
and schedules a "flushed" callback from process context. However,
this leaves a window where a receive completion could be processed
before the send is fully flushed.
This is fine, except that ib_find_send_mad() will find the MAD and
return it to the receive processing, which results in the sender
getting both a successful receive and a "flushed" send completion for
the same request. Understandably, this confuses the sender, which is
expecting only one of these two callbacks, and leads to grief such as
a use-after-free in IPoIB.
Fix this by changing ib_find_send_mad() to return a send struct only
if the status is still successful (and not "flushed"). The search of
the send_list already had this check, so this patch just adds the same
check to the search of the wait_list.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Jean Delvare [Thu, 9 Nov 2006 20:02:26 +0000 (21:02 +0100)]
RDMA/amso1100: Fix && typo
Fix the AMSO1100 firmware version computation, which was broken
due to "&&" being used where "&" should have.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Tom Tucker [Wed, 8 Nov 2006 20:23:22 +0000 (14:23 -0600)]
RDMA/amso1100: Fix unitialized pseudo_netdev accessed in c2_register_device
Rework some load-time error handling: c2_register_device() leaked when
it failed, and the function that called it didn't check the return code.
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Hoang-Nam Nguyen [Sun, 5 Nov 2006 20:42:20 +0000 (21:42 +0100)]
IB/ehca: Activate scaling code by default
Change ehca's Kconfig to activates scaling code as default. After
several measurements we saw that this feature prevents dropped packets
(UD) in stress situation. Thus, enabling it helps to improve ehca's
bandwidth through IPoIB.
Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Hoang-Nam Nguyen [Sun, 5 Nov 2006 20:42:56 +0000 (21:42 +0100)]
IB/ehca: Use named constant for max mtu
Define and use a constant EHCA_MAX_MTU instead hardcoded value.
Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Linus Torvalds [Mon, 13 Nov 2006 16:27:17 +0000 (08:27 -0800)]
Merge branch 'master' of /linux/kernel/git/mchehab/v4l-dvb
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
V4L/DVB (4818): Flexcop-usb: fix debug printk
V4L/DVB (4817): Fix uses of "&&" where "&" was intended
V4L/DVB (4816): Change tuner type for Avermedia A16AR
V4L/DVB (4815): Remote support for Avermedia A16AR
V4L/DVB (4814): Remote support for Avermedia 777
V4L/DVB (4804): Fix missing i2c dependency for saa7110
V4L/DVB (4802): Cx88: fix remote control on WinFast 2000XP Expert
V4L/DVB (4795): Tda826x: use correct max frequency
Linus Torvalds [Mon, 13 Nov 2006 16:20:38 +0000 (08:20 -0800)]
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] cell: set ARCH_SPARSEMEM_DEFAULT in Kconfig
[POWERPC] Fix cell "new style" mapping and add debug
[POWERPC] pseries: Force 4k update_flash block and list sizes
[POWERPC] CPM_UART: Fix non-console initialisation
[POWERPC] CPM_UART: Fix non-console transmit
[POWERPC] Make sure initrd and dtb sections get into zImage correctly
Linus Torvalds [Mon, 13 Nov 2006 16:15:30 +0000 (08:15 -0800)]
Merge git://oss.sgi.com:8090/xfs/xfs-2.6
* git://oss.sgi.com:8090/xfs/xfs-2.6:
[XFS] Remove KERNEL_VERSION macros from xfs_dmapi.h
[XFS] Prevent a deadlock when xfslogd unpins inodes.
[XFS] Clean up i_flags and i_flags_lock handling.
[XFS] 956664: dm_read_invis() changes i_atime
[XFS] rename uio_read() to xfs_uio_read()
[XFS] Keep lockdep happy.
[XFS] 956618: Linux crashes on boot with XFS-DMAPI filesystem when
Linus Torvalds [Mon, 13 Nov 2006 16:14:13 +0000 (08:14 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[IPVS]: More endianness fixed.
[IPVS]: Compile fix for annotations in userland.
Linus Torvalds [Mon, 13 Nov 2006 16:09:49 +0000 (08:09 -0800)]
Merge /pub/scm/linux/kernel/git/sfrench/cifs-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
[CIFS] Fix minor problem with previous patch
[CIFS] Fix mount failure when domain not specified
[CIFS] Explicitly set stat->blksize
[CIFS] NFS stress test generates flood of "close with pending write" messages
Linus Torvalds [Mon, 13 Nov 2006 16:03:32 +0000 (08:03 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
[PATCH] drivers cris: return on NULL dev_alloc_skb()
[PATCH] com20020 build fix
[PATCH] bonding: lockdep annotation
[PATCH] bcm43xx: Add error checking in bcm43xx_sprom_write()
[PATCH] bcm43xx: Drain TX status before starting IRQs
Alan Stern [Fri, 10 Nov 2006 20:27:57 +0000 (12:27 -0800)]
[PATCH] SCSI core: always store >= 36 bytes of INQUIRY data
This patch (as810c) copies a minimum of 36 bytes of INQUIRY data, even if
the device claims that not all of them are valid. Often badly behaved
devices put plausible data in the Vendor, Product, and Revision strings but
set the Additional Length byte to a small value. Using potentially valid
data is certainly better than allocating a short buffer and then reading
beyond the end of it, which is what we do now.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Pavel Emelianov [Fri, 10 Nov 2006 20:27:56 +0000 (12:27 -0800)]
[PATCH] Fix misrouted interrupts deadlocks
While testing kernel on machine with "irqpoll" option I've caught such a
lockup:
__do_IRQ()
spin_lock(&desc->lock);
desc->chip->ack(); /* IRQ is ACKed */
note_interrupt()
misrouted_irq()
handle_IRQ_event()
if (...)
local_irq_enable_in_hardirq();
/* interrupts are enabled from now */
...
__do_IRQ() /* same IRQ we've started from */
spin_lock(&desc->lock); /* LOCKUP */
Looking at misrouted_irq() code I've found that a potential deadlock like
this can also take place:
1CPU:
__do_IRQ()
spin_lock(&desc->lock); /* irq = A */
misrouted_irq()
for (i = 1; i < NR_IRQS; i++) {
spin_lock(&desc->lock); /* irq = B */
if (desc->status & IRQ_INPROGRESS) {
2CPU:
__do_IRQ()
spin_lock(&desc->lock); /* irq = B */
misrouted_irq()
for (i = 1; i < NR_IRQS; i++) {
spin_lock(&desc->lock); /* irq = A */
if (desc->status & IRQ_INPROGRESS) {
As the second lock on both CPUs is taken before checking that this irq is
being handled in another processor this may cause a deadlock. This issue
is only theoretical.
I propose the attached patch to fix booth problems: when trying to handle
misrouted IRQ active desc->lock may be unlocked.
Acked-by: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Sharyathi Nagesh [Fri, 10 Nov 2006 20:27:54 +0000 (12:27 -0800)]
[PATCH] fix Data Acess error in dup_fd
On running the Stress Test on machine for more than 72 hours following
error message was observed.
0:mon> e
cpu 0x0: Vector: 300 (Data Access) at [
c00000007ce2f7f0]
pc:
c000000000060d90: .dup_fd+0x240/0x39c
lr:
c000000000060d6c: .dup_fd+0x21c/0x39c
sp:
c00000007ce2fa70
msr:
800000000000b032
dar:
ffffffff00000028
dsisr:
40000000
current = 0xc000000074950980
paca = 0xc000000000454500
pid = 27330, comm = bash
0:mon> t
[
c00000007ce2fa70]
c000000000060d28 .dup_fd+0x1d8/0x39c (unreliable)
[
c00000007ce2fb30]
c000000000060f48 .copy_files+0x5c/0x88
[
c00000007ce2fbd0]
c000000000061f5c .copy_process+0x574/0x1520
[
c00000007ce2fcd0]
c000000000062f88 .do_fork+0x80/0x1c4
[
c00000007ce2fdc0]
c000000000011790 .sys_clone+0x5c/0x74
[
c00000007ce2fe30]
c000000000008950 .ppc_clone+0x8/0xc
The problem is because of race window. When if(expand) block is executed in
dup_fd unlocking of oldf->file_lock give a window for fdtable in oldf to be
modified. So actual open_files in oldf may not match with open_files
variable.
Cc: Vadim Lobanov <vlobanov@speakeasy.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Franck Bui-Huu [Fri, 10 Nov 2006 20:27:53 +0000 (12:27 -0800)]
[PATCH] .gitignore: add miscellaneous files
Prevent git from reporting this useless status:
On branch refs/heads/master
Untracked files:
(use "git add" to add to commit)
TAGS
scripts/kconfig/lkc_defs.h
scripts/kconfig/qconf.moc
nothing to commit
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Russell King [Fri, 10 Nov 2006 20:27:53 +0000 (12:27 -0800)]
[PATCH] Fix missing parens in set_personality()
If you call set_personality() with an expression such as:
set_personality(foo ? PERS_FOO1 : PERS_FOO2);
then this evaluates to:
((current->personality == foo ? PERS_FOO1 : PERS_FOO2) ? ...
which is obviously not the intended result. Add the missing parents
to ensure this gets evaluated as expected:
((current->personality == (foo ? PERS_FOO1 : PERS_FOO2)) ? ...
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Wink Saville [Fri, 10 Nov 2006 20:27:52 +0000 (12:27 -0800)]
[PATCH] Patch for nvidia divide by zero error for 7600 pci-express card
The following patch resolves the divide by zero error I encountered on my
system:
http://marc.10east.com/?l=linux-fbdev-devel&m=
116058257024413&w=2
I accomplished this by merging what I thought was appropriate from:
http://webcvs.freedesktop.org/xorg/driver/xf86-video-nv/src/
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Corey Minyard [Fri, 10 Nov 2006 20:27:50 +0000 (12:27 -0800)]
[PATCH] IPMI: Fix more && typos
Fix improper use of "&&" when "&" was intended.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jes Sorensen [Fri, 10 Nov 2006 20:27:49 +0000 (12:27 -0800)]
[PATCH] mspec driver build fix
Fix MSPEC driver to build for non SN2 enabled configs as the driver should
work in cached and uncached modes (no fetchop) on these systems. In
addition make MSPEC select IA64_UNCACHED_ALLOCATOR, which is required for
it and move it to arch/ia64/Kconfig to avoid warnings on non ia64
architectures running allmodconfig. Once the Kconfig code is fixed, we can
move it back.
Signed-off-by: Jes Sorensen <jes@sgi.com>
Cc: Fernando Luis Vzquez Cao <fernando@oss.ntt.co.jp>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Miller [Fri, 10 Nov 2006 20:27:48 +0000 (12:27 -0800)]
[PATCH] pci: don't try to remove sysfs files before they are setup.
The PCI sysfs attributes are created after the initial PCI bus scan. With
the addition of more return value checking and assertions in the device and
sysfs layers we now can get dumps like this on sparc64:
[ 20.135032] Call Trace:
[ 20.135042] [
0000000000537f88] pci_remove_bus_device+0x30/0xc0
[ 20.135076] [
000000000078f890] pci_fill_in_pbm_cookies+0x98/0x440
[ 20.135109] [
000000000042e828] sabre_scan_bus+0x230/0x400
[ 20.135139] [
000000000078c710] pcibios_init+0x58/0xa0
[ 20.135159] [
0000000000416f14] init+0x9c/0x2e0
[ 20.135190] [
0000000000417a50] kernel_thread+0x38/0x60
[ 20.135211] [
0000000000417170] rest_init+0x18/0x40
[ 20.135514] PCI0(PBMB): Bus running at 33MHz
It's triggering because removal of the "config" PCI sysfs file for the
device fails.
On sparc64, after probing the device, we'll delete the PCI device via
pci_remove_bus_device() if we cannot find the firmware device tree node
corresponding to it.
This is fine, but at this point the sysfs files for the PCI device won't be
setup yet.
So we should not try to do anything in pci_remove_sysfs_dev_files() if
pci_sysfs_init() has not run yet.
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Eric Dumazet [Fri, 10 Nov 2006 20:27:48 +0000 (12:27 -0800)]
[PATCH] vmalloc: optimization, cleanup, bugfixes
- reorder 'struct vm_struct' to speedup lookups on CPUS with small cache
lines. The fields 'next,addr,size' should be now in the same cache line,
to speedup lookups.
- One minor cleanup in __get_vm_area_node()
- Bugfixes in vmalloc_user() and vmalloc_32_user() NULL returns from
__vmalloc() and __find_vm_area() were not tested.
[akpm@osdl.org: remove redundant BUG_ONs]
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexey Dobriyan [Thu, 9 Nov 2006 20:36:44 +0000 (17:36 -0300)]
V4L/DVB (4818): Flexcop-usb: fix debug printk
.. fix debug printk. Why, oh why, one would want to do
(u16 & 0xff) << 8
and print it with %02x format?
Acked-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Jean Delvare [Thu, 9 Nov 2006 20:25:28 +0000 (17:25 -0300)]
V4L/DVB (4817): Fix uses of "&&" where "&" was intended
Fix uses of "&&" where "&" was intended in bttv-cards.c and tveeprom.c
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
pasky@ucw.cz [Sun, 12 Nov 2006 17:24:57 +0000 (14:24 -0300)]
V4L/DVB (4816): Change tuner type for Avermedia A16AR
This changes it from TDA8290 which is allegedly very unlikely to TD1316 which
is allegedly very likely. I didn't get it to work with either, but expected
that this got applied when Mauro sent it to me, so here it goes again; feel
free to drop it to the floor. :-)
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>