GitHub/mt8127/android_kernel_alcatel_ttab.git
19 years ago[PATCH] namei fixes (19/19)
Al Viro [Mon, 6 Jun 2005 20:36:14 +0000 (13:36 -0700)]
[PATCH] namei fixes (19/19)

__do_follow_link() passes potentially worng vfsmount to touch_atime().  It
matters only in (currently impossible) case of symlink mounted on something,
but it's trivial to fix and that actually makes more sense.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (18/19)
Al Viro [Mon, 6 Jun 2005 20:36:13 +0000 (13:36 -0700)]
[PATCH] namei fixes (18/19)

Cosmetical cleanups - __follow_mount() calls in __link_path_walk() absorbed
into do_lookup().

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (17/19)
Al Viro [Mon, 6 Jun 2005 20:36:13 +0000 (13:36 -0700)]
[PATCH] namei fixes (17/19)

follow_mount() made void, reordered dput()/mntput() in it.

follow_dotdot() switched from struct vfmount ** + struct dentry ** to
struct nameidata *; callers updated.

Equivalent transformation + fix for too-early-mntput() race.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (16/19)
Al Viro [Mon, 6 Jun 2005 20:36:12 +0000 (13:36 -0700)]
[PATCH] namei fixes (16/19)

Conditional mntput() moved into __do_follow_link().  There it collapses with
unconditional mntget() on the same sucker, closing another too-early-mntput()
race.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (15/19)
Al Viro [Mon, 6 Jun 2005 20:36:11 +0000 (13:36 -0700)]
[PATCH] namei fixes (15/19)

Getting rid of sloppy logics:

a) in do_follow_link() we have the wrong vfsmount dropped if our symlink
had been mounted on something.  Currently it worls only because we never
get such situation (modulo filesystem playing dirty tricks on us).  And
it obfuscates already convoluted logics...

b) same goes for open_namei().

c) in __link_path_walk() we have another "it should never happen" sloppiness -
out_dput: there does double-free on underlying vfsmount and leaks the covering
one if we hit it just after crossing a mountpoint.  Again, wrong vfsmount
getting dropped.

d) another too-early-mntput() race - in do_follow_mount() we need to postpone
conditional mntput(path->mnt) until after dput(path->dentry).  Again, this one
happens only in it-currently-never-happens-unless-some-fs-plays-dirty
scenario...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (14/19)
Al Viro [Mon, 6 Jun 2005 20:36:10 +0000 (13:36 -0700)]
[PATCH] namei fixes (14/19)

shifted conditional mntput() into do_follow_link() - all callers were doing
the same thing.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (13/19)
Al Viro [Mon, 6 Jun 2005 20:36:08 +0000 (13:36 -0700)]
[PATCH] namei fixes (13/19)

In open_namei() exit_dput: we have mntput() done in the wrong order -
if nd->mnt != path.mnt we end up doing
mntput(nd->mnt);
nd->mnt = path.mnt;
dput(nd->dentry);
mntput(nd->mnt);
which drops nd->dentry too late.  Fixed by having path.mnt go first.
That allows to switch O_NOFOLLOW under if (__follow_mount(...)) back
to exit_dput, while we are at it.

Fix for early-mntput() race + equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (12/19)
Al Viro [Mon, 6 Jun 2005 20:36:08 +0000 (13:36 -0700)]
[PATCH] namei fixes (12/19)

In open_namei() we take mntput(nd->mnt);nd->mnt=path.mnt; out of the if
(__follow_mount(...)), making it conditional on nd->mnt != path.mnt instead.

Then we shift the result downstream.

Equivalent transformations.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (11/19)
Al Viro [Mon, 6 Jun 2005 20:36:07 +0000 (13:36 -0700)]
[PATCH] namei fixes (11/19)

shifted conditional mntput() calls in __link_path_walk() downstream.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (10/19)
Al Viro [Mon, 6 Jun 2005 20:36:06 +0000 (13:36 -0700)]
[PATCH] namei fixes (10/19)

In open_namei(), __follow_down() loop turned into __follow_mount().
Instead of
if we are on a mountpoint dentry
if O_NOFOLLOW checks fail
drop path.dentry
drop nd
return
do equivalent of follow_mount(&path.mnt, &path.dentry)
nd->mnt = path.mnt
we do
if __follow_mount(path) had, indeed, traversed mountpoint
/* now both nd->mnt and path.mnt are pinned down */
if O_NOFOLLOW checks fail
drop path.dentry
drop path.mnt
drop nd
return
mntput(nd->mnt)
nd->mnt = path.mnt

Now __follow_down() can be folded into follow_down() - no other callers left.
We need to reorder dput()/mntput() there - same problem as in follow_mount().

Equivalent transformation + fix for a bug in O_NOFOLLOW handling - we used to
get -ELOOP if we had the same fs mounted on /foo and /bar, had something bound
on /bar/baz and tried to open /foo/baz with O_NOFOLLOW.  And fix of
too-early-mntput() race in follow_down()

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (9/19)
Al Viro [Mon, 6 Jun 2005 20:36:05 +0000 (13:36 -0700)]
[PATCH] namei fixes (9/19)

New helper: __follow_mount(struct path *path).  Same as follow_mount(), except
that we do *not* do mntput() after the first lookup_mnt().

IOW, original path->mnt stays pinned down.  We also take care to do dput()
before mntput() in the loop body (follow_mount() also needs that reordering,
but that will be done later in the series).

The following are equivalent, assuming that path.mnt == x:
(1)
follow_mount(&path.mnt, &path.dentry)
(2)
__follow_mount(&path);
if (path->mnt != x)
mntput(x);
(3)
if (__follow_mount(&path))
mntput(x);

Callers of follow_mount() in __link_path_walk() converted to (2).

