Commit Graph

14288 Commits

Author SHA1 Message Date
Chris Wright f3a9388e4e [PATCH] VFS: local denial-of-service with file leases
Remove time_out_leases() printk that's easily triggered by users.

 Signed-off-by: Chris Wright <chrisw@osdl.org>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-11-13 12:29:58 -05:00
J. Bruce Fields dc15ae14e9 [PATCH] VFS: Fix memory leak with file leases
The patch
 http://linux.bkbits.net:8080/linux-2.6/diffs/fs/locks.c@1.70??nav=index.html
 introduced a pretty nasty memory leak in the lease code. When freeing
 the lease, the code in locks_delete_lock() will correctly clean up
 the fasync queue, but when we return to fcntl_setlease(), the freed
 fasync entry will be reinstated.

 This patch ensures that we skip the call to fasync_helper() when we're
 freeing up the lease.

 Signed-off-by: J. Bruce Fields <bfields@fieldses.org>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-11-13 12:29:54 -05:00
Tejun Heo e9c05afa80 [PATCH] sil24: add missing ata_pad_free()
sil24_port_stop() is missing call to ata_pad_free() thus leaking pad
buffer when a port is stopped.  This patch adds it.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-13 10:31:43 -05:00
Russell King ee31b33785 [SERIAL] Fix Bug 4900: S3 resume oops with irattach - Thinkpad A21m
If we fail to re-startup a serial port on resume, shut it down
immediately and mark it as an error condition.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-13 15:28:51 +00:00
Richard Purdie bd5d080ab9 [ARM] 3160/1: SharpSL: Add driver for Akita specific GPIOs
Patch from Richard Purdie

Add a driver for the extra GPIOs found on the Sharp SL-C1000 (Akita).
These GPIOs are found on a Maxim MAX7310 I2C i/o expander chip. A
generic GPIO driver for the MAX7310 was attempted but this mini
driver is a much simpler and much more effective solution avoiding
several issues and complexity the generic driver had (as discussed
on LKML).

The platform device is required so the device parent can be set
correctly which ensures the device is one of the last to suspend
and first to resume. Whilst the i2c suspend/resume calls can be
influenced, nothing guarantees this is easlier/later than the
subsystems the gpios are used on which are all independent of i2c
(sound, irda, video/backlight etc.).

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-13 10:07:48 +00:00
Richard Purdie e8b6f7f437 [ARM] 3159/1: SharpSL: Add PM device driver for the SL-Cx00 machines.
Patch from Richard Purdie

Add a SharpSL PM device driver for the SL-Cxx00 machines.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-13 10:07:47 +00:00
Richard Purdie d72f25b0df [ARM] 3158/1: SharpSL: Add PM device driver for the SL-C7x0 machines.
Patch from Richard Purdie

Add a SharpSL PM device driver for the SL-C7x0 machines.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-13 10:07:46 +00:00
Russell King 865052fd51 [ARM] Re-fix footbridge
That's __phys_to_pfn, not __phy_to_pfn.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-13 09:53:34 +00:00
Dominik Brodowski 807277cbf9 [PCMCIA] inform user of insertion and ejection events
Print out minimal information in dmesg whnever a CardBus or PCMCIA card
is inserted into or ejected from a slot. This will make debugging certain
types of bugs much easier, and is similar to output produced by other
hotpluggable buses.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-12 23:35:34 +01:00
Florin Malita 270c7a7215 [SERIAL] sa1100_start_tx spinlock recursion
The serial core aquires the port spinlock before calling
port->ops->start_tx(), so sa1100_start_tx() shouldn't try to lock it
again.

BUG: spinlock recursion on CPU#0, init/1
 lock: c0205f20, .magic: dead4ead, .owner: init/1, .owner_cpu: 0