Equivalent transformation + fix for too-late-mntput() race in __follow_mount()
loop.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (8/19)
Al Viro [Mon, 6 Jun 2005 20:36:04 +0000 (13:36 -0700)]
[PATCH] namei fixes (8/19)

In open_namei() we never use path.mnt or path.dentry after exit: or ok:.
Assignment of path.dentry in case of LAST_BIND is dead code and only
obfuscates already convoluted function; assignment of path.mnt after
__do_follow_link() can be moved down to the place where we set path.dentry.

Obviously equivalent transformations, just to clean the air a bit in that
region.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (7/19)
Al Viro [Mon, 6 Jun 2005 20:36:03 +0000 (13:36 -0700)]
[PATCH] namei fixes (7/19)

The first argument of __do_follow_link() switched to struct path *
(__do_follow_link(path->dentry, ...) -> __do_follow_link(path, ...)).

All callers have the same calls of mntget() right before and dput()/mntput()
right after __do_follow_link(); these calls have been moved inside.

Obviously equivalent transformations.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (6/19)
Al Viro [Mon, 6 Jun 2005 20:36:02 +0000 (13:36 -0700)]
[PATCH] namei fixes (6/19)

mntget(path->mnt) in do_follow_link() moved down to right before the
__do_follow_link() call and rigth after loop: resp.

dput()+mntput() on non-ELOOP branch moved up to right after __do_follow_link()
call.

resulting
loop:
mntget(path->mnt);
path_release(nd);
dput(path->mnt);
mntput(path->mnt);
replaced with equivalent
dput(path->mnt);
path_release(nd);

Equivalent transformations - the reason why we have that mntget() is that
__do_follow_link() can drop a reference to nd->mnt and that's what holds
path->mnt.  So that call can happen at any point prior to __do_follow_link()
touching nd->mnt.  The rest is obvious.

NOTE: current tree relies on symlinks *never* being mounted on anything.  It's
not hard to get rid of that assumption (actually, that will come for free
later in the series).  For now we are just not making the situation worse than
it is.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (5/19)
Al Viro [Mon, 6 Jun 2005 20:36:01 +0000 (13:36 -0700)]
[PATCH] namei fixes (5/19)

fix for too early mntput() in open_namei() - we pin path.mnt down for the
duration of __do_follow_link().  Otherwise we could get the fs where our
symlink lived unmounted while we were in __do_follow_link().  That would end
up with dentry of symlink staying pinned down through the fs shutdown.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (4/19)
Al Viro [Mon, 6 Jun 2005 20:36:01 +0000 (13:36 -0700)]
[PATCH] namei fixes (4/19)

path.mnt in open_namei() set to mirror nd->mnt.

nd->mnt is set in 3 places in that function - path_lookup() in the beginning,
__follow_down() loop after do_last: and __do_follow_link() call after
do_link:.

We set path.mnt to nd->mnt after path_lookup() and __do_follow_link().  In
__follow_down() loop we use &path.mnt instead of &nd->mnt and set nd->mnt to
path.mnt immediately after that loop.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (3/19)
Al Viro [Mon, 6 Jun 2005 20:36:00 +0000 (13:36 -0700)]
[PATCH] namei fixes (3/19)

Replaced struct dentry *dentry in namei with struct path path.  All uses of
dentry replaced with path.dentry there.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (2/19)
Al Viro [Mon, 6 Jun 2005 20:35:59 +0000 (13:35 -0700)]
[PATCH] namei fixes (2/19)

All callers of do_follow_link() do mntget() right before it and
dput()+mntput() right after.  These calls are moved inside do_follow_link()
now.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes
Al Viro [Mon, 6 Jun 2005 20:35:58 +0000 (13:35 -0700)]
[PATCH] namei fixes

OK, here comes a patch series that hopefully should close all
too-early-mntput() races in fs/namei.c.  Entire area is convoluted as hell, so
I'm splitting that series into _very_ small chunks.

Patches alread in the tree close only (very wide) races in following symlinks
(see "busy inodes after umount" thread some time ago).  Unfortunately, quite a
few narrower races of the same nature were not closed.  Hopefully this should
take care of all of them.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix incorrect CPU_FTR fixup usage for unified caches
Kumar Gala [Mon, 6 Jun 2005 20:35:57 +0000 (13:35 -0700)]
[PATCH] ppc32: Fix incorrect CPU_FTR fixup usage for unified caches

Runtime feature support for unified caches was testing a userland feature
flag (PPC_FEATURE_UNIFIED_CACHE) instead of a cpu feature flag
(CPU_FTR_SPLIT_ID_CACHE).  Luckily the current defined bit mask for cpu
features and userland features do not overlap so this only causes an issue
on machines with a unified cache, which is extremely rare on PPC today.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] h8300 build error fix
Yoshinori Sato [Mon, 6 Jun 2005 20:35:56 +0000 (13:35 -0700)]
[PATCH] h8300 build error fix

h8300 was missing a few definitions.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] moxa: do not ignore input
Denis Vlasenko [Mon, 6 Jun 2005 20:35:55 +0000 (13:35 -0700)]
[PATCH] moxa: do not ignore input

Stop using tty internal structure in mxser_receive_chars(), use
tty_insert_flip_char(tty, ch flag); instead.

Without this change driver ignores any rx'ed chars.

Run tested.

Cc: Alan Cox <alan@redhat.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] broken fault_in_pages_readable call in generic_file_buffered_write()
Martin Schwidefsky [Mon, 6 Jun 2005 20:35:54 +0000 (13:35 -0700)]
[PATCH] broken fault_in_pages_readable call in generic_file_buffered_write()

fault_in_pages_readable() is being passed an incorrect `end' address, which
can result in writes accidentally faulting in pages which will not be affected
by the write() call.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoLinux 2.6.12-rc6
Linus Torvalds [Mon, 6 Jun 2005 15:22:29 +0000 (08:22 -0700)]
Linux 2.6.12-rc6

Getting ready for the real release..

19 years ago[PATCH] serial: update NEC VR4100 series serial support
Yoichi Yuasa [Sat, 4 Jun 2005 22:43:34 +0000 (15:43 -0700)]
[PATCH] serial: update NEC VR4100 series serial support

- Changed the return value of unknown type to NULL.

- Deleted the NULL check of dev_id in siu_interrupt().

- Deleted the NULL check of port->membase in siu_shutdown().

- Added the NULL check of port->membase to siu_startup().

- Removed early_uart_ops. Now using vr41xx_siu standerd one.

- Changed KSEG1ADDR() in siu_console_setup() to ioremap().

- When uart_add_one_port() failed, changed to set NULL to port->dev.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: deadlock in appldata
Gerald Schaefer [Sat, 4 Jun 2005 22:43:33 +0000 (15:43 -0700)]
[PATCH] s390: deadlock in appldata

The system might hang when using appldata_mem with high I/O traffic and a
large number of devices.  The spinlocks bdev_lock and swaplock are acquired
via calls to si_meminfo() and si_swapinfo() from a tasklet, i.e.  interrupt
context, which can lead to a deadlock.  Replace tasklet with work queue.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: in_interrupt vs. in_atomic
Martin Schwidefsky [Sat, 4 Jun 2005 22:43:32 +0000 (15:43 -0700)]
[PATCH] s390: in_interrupt vs. in_atomic

The condition for no context in do_exception checks for hard and soft
interrupts by using in_interrupt() but not for preemption.  This is bad for
the users of __copy_from/to_user_inatomic because the fault handler might call
schedule although the preemption count is != 0.  Use in_atomic() instead
in_interrupt().

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: uml ptrace fixes
Bodo Stroesser [Sat, 4 Jun 2005 22:43:32 +0000 (15:43 -0700)]
[PATCH] s390: uml ptrace fixes

To make UML build and run on s390, I needed to do these two little
changes:

1) UML includes some of the subarch's (s390) headers. I had to
   change one of them with the following one-liner, to make this
   compile. AFAICS, this change doesn't break compilation of s390
   itself.

2) UML needs to intercept syscalls via ptrace to invalidate the syscall,
   read syscall's parameters and write the result with the result of
   UML's syscall processing. Also, UML needs to make sure, that the host
   does no syscall restart processing. On i386 for example, this can be
   done by writing -1 to orig_eax on the 2nd syscall interception
   (orig_eax is the syscall number, which after the interception is used
   as a "interrupt was a syscall" flag only.
   Unfortunately, s390 holds syscall number and syscall result in gpr2 and
   its "interrupt was a syscall" flag (trap) is unreachable via ptrace.
   So I changed the host to set trap to -1, if the syscall number is changed
   to an invalid value on the first syscall interception.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: ptrace peek and poke
Martin Schwidefsky [Sat, 4 Jun 2005 22:43:30 +0000 (15:43 -0700)]
[PATCH] s390: ptrace peek and poke

The special cases of peek and poke on acrs[15] and the fpc register are not
handled correctly.  A poke on acrs[15] will clobber the 4 bytes after the
access registers in the thread_info structure.  That happens to be the kernel
stack pointer.  A poke on the fpc with an invalid value is not caught by the
validity check.  On the next context switch the broken fpc value will cause a
program check in the kernel.  Improving the checks in peek and poke fixes
this.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mpage_end_io_write() I/O error handling fix
Qu Fuping [Sat, 4 Jun 2005 22:43:29 +0000 (15:43 -0700)]
[PATCH] mpage_end_io_write() I/O error handling fix

When fsync() runs wait_on_page_writeback_range() it only inspects pages which
are actually under I/O (PAGECACHE_TAG_WRITEBACK).  If a page completed I/O
prior to wait_on_page_writeback_range() looking at it, it is supposed to have
recorded its I/O error state in the address_space.

But mpage_mpage_end_io_write() forgot to set the address_space error flag in
this case.

Signed-off-by: Qu Fuping <fs@ercist.iscas.ac.cn>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoAutomatic merge of 'misc-fixes' branch from
Linus Torvalds [Sat, 4 Jun 2005 15:18:39 +0000 (08:18 -0700)]
Automatic merge of 'misc-fixes' branch from

rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

19 years agoAutomatic merge of /spare/repo/netdev-2.6 branch r8169-fix
<jgarzik@pretzel.yyz.us> [Sat, 4 Jun 2005 08:31:44 +0000 (04:31 -0400)]
Merge ... /spare/repo/netdev-2.6 branch r8169-fix

19 years ago[PATCH] prom_find_machine_type typo breaks pSeries lpar boot
Nathan Lynch [Fri, 3 Jun 2005 19:25:25 +0000 (14:25 -0500)]
[PATCH] prom_find_machine_type typo breaks pSeries lpar boot

A typo in prom_find_machine_type from Ben's recent patch "ppc64: Fix
result code handling in prom_init" prevents pSeries LPAR systems from
booting.

Tested on a pSeries 570 and OpenPower 720 (both Power5 LPAR).

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoAutomatic merge of rsync://www.parisc-linux.org/~jejb/git/scsi-for-linus-2.6
Linus Torvalds [Fri, 3 Jun 2005 15:54:02 +0000 (08:54 -0700)]
Merge ... parisc-linux.org/~jejb/git/scsi-for-linus-2.6

19 years ago[PATCH] m68knommu: fix scheduling and race problems in idle loop
Greg Ungerer [Fri, 3 Jun 2005 01:35:20 +0000 (11:35 +1000)]
[PATCH] m68knommu: fix scheduling and race problems in idle loop

Re-work the m68knommu specific idle code according to suggestions
from Nick Piggin <nickpiggin@yahoo.com.au>.

A couple of rules that we need to follow:

1. Preempt should now disabled over idle routines. Should only be enabled
to call schedule() then disabled again.

3. When cpu_idle finds (need_resched() == 'true'), it should call schedule().
It should not call schedule() otherwise.

Also fix interrupt locking around the need_resched() and cpu stop state
so that there is no race condition.

Signed-off-by: Greg Ungerer <gerg@snapgear.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: resolve Zaurus problem
David Brownell [Fri, 3 Jun 2005 15:01:35 +0000 (08:01 -0700)]
[PATCH] USB: resolve Zaurus problem

This "obvious" one-liner is needed to recognize Zaurus SL 6000;
it just checks two GUIDs not just one.

OSDL bugids #4512 and #4545 seem to be duplicates of this report.

From: Gerald Skerbitz <gsker@tcfreenet.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SCSI] fix slab corruption during ipr probe
Nathan Lynch [Thu, 2 Jun 2005 22:15:09 +0000 (17:15 -0500)]
[SCSI] fix slab corruption during ipr probe

With CONFIG_DEBUG_SLAB=y I see slab corruption messages during boot on
pSeries machines with IPR adapters with any 2.6.12-rc kernel.

The change which seems to have introduced the problem is "SCSI: revamp
target scanning routines" and may be found at:
http://marc.theaimsgroup.com/?l=bk-commits-head&m=111093946426333&w=2

In order to revert that in a 2.6.12-rc1 tree, I had to revert "target
code updates to support scanned targets" first:
http://marc.theaimsgroup.com/?l=bk-commits-head&m=111094132524649&w=2

With both patches reverted, the corruption messages go away.

ipr: IBM Power RAID SCSI Device Driver version: 2.0.13 (February 21,
2005)
ipr 0001:d0:01.0: Found IOA with IRQ: 167
ipr 0001:d0:01.0: Starting IOA initialization sequence.
ipr 0001:d0:01.0: Adapter firmware version: 020A005C
ipr 0001:d0:01.0: IOA initialized.
scsi0 : IBM 570B Storage Adapter
  Vendor: IBM       Model: VSBPD4E1  U4SCSI  Rev: 4770
  Type:   Enclosure                          ANSI SCSI revision: 02
  Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
  Type:   Direct-Access                      ANSI SCSI revision: 04
  Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
  Type:   Direct-Access                      ANSI SCSI revision: 04
  Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
  Type:   Direct-Access                      ANSI SCSI revision: 04
  Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
  Type:   Direct-Access                      ANSI SCSI revision: 04
  Vendor: IBM       Model: VSBPD4E1  U4SCSI  Rev: 4770
  Type:   Enclosure                          ANSI SCSI revision: 02
Slab corruption: start=c0000001e8de5268, len=512
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<c00000000029c3a0>](.scsi_target_dev_release+0x28/0x50)
080: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6a
Prev obj: start=c0000001e8de5050, len=512
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0000000000000000>](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=c0000001e8de5480, len=512
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<c000000000228d7c>](.as_init_queue+0x5c/0x228)
000: c0 00 00 01 e8 83 26 08 00 00 00 00 00 00 00 00
010: 00 00 00 00 00 00 00 00 c0 00 00 01 e8 de 54 98
Slab corruption: start=c0000001e8de5268, len=512
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<c00000000029c3a0>](.scsi_target_dev_release+0x28/0x50)
080: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6a
Prev obj: start=c0000001e8de5050, len=512
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0000000000000000>](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=c0000001e8de5480, len=512
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<c000000000228d7c>](.as_init_queue+0x5c/0x228)
000: c0 00 00 01 e8 83 26 08 00 00 00 00 00 00 00 00
010: 00 00 00 00 00 00 00 00 c0 00 00 01 e8 de 54 98
...

I did some digging and the problem seems to be a refcounting issue in
__scsi_add_device.  The target gets freed in scsi_target_reap, and
then __scsi_add_device tries to do another device_put on it.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: fix bad locking during eh_abort
Andrew Vasquez [Fri, 27 May 2005 22:04:47 +0000 (15:04 -0700)]
[SCSI] qla2xxx: fix bad locking during eh_abort

Correct incorrect locking order in qla2xxx_eh_abort() handler which
would case a hang during certain code-paths.

With extra pieces to fix the irq state in the locks.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[PATCH] USB: CP2101 Add support for flow control
Craig Shelley [Thu, 26 May 2005 23:09:56 +0000 (00:09 +0100)]
[PATCH] USB: CP2101 Add support for flow control

Added support to get/set flow control line levels using TIOCMGET and
TIOCMSET.
Added support for RTSCTS hardware flow control.
cp2101_get_config and cp2101_set_config modified to support long request
strings, required for configuring flow control.

Signed-off-by: Craig Shelley craig@microtron.org.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: update urb documentation
Roman Kagan [Thu, 5 May 2005 20:55:56 +0000 (00:55 +0400)]
[PATCH] USB: update urb documentation

On Wed, May 04, 2005 at 01:37:30PM -0700, David Brownell wrote:
> On Wednesday 04 May 2005 12:19 pm, Roman Kagan wrote:
> > struct urb {
> >  /* private, usb core and host controller only fields in the urb */
> >  ...
> >  struct list_head urb_list; /* list pointer to all active urbs */
> >  ...
> > };
> >
> > Is it safe to use it for driver's purposes when the driver owns the urb,
> > that is, starting from the completion routine until the urb is submitted
> > with usb_submit_urb()?
>
> Right now, it should be.

Great!  FWIW I've briefly tested a modified version of usbatm using
the list head in struct urb instead of creating a wrapper struct, and I
haven't seen any failures yet.  So I tend to believe that your "should
be" actually means "is" :)

> > If it is, can it be guaranteed in future, e.g.
> > by moving the list head into the public section of struct urb?
>
> In fact I'm not sure why it ever got called "private" to usbcore/hcds.
> I thought the idea was that it should be like urb->status, reserved for
> whoever controls the URB.

OK then how about the following (essentially documentation) patch?

Signed-off-by: Roman Kagan <rkagan@mail.ru>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB Storage: Add unusual_devs for Trumpion Voice Recorder
Phil Dibowitz [Sat, 21 May 2005 07:45:55 +0000 (00:45 -0700)]
[PATCH] USB Storage: Add unusual_devs for Trumpion Voice Recorder

The original entry of this patch was submitted by Filippo Bardelli
<filibard@libero.it>, with cleanups and patch-ification by me.

This corrects the subclass that the device reports.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: make MODALIAS code a bit smaller devices
Paulo Marques [Wed, 18 May 2005 12:12:49 +0000 (13:12 +0100)]
[PATCH] USB: make MODALIAS code a bit smaller devices

This patch makes the code to provide modalias in sysfs for usb devices
56 bytes smaller in i386, while making it clear that the first part of
the modalias string is the same no matter what the device class is.

Signed-Off-By: Paulo Marques <pmarques@grupopie.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: add Option Card driver
Matthias Urlichs [Tue, 24 May 2005 00:00:48 +0000 (17:00 -0700)]
[PATCH] USB: add Option Card driver

This patch adds a new driver for "Option" cards.  This is a GSM data card,
controlled by three "serial ports" which are connected via an OHCI adapter,
all located on an oversized PC-Card.  It's sold by several GSM service
providers.

Traditionally, this card has been accessed via the standard serial driver
and appropriate vendor= and product= options.  However, testing has
revealed several problems with this approach, including hung data transfers
and lost data blocks when receiving.

Therefore, I've written a separate driver.

Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: add Vernier devices to HID blacklist
Greg Kroah-Hartman [Fri, 3 Jun 2005 05:18:12 +0000 (22:18 -0700)]
[PATCH] USB: add Vernier devices to HID blacklist

They aren't really HID devices.

Damm microsoft HID driver, that thing has caused more companies to have
to do this kind of hack...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: hid-core: add Earthmate lt-20 productid to blacklist table
Lonnie Mendez [Tue, 10 May 2005 05:17:17 +0000 (00:17 -0500)]
[PATCH] USB: hid-core: add Earthmate lt-20 productid to blacklist table

This patch adds the DeLorme Earthmate lt-20 productid to the hid
blacklist table.  This patch ensures the lt-20 can be claimed by the
appropriate driver (cypress_m8).

Adds the product id 0x200, of the DeLorme Earthmate lt-20, to the hid
blacklist table.

Signed-off-by: Lonnie Mendez <lmendez19@austin.rr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: add new wacom device to usb hid-core list
Ping Cheng [Thu, 5 May 2005 22:12:57 +0000 (15:12 -0700)]
[PATCH] USB: add new wacom device to usb hid-core list

- add Intuos3 and Cintiq 21UX

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: remove drivers/usb/media/pwc/ChangeLog
Adrian Bunk [Thu, 5 May 2005 16:49:59 +0000 (18:49 +0200)]
[PATCH] USB: remove drivers/usb/media/pwc/ChangeLog

This patch removes the outdated ChangeLog file for this driver.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: Support multiply-LUN devices in ub
Pete Zaitcev [Sun, 1 May 2005 23:05:40 +0000 (16:05 -0700)]
[PATCH] USB: Support multiply-LUN devices in ub

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff -urp -X dontdiff linux-2.6.12-rc3/drivers/block/ub.c linux-2.6.12-rc3-lem/drivers/block/ub.c

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 3 Jun 2005 00:39:49 +0000 (17:39 -0700)]
Merge ... /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[NET]: Fix HH_DATA_OFF.
Jiri Benc [Thu, 2 Jun 2005 23:48:05 +0000 (16:48 -0700)]
[NET]: Fix HH_DATA_OFF.

When the hardware header size is a multiple of HH_DATA_MOD, HH_DATA_OFF()
incorrectly returns HH_DATA_MOD (instead of 0). This affects ieee80211 layer
as 802.11 header is 32 bytes long.

Signed-off-by: Jiri Benc <jbenc@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix locking in shaper driver.
Christoph Hellwig [Thu, 2 Jun 2005 23:36:00 +0000 (16:36 -0700)]
[NET]: Fix locking in shaper driver.

 o use a semaphore instead of an opencoded and racy lock
 o move locking out of shaper_kick and into the callers - most just
   released the lock before calling shaper_kick
 o remove in_interrupt() tests.  from ->close we can always block, from
   ->hard_start_xmit and timer context never

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoMerge of 'docs' branch from
Linus Torvalds [Thu, 2 Jun 2005 23:07:03 +0000 (16:07 -0700)]
Merge of 'docs' branch from

rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

19 years agoAutomatic merge of /spare/repo/linux-2.6/.git branch HEAD
<jgarzik@pretzel.yyz.us> [Thu, 2 Jun 2005 22:43:09 +0000 (18:43 -0400)]
Merge ... /spare/repo/linux-2.6/.git branch HEAD

19 years agolibata: kernel-doc warning fixes
Jeff Garzik [Thu, 2 Jun 2005 22:42:33 +0000 (18:42 -0400)]
libata: kernel-doc warning fixes

19 years agolibata: update inline source docs
Edward Falk [Thu, 2 Jun 2005 22:17:13 +0000 (18:17 -0400)]
libata: update inline source docs

19 years ago[PATCH] drivers/net/hamradio/baycom_epp.c: cleanups
Adrian Bunk [Thu, 2 Jun 2005 21:04:00 +0000 (14:04 -0700)]
[PATCH] drivers/net/hamradio/baycom_epp.c: cleanups

The times when tricky goto's produced better codes are long gone.

This patch should express the same in a better way.

(Also fixes the final gcc-4.0 x86 compile error)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: remove decr_overclock
Anton Blanchard [Thu, 2 Jun 2005 21:02:03 +0000 (14:02 -0700)]
[PATCH] ppc64: remove decr_overclock

Now that we have HZ=1000 there is much less of a need for decr_overclock.
Remove it.

Leave spread_lpevents but move it into iSeries_setup.c.  We should look at
making event spreading the default some day.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: cleanup iseries runlight support
Anton Blanchard [Thu, 2 Jun 2005 21:02:02 +0000 (14:02 -0700)]
[PATCH] ppc64: cleanup iseries runlight support

The iseries has a bar graph on the front panel that shows how busy it is.
The operating system sets and clears a bit in the CTRL register to control
it.

Instead of going to the complexity of using a thread info bit, just set and
clear it in the idle loop.

Also create two helper functions, ppc64_runlatch_on and ppc64_runlatch_off.

Finally don't use the short form of the SPR defines.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: cleanup SPR definitions
Anton Blanchard [Thu, 2 Jun 2005 21:02:02 +0000 (14:02 -0700)]
[PATCH] ppc64: cleanup SPR definitions

There are a bunch of irrelevant SPR definitions in asm/processer.h.  Cut
them down a bit, also add a DABR_TRANSLATION define which will be used
shortly.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ext3: fix list scanning in __cleanup_transaction
Jan Kara [Thu, 2 Jun 2005 21:02:01 +0000 (14:02 -0700)]
[PATCH] ext3: fix list scanning in __cleanup_transaction

Fix a bug in list scanning that can cause us to skip the last buffer on the
checkpoint list (and hence fail to do any progress under some rather
unfavorable conditions).

The problem is we first do jh=next_jh and then test

} while (jh!=last_jh);

Hence we skip the last buffer on the list (if it was not the only buffer on
the list).  As we already do jh=next_jh; in the beginning of the loop we
are safe to just remove the assignment in the end.  It can happen that 'jh'
will be freed at the point we test jh != last_jh but that does not matter
as we never *dereference* the pointer.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ext3: fix log_do_checkpoint() assertion failure
Jan Kara [Thu, 2 Jun 2005 21:02:00 +0000 (14:02 -0700)]
[PATCH] ext3: fix log_do_checkpoint() assertion failure

Fix possible false assertion failure in log_do_checkpoint().  We might fail
to detect that we actually made a progress when cleaning up the checkpoint
lists if we don't retry after writing something to disk.  The patch was
confirmed to fix observed assertion failures for several users.

When we flushed some buffers we need to retry scanning the list.
Otherwise we can fail to detect our progress.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[IPV6]: Kill export of fl6_sock_lookup.
Adrian Bunk [Thu, 2 Jun 2005 20:06:36 +0000 (13:06 -0700)]
[IPV6]: Kill export of fl6_sock_lookup.

There is no usage of this EXPORT_SYMBOL in the kernel.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [drivers] kill pointless NULL checks and casts before kfree()
Jesper Juhl [Thu, 2 Jun 2005 20:04:07 +0000 (13:04 -0700)]
[ATM]: [drivers] kill pointless NULL checks and casts before kfree()

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: fix ATM makefile for out-of-source-tree builds
Jan Beulich [Thu, 2 Jun 2005 20:03:15 +0000 (13:03 -0700)]
[ATM]: fix ATM makefile for out-of-source-tree builds

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPVS]: remove net/ipv4/ipvs/ip_vs_proto_icmp.c
Adrian Bunk [Thu, 2 Jun 2005 20:02:25 +0000 (13:02 -0700)]
[IPVS]: remove net/ipv4/ipvs/ip_vs_proto_icmp.c

ip_vs_proto_icmp.c was never finished.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] ppc64: Fix result code handling in prom_init
Benjamin Herrenschmidt [Thu, 2 Jun 2005 04:11:37 +0000 (14:11 +1000)]
[PATCH] ppc64: Fix result code handling in prom_init

prom_init(), the trampoline code that "talks" to Open Firmware during
early boot, has various issues with managing OF result codes. Some of my
recent fixups in fact made the problem worse on some platforms.

This patch reworks it all. Tested on g5, Maple, POWER3 and POWER5.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 2 Jun 2005 02:17:59 +0000 (19:17 -0700)]
Merge ... /pub/scm/linux/kernel/git/aegl/linux-2.6

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Wed, 1 Jun 2005 23:32:03 +0000 (16:32 -0700)]
Merge ... /linux/kernel/git/sfrench/cifs-2.6

19 years ago[IA64] fix compilation warning in sys32_epoll_wait()
Peter Chubb [Wed, 1 Jun 2005 05:37:00 +0000 (22:37 -0700)]
[IA64] fix compilation warning in sys32_epoll_wait()

This gets rid of an unused variable `error' in sys_ia32.c:sys32_epoll_wait()