[<c0022cdc>] (dump_stack+0x0/0x14) [<c00dc338>] (spin_bug+0x0/0xbc)
[<c00dc6b0>] (_raw_spin_lock+0x0/0x170)  r8 = 00000007  r7 = C02FE0070
[<c018a2a8>] (_spin_lock_irqsave+0x0/0x24)  r4 = C0205F20
[<c0112110>] (sa1100_start_tx+0x0/0x40)  r4 = C038C000
[<c010ee38>] (__uart_start+0x0/0x5c) [<c010ee94>] (uart_start+0x0/0x3
[<c010f1d0>] (uart_write+0x0/0xdc) [<c00fee34>] (write_chan+0x0/0x370

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 22:09:22 +00:00
Bjorn Helgaas fa609435a6 [SERIAL] Claim Wacom tablet device on HP tc1100 tablet
Claim the WACF005 device.  This is the pen display pointing device on
the HP Compaq tc1100 Tablet PC.  More information about using this
device, including using it as an X pointer device:

    http://www.theory.bham.ac.uk/staff/schofield/linux/tc1100/

Christopher Kemp <ck231@cam.ac.uk> did the legwork of determining that
the WACF005 is really just a plain old UART and doing an initial ACPI
driver (before we had PNPACPI), and David Ludlow <dave@adsllc.com>
confirmed that PNPACPI + the attached patch is now sufficient:

    pnp: Device 00:05 activated.
    ttyS4 at I/O 0x300 (irq = 4) is a 16550A

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 22:06:31 +00:00
Andrey Volkov 38801e2e54 [SERIAL] Fix mpc52xx_uart.c
Fix copy-paste bug in mpc52xx_uart.c (pdev<->dev)

Signed-off-by: Andrey Volkov <avolkov@varma-el.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 22:04:06 +00:00
Ralf Baechle 46677736be [SERIAL] dz: Use CKSEG1ADDR to setup mappings.
Use physical addresses at the interface level, letting drivers remap
them as appropriate.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 22:00:27 +00:00
Ralf Baechle fd8c597214 [SERIAL] dz: Nuke trailing whitespace
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 21:59:59 +00:00
Lennert Buytenhek 5c8c755ce5 [SERIAL] don't disable xscale serial ports after autoconfig
xscale-type UARTs have an extra bit (UUE) in the IER register that has
to be written as 1 to enable the UART.  At the end of autoconfig() in
drivers/serial/8250.c, the IER register is unconditionally written as
zero, which turns off the UART, and makes any subsequent printch() hang
the box.

Since other 8250-type UARTs don't have this enable bit and are thus
always 'enabled' in this sense, it can't hurt to enable xscale-type
serial ports all the time as well.  The attached patch changes the
autoconfig() exit path to see if the port has an UUE enable bit, and if
yes, to write UUE=1 instead of just putting a zero into IER, using the
same test as is used at the beginning of serial8250_console_write().

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 21:58:05 +00:00
Russell King 1cf99be560 [ARM] Use correct IO operations for Pleb
Use read/write IO operations rather than in/out, as per other
SA1100 platforms.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 21:49:36 +00:00
Dominik Brodowski dfb279c975 [PCMCIA] i82365: use new platform_device helpers
Use the new platform_device helpers in the i82365 driver to get rid of the
"device 'i823650' does not have a release() function" warning, and to solve
bug #3676.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-12 22:46:38 +01:00
Pavel Machek c35bf4a593 [ARM] Fix collie for -rc1
This fixes compilation for collie after -rc1 platform_device
changes. And yes, it even boots.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 20:25:25 +00:00
Linus Torvalds 9e6c67fd27 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2005-11-12 12:23:25 -08:00
Thomas Graf 8225ccbaf0 [IPV6]: Fix unnecessary GFP_ATOMIC allocation in fib6 dump
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-11-12 12:15:16 -08:00
Vlad Drukker a2d7222f0f [NETFILTER] {ip,nf}_conntrack TCP: Accept SYN+PUSH like SYN
Some devices (e.g. Qlogic iSCSI HBA hardware like QLA4010 up to firmware
3.0.0.4) initiates TCP with SYN and PUSH flags set.

The Linux TCP/IP stack deals fine with that, but the connection tracking
code doesn't.

This patch alters TCP connection tracking to accept SYN+PUSH as a valid
flag combination.

Signed-off-by: Vlad Drukker <vlad@storewiz.com>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-11-12 12:13:14 -08:00
Herbert Xu efacfbcb6c [IPV6]: Fix rtnetlink dump infinite loop
The recent change to netlink dump "done" callback handling broke IPv6
which played dirty tricks with the "done" callback.  This causes an
infinite loop during a dump.

The following patch fixes it.

This bug was reported by Jeff Garzik.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-11-12 12:12:05 -08:00
Christoph Hellwig 9ffb83bcc5 [SBUSFB]: implement ->compat_ioctl
This patch adds a new function, sbusfb_compat_ioctl() to
drivers/video/sbuslib.c and uses it as compat_ioctl in all sbus fb
drivers

This remove the last per-arch compat ioctl bits in
arch/sparc64/kernel/ioctl32.c so it would be nice if people could test
if this actually copiles and works and if yes apply it :)

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-11-12 12:11:12 -08:00
Christoph Hellwig 535f8d65d8 [SPARC]: Fix RTC compat ioctl kernel log spam.
On Fri, Nov 11, 2005 at 12:58:40PM -0800, David S. Miller wrote:
> 
> This change:
> 
> diff-tree 8ca2bdc7a9 (from feee207e44d3643d19e648aAuthor: Christoph Hellwig <hch@lst.de>
> Date:   Wed Nov 9 12:07:18 2005 -0800
> 
>     [SPARC] sbus rtc: implement ->compat_ioctl
>     
>     Signed-off-by: Christoph Hellwig <hch@lst.de>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> results in the console now getting spewed on sparc64 systems
> with messages like:
> 
> [   11.968298] ioctl32(hwclock:464): Unknown cmd fd(3) cmd(401c7014){00} arg(efc
> What's happening is hwclock tries first the SBUS rtc device ioctls
> then the normal rtc driver ones.
> 
> So things actually worked better when we had the SBUS rtc compat ioctl
> directly handled via the generic compat ioctl code.
> 
> There are _so_ many rtc drivers in the kernel implementing the
> generic rtc ioctls that I don't think putting a ->compat_ioctl
> into all of them to fix this problem is feasible.  Unless we
> write a single rtc_compat_ioctl(), export it to modules, and hook
> it into all of those somehow.
> 
> But even that doesn't appear to have any pretty implementation.
> 
> Any better ideas?

We had similar problems with other ioctls where userspace did things
like that.  What we did there was to put the compat handler to generic
code.  The patch below does that, adding a big comment about what's
going on and removing the COMPAT_IOCTL entires for these on powerpc
that not only weren't ever useful but are duplicated now aswell.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-11-12 12:10:54 -08:00
Dmitry Torokhov 4f005551a8 [PATCH] I8K: fix /proc reporting of blank service tags
Make /proc/i8k display '?' when service tag is blank in BIOS.
This fixes segfault in i8k gkrellm plugin.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-12 11:42:32 -08:00
Richard Purdie c5e1ae9729 [ARM] 3154/1: SharpSL PM Driver updates
Patch from Richard Purdie

Updates to the SharpSL PM driver including cleanups from both
Pavel Machek and myself and updates after the platform device
changes to make it compile again.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 18:53:48 +00:00
Richard Purdie 94cabd003e [ARM] 3149/1: SharpSL: Add Akita (SL-C1000) machine support
Patch from Richard Purdie

Add the core machine support for the Sharp SL-C1000 (Akita)
and enable the Kconfig selection for it.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 18:53:48 +00:00
Prakash Punnoor 44e6f84e35 [PATCH] fix b2c2 dvb undefined symbol
This fixes

  drivers/built-in.o: In function `flexcop_frontend_init':
  : undefined reference to `lgdt330x_attach'

[ Side note: I really dislike that dvb people want to include every
  possible frontend into the kernel - I only need the mt312 one for my
  Skystar2 card.  I'd highly appreciate it this would be made selectable
  again... ]

Signed-off-by: Prakash Punnoor <prakash@punnoor.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-12 10:52:30 -08:00
Linus Torvalds ae5684ceb4 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2005-11-12 10:39:03 -08:00
Linus Torvalds 0fde7f5918 Revert "[PATCH] fbcon: Add rl (Roman Large) font"
This reverts 998e6d5116 commit.
2005-11-12 10:14:02 -08:00
Russell King a1510210c4 [ARM] Ensure sl82c105 IDE interfaces are serialized when using DMA
We don't want to reset the DMA state machine while the other
channel is in use.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 17:45:45 +00:00
Russell King 69177e890c [MMC] mmci doesn't need asm/irq.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 17:26:21 +00:00
Russell King da2660d2c4 [ARM] Restore apparant pointless change in arch/arm/kernel/smp.c
Restore smp.c back to how it used to be.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 17:21:47 +00:00
Russell King 9648f552f9 [ARM] Fix broken sl82c105 DMA prevention
We must _never_ _ever_ on pain of death enable IDE DMA on SL82C105
chipsets where the southbridge revision is <= 5, otherwise data
corruption will occur.

Strangely this used to work, but something has changed in the upper
echelons of the IDE layer to break the hosts decision to deny DMA.
Let's make it crystal clear to the IDE layer that we know best.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 16:57:29 +00:00
Russell King 6460177f42 [ARM] Fix Footbridge-based machines
Unfortunately, all these machines got broken when the PFN memory
setup changes happened.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-12 16:49:37 +00:00
Tejun Heo 3beb207712 [BLOCK] elevator: elv_latter/former_request update
With generic dispatch queue update, implicit former/latter request
handling using rq->queuelist.prev/next doesn't work as expected
anymore.  Also, the only iosched dependent on this feature was
noop-iosched and it has been reimplemented to have its own
latter/former methods.  This patch removes implicit former/latter
handling.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:57:05 +01:00
Tejun Heo 5a7c47eefb [BLOCK] noop-iosched: reimplementation of request dispatching
The original implementation directly used dispatch queue.  As new
generic dispatch queue imposes stricter rules over ioscheds and
dispatch queue usage, this direct use becomes somewhat problematic.
This patch reimplements noop-iosched such that it complies to generic
iosched model better.  Request merging with q->last_merge and
rq->queuelist.prev/next work again now.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de
2005-11-12 10:56:52 +01:00
Tejun Heo b740d98f56 [BLOCK] cfq-iosched: fix slice_left calculation
When cfq slice expires, remainder of slice is calculated and stored in
cfqq->slice_left.  Current code calculates the opposite of remainder -
how many jiffies the cfqq has used past slice end.  This patch fixes
the bug.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:56:36 +01:00
Tejun Heo be56123568 [BLOCK] fix string handling in elv_iosched_store
elv_iosched_store doesn't terminate string passed from userspace if
it's too long.  Also, if the written length is zero (probably not
possible), it accesses elevator_name[-1].  This patch fixes both bugs.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:56:21 +01:00
Tejun Heo 15853af9f0 [BLOCK] Implement elv_drain_elevator for improved switch error detection
This patch adds request_queue->nr_sorted which keeps the number of
requests in the iosched and implement elv_drain_elevator which
performs forced dispatching.  elv_drain_elevator checks whether
iosched actually dispatches all requests it has and prints error
message if it doesn't.  As buggy forced dispatching can result in
wrong barrier operations, I think this extra check is worthwhile.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:56:06 +01:00
Tejun Heo 1b5ed5e1f1 [BLOCK] cfq-iosched: cfq forced dispatching fix
cfq forced dispatching might not return all requests on the queue.
This bug can hang elevator switchinig and corrupt request ordering
during flush sequence.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:55:51 +01:00
Tejun Heo 407df2aa29 [BLOCK] elevator: run queue in elevator_switch
elevator_dispatch needs to run queue after forced dispatching;
otherwise, the queue might stall.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:55:37 +01:00
Jens Axboe 47a004103d [BLOCK] Document the READ/WRITE splitup of the disk stats
Use the symbolic name where appropriate and add a comment to the
disk_stats structure.

Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:55:21 +01:00
Zachary Amsden cff3ba2204 [BLOCK] elevator init fixes #2
In addition to the first patch, which is probably goodness, I found the
cause of my panic - applying this patch fixes it and now I am booting.
If the chosen_elevator[] is not found, fall back to noop.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:55:05 +01:00
Zachary Amsden b8ea2cb512 [BLOCK] elevator init fixes
I got a panic in the elevator code, backtrace :

Unable to handle kernel NULL pointer dereference at virtual address 00000060
..
EIP is at elevator_put+0x0/0x30 (null elevator_type passed)
..
elevator_init+0x38
blk_init_queu_node+0xc9
floppy_init+0xdb
do_initcalls+0x23
init+0x10a
init+0x0

Clearly if the kmalloc here fails, e->elevator_type is not yet set; this
appears to be the correct fix, but I think I probably hit the second case
due to a race condition.  Someone more familiar with the elevator code
should look at this more closely until I can determine if I can reproduce.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jens Axboe <axboe@suse.de>
2005-11-12 10:54:48 +01:00
Jeff Garzik 02eaa66629 [libata ahci] set port ATAPI bit correctly
Although according to the documentation this largely only affects
desktop LED control, let's make sure we set the ATAPI bit when we
have an ATAPI device attached to the port.
2005-11-12 01:32:19 -05:00
Jeff Garzik 828d09de4a [libata ahci, qstor] fix miscount of scatter/gather entries
Don't directly reference qc->n_elem, as that might cause an off-by-one
error for misaligned (padded) ATAPI transfers.
2005-11-12 01:27:07 -05:00
Linus Torvalds cd52d1ee9a Linux v2.6.15-rc1
As per the new release rules: two weeks of merging, and then an -rc1 and
calming down for the next release.
2005-11-11 17:43:36 -08:00
Linus Torvalds 508862e493 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2005-11-11 17:00:17 -08:00
Linus Torvalds 9cf93d7b2f Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-11-11 16:30:35 -08:00