Getting rid of this one makes parsing the output of the kernecomp
autobuild easier --- searching for `Error' to find a problem kept
hitting this one, even though it's only a warning.

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] Cleanup compile warnings for ski config
Peter Chubb [Wed, 1 Jun 2005 05:34:00 +0000 (22:34 -0700)]
[IA64] Cleanup compile warnings for ski config

The attached patch cleans up a compilation warning when ACPI
is turned off (i.e., when compiling for the Ski simulator).

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 1 Jun 2005 20:21:58 +0000 (13:21 -0700)]
Merge ... /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 1 Jun 2005 20:20:35 +0000 (13:20 -0700)]
Merge ... /linux/kernel/git/davem/sparc-2.6

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Wed, 1 Jun 2005 14:56:33 +0000 (07:56 -0700)]
Merge ... /pub/scm/linux/kernel/git/gregkh/usb-2.6

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/i2c-2.6
Linus Torvalds [Wed, 1 Jun 2005 14:56:10 +0000 (07:56 -0700)]
Merge ... /pub/scm/linux/kernel/git/gregkh/i2c-2.6

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Wed, 1 Jun 2005 14:55:46 +0000 (07:55 -0700)]
Merge ... /pub/scm/linux/kernel/git/gregkh/pci-2.6

19 years ago[PATCH] ppc32/ppc64: cleanup /proc/device-tree
Benjamin Herrenschmidt [Wed, 1 Jun 2005 07:07:27 +0000 (17:07 +1000)]
[PATCH] ppc32/ppc64: cleanup /proc/device-tree

This cleans up the /proc/device-tree representation of the Open Firmware
device-tree on ppc and ppc64.  It does the following things:

 - Workaround an issue in some Apple device-trees where a property may
   exist with the same name as a child node of the parent.  We now
   simply "drop" the property instead of creating duplicate entries in
   /proc with random result...

 - Do not try to chop off the "@0" at the end of a node name whose unit
   address is 0.  This is not useful, inconsistent, and the code was
   buggy and didn't always work anyway.

 - Do not create symlinks for the short name and unit address parts of a
   node.  These were never really used, bloated the memory footprint of
   the device-tree with useless struct proc_dir_entry and their matching
   dentry and inode cache bloat.

This results in smaller code, smaller memory footprint, and a more
accurate view of the tree presented to userland.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Apple device-tree bug fix
Benjamin Herrenschmidt [Wed, 1 Jun 2005 07:02:22 +0000 (17:02 +1000)]
[PATCH] ppc32: Apple device-tree bug fix

This is the ppc32 patch equivalent to the just posted ppc64 one working
around a bug in Apple device-trees regarding the "cpus" nodes.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Fix a device-tree bug on Apple's
Benjamin Herrenschmidt [Wed, 1 Jun 2005 04:54:25 +0000 (14:54 +1000)]
[PATCH] ppc64: Fix a device-tree bug on Apple's

Apple's Open Firmware has a funny bug when creating the /cpus nodes
where it leaves a dangling '\0' character in the CPU name which ends up
appearing in the full path of the node. This is bogus and
confuses /proc/device-tree badly.

This patch strips those bogus zero's from the node full path when
reading the device-tree from Open Firmware. The "name" property is not
modified and still contains the spurrious 0 (it basically contains 0
tailing 0 instead of one) but that shouldn't be a problem.

An equivalent patch for ppc32 will follow shortly

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SPARC64]: Refine PCI strbuf ctx-based flush.
David S. Miller [Wed, 1 Jun 2005 02:13:52 +0000 (19:13 -0700)]
[SPARC64]: Refine PCI strbuf ctx-based flush.

The initial peek read PIO of the match register is just a waste.
Just do the flush writes first, as that is more efficient.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] cpufreq-stats driver documentation
Venkatesh Pallipadi [Wed, 25 May 2005 21:43:56 +0000 (14:43 -0700)]
[PATCH] cpufreq-stats driver documentation

Documentation for cpufreq stats.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[PATCH] cpufreq-stats driver updates
Venkatesh Pallipadi [Wed, 25 May 2005 21:46:50 +0000 (14:46 -0700)]
[PATCH] cpufreq-stats driver updates

Changes to the cpufreq stats driver:
* Changes the way P-state transition table looks in /sysfs providing more
  clear output
* Changes the time unit in the output from HZ to clock_t

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Typos.
Dave Jones [Wed, 1 Jun 2005 02:03:52 +0000 (19:03 -0700)]
[CPUFREQ] Typos.

cpfureq developers cant spel.

Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] longhaul - adjust transition latency.
Dave Jones [Wed, 1 Jun 2005 02:03:51 +0000 (19:03 -0700)]
[CPUFREQ] longhaul - adjust transition latency.

From patch by: Ken Staton <ken_staton@agilent.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Longhaul: Magic timer frobbing.
Dave Jones [Wed, 1 Jun 2005 02:03:51 +0000 (19:03 -0700)]
[CPUFREQ] Longhaul: Magic timer frobbing.

As mandated by the spec, disable timer around transitions.

From code by : Ken Staton <ken_staton@agilent.com
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] longhaul - disable PCI mastering around transition.
Dave Jones [Wed, 1 Jun 2005 02:03:51 +0000 (19:03 -0700)]
[CPUFREQ] longhaul - disable PCI mastering around transition.

The spec states that we have to do this, which is *horrid*.

Based on code from: Ken Staton <ken_staton@agilent.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] ondemand governor default sampling downfactor as 1
Dave Jones [Wed, 1 Jun 2005 02:03:50 +0000 (19:03 -0700)]
[CPUFREQ] ondemand governor default sampling downfactor as 1

[PATCH] [5/5] ondemand governor default sampling downfactor as 1

Make default sampling downfactor 1.
This works better with earlier auto downscaling change in ondemand governor.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] ondemand governor automatic downscaling
Dave Jones [Wed, 1 Jun 2005 02:03:50 +0000 (19:03 -0700)]
[CPUFREQ] ondemand governor automatic downscaling

[PATCH] [4/5] ondemand governor automatic downscaling

Here is a change of policy for the ondemand governor. The modification
concerns the frequency downscaling. Instead of decreasing to a lower
frequency when the CPU usage is under 20%, this new policy automatically
scales to the optimal frequency. The optimal frequency being the lowest
frequency which provides enough power to not trigger the upscaling policy.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] ondemand,conservative governor idle_tick clean-up
Dave Jones [Wed, 1 Jun 2005 02:03:49 +0000 (19:03 -0700)]
[CPUFREQ] ondemand,conservative governor idle_tick clean-up

[PATCH] [3/5] ondemand,conservative governor idle_tick clean-up

Ondemand and conservative governor clean-up, it factorises the idle ticks
measurement.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] ondemand,conservative governor store the idle ticks for all cpus
Dave Jones [Wed, 1 Jun 2005 02:03:49 +0000 (19:03 -0700)]
[CPUFREQ] ondemand,conservative governor store the idle ticks for all cpus

[PATCH] [2/5] ondemand,conservative governor store the idle ticks for all cpus

Ondemand, conservative governor did not store prev_cpu_idle_up into
prev_cpu_idle_down for other CPUs than the current CPU.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] ondemand,conservative minor bug-fix and cleanup
Dave Jones [Wed, 1 Jun 2005 02:03:49 +0000 (19:03 -0700)]
[CPUFREQ] ondemand,conservative minor bug-fix and cleanup

[PATCH] [1/5] ondemand,conservative minor bug-fix and cleanup

Attached patch fixes some minor issues with Alexander's patch and related
cleanup in both ondemand and conservative governor.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Allow ondemand stepping to be changed by user.
Dave Jones [Wed, 1 Jun 2005 02:03:48 +0000 (19:03 -0700)]
[CPUFREQ] Allow ondemand stepping to be changed by user.

Adds support so that the cpufreq change stepping is no longer fixed at 5% and
can be changed dynamically by the user

Signed-off-by: Alexander Clouter <alex-kernel@digriz.org.uk>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Prevents un-necessary cpufreq changes if we are already at min/max
Dave Jones [Wed, 1 Jun 2005 02:03:48 +0000 (19:03 -0700)]
[CPUFREQ] Prevents un-necessary cpufreq changes if we are already at min/max

Signed-off-by: Alexander Clouter <alex-kernel@digriz.org.uk>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Add support to cpufreq_ondemand to ignore 'nice' cpu time
Dave Jones [Wed, 1 Jun 2005 02:03:47 +0000 (19:03 -0700)]
[CPUFREQ] Add support to cpufreq_ondemand to ignore 'nice' cpu time

Signed-off-by: Alexander Clouter <alex-kernel@digriz.org.uk>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Conservative cpufreq governer
Dave Jones [Wed, 1 Jun 2005 02:03:47 +0000 (19:03 -0700)]
[CPUFREQ] Conservative cpufreq governer

A new cpufreq module, based on the ondemand one with my additional patches
just posted.  This one is more suitable for battery environments where its
probably more appealing to have the cpu freq gracefully increase and decrease
rather than flip between the min and max freq's.

N.B. Bruno Ducrot pointed out that the amd64's "do have unacceptable latency
between min and max freq transition, due to the step-by-step requirements
(200MHz IIRC)"; so AMD64 users would probably benefit from this too.

Signed-off-by: Alexander Clouter <alex-kernel@digriz.org.uk>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] fix up comment in cpufreq.h
Dave Jones [Wed, 1 Jun 2005 02:03:47 +0000 (19:03 -0700)]
[CPUFREQ] fix up comment in cpufreq.h

Fix up comment in cpufreq.h stating transition latency should be passed
in microseconds -- it was decided long ago to switch to nanoseconds.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] dual-core powernow-k8
Dave Jones [Wed, 1 Jun 2005 02:03:46 +0000 (19:03 -0700)]
[CPUFREQ] dual-core powernow-k8

With the release of the dual-core AMD Opterons last week,
it's high time that cpufreq supported them.  The attached
patch applies cleanly to 2.6.12-rc3 and updates powernow-k8
to support the latest Athlon 64 and Opteron processors.

Update the driver to version 1.40.0 and provide support
for dual-core processors.

Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] make cpufreq_gov_dbs static
Dave Jones [Wed, 1 Jun 2005 02:03:46 +0000 (19:03 -0700)]
[CPUFREQ] make cpufreq_gov_dbs static

This patch makes a needlessly global and EXPORT_SYMBOL'ed struct static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Recalibrate cpu_khz [2/2]
Dave Jones [Wed, 1 Jun 2005 02:03:46 +0000 (19:03 -0700)]
[CPUFREQ] Recalibrate cpu_khz [2/2]

Some cpufreq drivers (at that time, only powernow-k7) need to recalibrate the
cpu_khz at runtime.

Signed-off-by: Bruno Ducrot <ducrot@poupinou.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] Recalibrate cpu_khz [1/2]
Dave Jones [Wed, 1 Jun 2005 02:03:45 +0000 (19:03 -0700)]
[CPUFREQ] Recalibrate cpu_khz [1/2]

We have to recalibrate cpu_khz in order to use the current FID instead the max
FID since some BIOS do not put the processor at maximum frequency at POST.
Also, some BIOS will change the processor frequency at our back after cpu_khz
was calibrate.  Finally, this will fix a long standing bug when we do
something like this:

# rmmod powernow-k7
# modprobe powernow-k7

Signed-off-by: Bruno Ducrot <ducrot@poupinou.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[CPUFREQ] AMD Elan SC520 cpufreq driver.
Dave Jones [Wed, 1 Jun 2005 02:03:45 +0000 (19:03 -0700)]
[CPUFREQ] AMD Elan SC520 cpufreq driver.

From: Sean Young <sean@mess.org>
Signed-off-by: Dave Jones <davej@redhat.com>