openwrt/staging/blogic.git
19 years ago[PATCH] cpuset release ABBA deadlock fix
Paul Jackson [Tue, 9 Aug 2005 17:07:59 +0000 (10:07 -0700)]
[PATCH] cpuset release ABBA deadlock fix

Fix possible cpuset_sem ABBA deadlock if 'notify_on_release' set.

For a particular usage pattern, creating and destroying cpusets fairly
frequently using notify_on_release, on a very large system, this deadlock
can be seen every few days.  If you are not using the cpuset
notify_on_release feature, you will never see this deadlock.

The existing code, on task exit (or cpuset deletion) did:

  get cpuset_sem
  if cpuset marked notify_on_release and is ready to release:
    compute cpuset path relative to /dev/cpuset mount point
    call_usermodehelper() forks /sbin/cpuset_release_agent with path
  drop cpuset_sem

Unfortunately, the fork in call_usermodehelper can allocate memory, and
allocating memory can require cpuset_sem, if the mems_generation values
changed in the interim.  This results in an ABBA deadlock, trying to obtain
cpuset_sem when it is already held by the current task.

To fix this, I put the cpuset path (which must be computed while holding
cpuset_sem) in a temporary buffer, to be used in the call_usermodehelper
call of /sbin/cpuset_release_agent only _after_ dropping cpuset_sem.

So the new logic is:

  get cpuset_sem
  if cpuset marked notify_on_release and is ready to release:
    compute cpuset path relative to /dev/cpuset mount point
    stash path in kmalloc'd buffer
  drop cpuset_sem
  call_usermodehelper() forks /sbin/cpuset_release_agent with path
  free path

The sharp eyed reader might notice that this patch does not contain any
calls to kmalloc.  The existing code in the check_for_release() routine was
already kmalloc'ing a buffer to hold the cpuset path.  In the old code, it
just held the buffer for a few lines, over the cpuset_release_agent() call
that in turn invoked call_usermodehelper().  In the new code, with the
application of this patch, it returns that buffer via the new char
**ppathbuf parameter, for later use and freeing in cpuset_release_agent(),
which is called after cpuset_sem is dropped.  Whereas the old code has just
one call to cpuset_release_agent(), right in the check_for_release()
routine, the new code has three calls to cpuset_release_agent(), from the
various places that a cpuset can be released.

This patch has been build and booted on SN2, and passed a stress test that
previously hit the deadlock within a few seconds.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Build fix for the Sibyte I2C driver
Ralf Baechle [Tue, 9 Aug 2005 17:07:57 +0000 (10:07 -0700)]
[PATCH] Build fix for the Sibyte I2C driver

Compile fix for the BCM1250 I2C driver.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i8xx_tco.c: arm watchdog only when started
Wim Van Sebroeck [Tue, 9 Aug 2005 17:07:56 +0000 (10:07 -0700)]
[PATCH] i8xx_tco.c: arm watchdog only when started

i8xx_tco.c v0.08: only "arm" the watchdog when the watchdog has been
started.  (Kernel Bug 4251: system reset when battery is read and i8xx_tco
driver loaded)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fsnotify-cleanups
John McCutchan [Tue, 9 Aug 2005 02:13:05 +0000 (22:13 -0400)]
[PATCH] fsnotify-cleanups

This removes the now unused fsnotify_unlink & fsnotify_rmdir code.
Compile tested.

Signed-off-by: John McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoRevert "[PATCH] PCI: restore BAR values..."
Linus Torvalds [Tue, 9 Aug 2005 01:46:09 +0000 (18:46 -0700)]
Revert "[PATCH] PCI: restore BAR values..."

Revert commit fec59a711eef002d4ef9eb8de09dd0a26986eb77, which is
breaking sparc64 that doesn't have a working pci_update_resource.

We'll re-do this after 2.6.13 when we'll do it all properly.

19 years ago[PATCH] icn driver fails to unload when no hardware present
Dave Jones [Mon, 8 Aug 2005 23:13:15 +0000 (16:13 -0700)]
[PATCH] icn driver fails to unload when no hardware present

Fix a null dereference in module unload path.

Found by a simple modprobe icn ; rmmod icn

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 8 Aug 2005 23:06:01 +0000 (16:06 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] x86_64: add MODULE_ALIAS for aes
Olaf Hering [Mon, 8 Aug 2005 21:49:18 +0000 (14:49 -0700)]
[PATCH] x86_64: add MODULE_ALIAS for aes

modprobe aes does not work on x86_64.  i386 has a similar line, this could
be the right fix.  Would be nice to have in 2.6.13 final.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix MPC834x USB memory map offsets
Kumar Gala [Mon, 8 Aug 2005 21:49:17 +0000 (14:49 -0700)]
[PATCH] ppc32: Fix MPC834x USB memory map offsets

The memory mappings for MPC8349 USB MPH and DR modules were reversed.

Signed-off-by: Li Yang <LeoLi@freescale.com>
Signed-off-by: Jiang Bo <Tanya.jiang@freescale.com>
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[IPV4]: Debug cleanup
Heikki Orsila [Mon, 8 Aug 2005 21:26:52 +0000 (14:26 -0700)]
[IPV4]: Debug cleanup

Here's a small patch to cleanup NETDEBUG() use in net/ipv4/ for Linux
kernel 2.6.13-rc5. Also weird use of indentation is changed in some
places.

Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Allocate and kill some netlink numbers.
David S. Miller [Mon, 8 Aug 2005 20:48:02 +0000 (13:48 -0700)]
[NETLINK]: Allocate and kill some netlink numbers.

NETLINK_ARPD is unused, allocate it to the Open-iSCSI folks.

NETLINK_ROUTE6 and NETLINK_TAPBASE are no longer used, delete
them.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 8 Aug 2005 19:19:24 +0000 (12:19 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] fsnotify_name/inoderemove
John McCutchan [Mon, 8 Aug 2005 17:52:16 +0000 (13:52 -0400)]
[PATCH] fsnotify_name/inoderemove

The patch below unhooks fsnotify from vfs_unlink & vfs_rmdir.  It
introduces two new fsnotify calls, that are hooked in at the dcache
level.  This not only more closely matches how the VFS layer works, it
also avoids the problem with locking and inode lifetimes.

The two functions are

 - fsnotify_nameremove -- called when a directory entry is going away.
   It notifies the PARENT of the deletion.  This is called from
   d_delete().

 - inoderemove -- called when the files inode itself is going away.  It
   notifies the inode that is being deleted.  This is called from
   dentry_iput().

Signed-off-by: John McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dvb: lgdt330x frontend: some bug fixes & add lgdt3303 support
Michael Krufky [Mon, 8 Aug 2005 16:22:43 +0000 (09:22 -0700)]
[PATCH] dvb: lgdt330x frontend: some bug fixes & add lgdt3303 support

- Structural changes within lgdt330x driver, framework now supports
  both chips... tested OK on lgdt3302 and lgdt3303.
- Add LG/TUA6034 dvb_pll_desc for ATSC with LG TDVS-H062F & DViCO FusionHDTV5.
- Fixed LGDT330X signal strength: For now, always set it to 0.
- Corrected LGDT330X boundary condition error in read_snr: dB calculation.

Signed-off-by: Mac Michaels <wmichaels1@earthlink.net>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: use klist in qeth driver
Cornelia Huck [Mon, 8 Aug 2005 16:22:36 +0000 (09:22 -0700)]
[PATCH] s390: use klist in qeth driver

From: Martin Schwidesky <schwidefsky@de.ibm.com>

Convert qeth to the new klist interface and make it compiling again.

Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] don't try to do any NAT on untracked connections
Harald Welte [Mon, 8 Aug 2005 09:50:55 +0000 (11:50 +0200)]
[PATCH] don't try to do any NAT on untracked connections

With the introduction of 'rustynat' in 2.6.11, the old tricks of preventing
NAT of 'untracked' connections (e.g. NOTRACK target in 'raw' table) are no
longer sufficient.

The ip_conntrack_untracked.status |= IPS_NAT_DONE_MASK effectively
prevents iteration of the 'nat' table, but doesn't prevent nat_packet()
to be executed.  Since nr_manips is gone in 'rustynat', nat_packet() now
implicitly thinks that it has to do NAT on the packet.

This patch fixes that problem by explicitly checking for
ip_conntrack_untracked in ip_nat_fn().

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Update contact info for James Morris
James Morris [Mon, 8 Aug 2005 14:29:08 +0000 (10:29 -0400)]
[PATCH] Update contact info for James Morris

19 years ago[PATCH] VIA VT8235 PCI quirk
Ivan Kokshaysky [Mon, 8 Aug 2005 08:55:54 +0000 (12:55 +0400)]
[PATCH] VIA VT8235 PCI quirk

Like many other southbridges from different manufacturers, VIA VT8235
chip has two non-standard BARs for power management and SMBus registers
(see the datasheet at http://www.via.com.tw).

This new quirk routine fixes boot problem with 2.6.13-rc2/rc6 kernels on
Targa Visionary 811 Athlon64 laptop, as reported by Mikael Pettersson
<mikpe@csd.uu.se>.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] nvidiafb: Fix initial display corruption on certain laptops
Antonino Daplas [Mon, 8 Aug 2005 06:22:43 +0000 (14:22 +0800)]
[PATCH] nvidiafb: Fix initial display corruption on certain laptops

Reported by:Vincent Fortier (Bugzilla Bug 4768)

"At boot time the screen appears moved to the mid right portion of the actual
video pannel making the end of the line appears at the left edge...  It simply
looks like moved half way to the right"

His particular hardware has a display with an unusual dimension (1920x1200) but
unfortunately has no EDID block. None of the entries in the global mode
database is correct for this particular display, and it particularly has
difficulty scaling up 640x480 (the default startup mode of nvidiafb) to
1920x1200 which causes the above described problem.

1, Add 1920x1200 to the global mode database.

2. Let nvidiafb base the startup mode from the flatpanel dimensions only if the
  EDID block is absent, no boot mode parameter is specified by the user, and
  a flatpanel/LCD display is attached.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: update defconfigs
Paul Mackerras [Mon, 8 Aug 2005 04:16:43 +0000 (14:16 +1000)]
[PATCH] ppc64: update defconfigs

Update the default/example configs for ppc64.  Pretty boring...

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: add default config for BPA
Arnd Bergmann [Mon, 8 Aug 2005 04:12:42 +0000 (14:12 +1000)]
[PATCH] ppc64: add default config for BPA

This adds a bpa_defconfig file and make target. The config settings
are made for the current version of the Cell Processor Based Blade,
so there are not too many drivers enabled. A few more drivers might
get added in the future though.

Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoLinux 2.6.13-rc6
Linus Torvalds [Sun, 7 Aug 2005 18:18:56 +0000 (11:18 -0700)]
Linux 2.6.13-rc6

Last (?) -rc, partly brought on by the aic7xxx performance fixes (ie get
them tested in an -rc release before the real 2.6.13).

19 years ago[PATCH] crc32.c typo fix
Dominik Hackl [Sun, 7 Aug 2005 16:42:53 +0000 (09:42 -0700)]
[PATCH] crc32.c typo fix

This patch fixes a typo in lib/crc32.c which results in incorrect debug
output.

Signed-off-by: Dominik Hackl <dominik@hackl.dhs.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Move the fix to align node_end_pfns to a proper location
Ravikiran G Thirumalai [Sun, 7 Aug 2005 16:42:50 +0000 (09:42 -0700)]
[PATCH] Move the fix to align node_end_pfns to a proper location

Move the fix to align node_end_pfns to a proper location.  The earlier fix
made the node_remap_start_vaddr to get misaligned causing remap_numa_kva to
barf again :-/

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: 8xx commproc avoid direct pte manipulation, use dma coherent API instead
Marcelo Tosatti [Sun, 7 Aug 2005 16:42:47 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx commproc avoid direct pte manipulation, use dma coherent API instead

Touching the pte directly causes the 8Mbyte TLB entry to be invalidated.

This has been fixed in v2.4 for ages.

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: 8xx kill unused variable in commproc
Aristeu Sergio Rozanski Filho [Sun, 7 Aug 2005 16:42:46 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx kill unused variable in commproc

8xx: commproc.c: kill unused variable

Signed-off-by: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: 8xx restrict ENET_BIG_BUFFERS option
Aristeu Sergio Rozanski Filho [Sun, 7 Aug 2005 16:42:43 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx restrict ENET_BIG_BUFFERS option

8xx: restrict ENET_BIG_BUFFERS option to drivers which actually use it

Signed-off-by: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: 8xx fix CPM ethernet description
Aristeu Sergio Rozanski Filho [Sun, 7 Aug 2005 16:42:40 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx fix CPM ethernet description

8xx: fix CPM Ethernet description

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: 8xx: fec: fix interrupt handler prototypes
Aristeu Sergio Rozanski Filho [Sun, 7 Aug 2005 16:42:36 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx: fec: fix interrupt handler prototypes

8xx: fec: fix interrupt handler prototypes

Signed-off-by: Aristeu Sergio Rozanski Filho <aris@conectiva.com.br>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
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] ppc32: 8xx: using dma_alloc_coherent() instead consistent_alloc()
Aristeu Sergio Rozanski Filho [Sun, 7 Aug 2005 16:42:33 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx: using dma_alloc_coherent() instead consistent_alloc()

8xx: using dma_alloc_coherent() instead consistent_alloc()

Signed-off-by: Aristeu Sergio Rozanski Filho <aris@conectiva.com.br>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
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] ppc32: 8xx: convert fec driver to use work_struct
Aristeu Sergio Rozanski Filho [Sun, 7 Aug 2005 16:42:28 +0000 (09:42 -0700)]
[PATCH] ppc32: 8xx: convert fec driver to use work_struct

8xx: convert fec driver to use work_struct

Signed-off-by: Aristeu Sergio Rozanski Filho <aris@conectiva.com.br>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
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] namespace.c: fix bind mount from foreign namespace
Miklos Szeredi [Sun, 7 Aug 2005 16:42:25 +0000 (09:42 -0700)]
[PATCH] namespace.c: fix bind mount from foreign namespace

I'm resending this patch, because I still believe it's the correct fix.

Tested before/after applying the patch with a test application
available from:

  http://www.inf.bme.hu/~mszeredi/nstest.c

Bind mount from a foreign namespace results in an un-removable mount.
The reason is that mnt->mnt_namespace is copied from the old mount in
clone_mnt().  Because of this check_mnt() in sys_umount() will fail.

The solution is to set mnt->mnt_namespace to current->namespace in
clone_mnt().  clone_mnt() is either called from do_loopback() or
copy_tree().  copy_tree() is called from do_loopback() or
copy_namespace().

When called (directly or indirectly) from do_loopback(), always
current->namspace is being modified: check_mnt(nd->mnt).  So setting
mnt->mnt_namespace to current->namspace is the right thing to do.

When called from copy_namespace(), the setting of mnt_namespace is
irrelevant, since mnt_namespace is reset later in that function for
all copied mounts.

Jamie said:

  This patch is correct.  The old code was buggy for more fundamental and
  serious reason: it broke the invariant that a tree of vfsmnts all have the
  same value of mnt_namespace (and the same for the mnt_list list).

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Acked-by: Jamie Lokier <jamie@shareable.org>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove linux/pagemap.h from linux/swap.h
Olaf Hering [Sun, 7 Aug 2005 16:42:24 +0000 (09:42 -0700)]
[PATCH] remove linux/pagemap.h from linux/swap.h

sparc can not include linux/pagemap.h because of the following circular
dependency:

asm-sparc/pgtable include linux/swap.h
linux/swap.h include now linux/pagemap.h
linux/pagemap.h include linux/mm.h
linux/mm.h include asm/pgtable.h

It needs to have the swp_entry_t type fully visible in pgtable.h,
we can't work around this using macros.

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] visws: linkage fix
Tom Duffy [Sun, 7 Aug 2005 16:42:23 +0000 (09:42 -0700)]
[PATCH] visws: linkage fix

This patch add stubs to allow the visws subarch to link again.

Signed-off-by: Tom Duffy <thomas.duffy.99@alumni.brown.edu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Make visws compile again
Tom Duffy [Sun, 7 Aug 2005 16:42:16 +0000 (09:42 -0700)]
[PATCH] Make visws compile again

In file included from linux-2.6.13-rc5/arch/i386/kernel/timers/timer_pit.c:20:
linux-2.6.13-rc5/include/asm-i386/mach-visws/do_timer.h: In function `do_timer_overflow':
linux-2.6.13-rc5/include/asm-i386/mach-visws/do_timer.h:32: error: `i8259A_lock' undeclared (first use in this function)
linux-2.6.13-rc5/include/asm-i386/mach-visws/do_timer.h:32: error: (Each undeclared identifier is reported only once
linux-2.6.13-rc5/include/asm-i386/mach-visws/do_timer.h:32: error: for each function it appears in.)
make[3]: *** [arch/i386/kernel/timers/timer_pit.o] Error 1
make[2]: *** [arch/i386/kernel/timers] Error 2
make[1]: *** [arch/i386/kernel] Error 2
make: *** [_all] Error 2

Signed-off-by: Tom Duffy <thomas.duffy.99@alumni.brown.edu>
Cc: Andrey Panin <pazke@orbita1.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] __bio_clone() dead comment
Andrew Morton [Sun, 7 Aug 2005 16:42:12 +0000 (09:42 -0700)]
[PATCH] __bio_clone() dead comment

Remove a very wrong comment.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: ignore machine checks from boot time
Andi Kleen [Sun, 7 Aug 2005 16:42:07 +0000 (09:42 -0700)]
[PATCH] x86_64: ignore machine checks from boot time

Don't log machine check events left over from boot.  Too many BIOSes leave
bogus events in there.

This unfortunately also makes it impossible to log events that caused a
reboot.  For people with non broken BIOS there is mce=bootlog

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix restore of 64-bit PCI BAR's
Ivan Kokshaysky [Sun, 7 Aug 2005 09:49:59 +0000 (13:49 +0400)]
[PATCH] Fix restore of 64-bit PCI BAR's

For 64-bit BAR[i] only pci_dev->resource[i] is valid, ->resource[i+1]
slot is unused and contains zeroes in all fields.

So when we update a PCI BAR, all we need is just to check that we're
going to update a _valid_ resource.

Also make sure to write high bits - use "x >> 16 >> 16" (rather than the
simpler ">> 32") to avoid warnings on 32-bit architectures where we're
not going to have any high bits.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ARM: switch fd1772.c from sleep_on to wait_event
Christoph Hellwig [Sun, 7 Aug 2005 13:23:42 +0000 (14:23 +0100)]
[PATCH] ARM: switch fd1772.c from sleep_on to wait_event

Doesn't make the local irq disabling around it less buggy, but at
least we replace the offender with the right kind of primitive.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: Make sa1100fb_display_dma_period() an inline function
Russell King [Sun, 7 Aug 2005 13:20:26 +0000 (14:20 +0100)]
[PATCH] ARM: Make sa1100fb_display_dma_period() an inline function

This function produces a warning when CPU_FREQ=n.  Since it's a very
simple calculation, make it inline instead of adding preprocessor
directives around it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] x86_64 bootmem: sparse_mem/kexec merge bug.
Eric W. Biederman [Sat, 6 Aug 2005 19:47:36 +0000 (13:47 -0600)]
[PATCH] x86_64 bootmem: sparse_mem/kexec merge bug.

When the sparse mem changes and the kexec changes
were merged into setup.c they came in, in the wrong order.
This patch changes the order so we don't run sparse_init
which uses the bootmem allocator until we all of the
reserve_bootmem calls has been made.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386 visws: Add machine_shutdown and emergency_restart
Eric W. Biederman [Sat, 6 Aug 2005 19:45:10 +0000 (13:45 -0600)]
[PATCH] i386 visws: Add machine_shutdown and emergency_restart

Another x86 subarchitecture bit I missed.  This adds both
machine_emergency_restart missed in my reboot fixes and
machine_shutdown needed for kexec support.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386 voyager: Add machine_shutdown
Eric W. Biederman [Sat, 6 Aug 2005 19:42:45 +0000 (13:42 -0600)]
[PATCH] i386 voyager: Add machine_shutdown

Here is one more bit of breakage my x86 sub-architecture
confusion caused.

Add machine_shutdown to voyager so it will compile with CONFIG_KEXEC.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6
Linus Torvalds [Sat, 6 Aug 2005 17:18:48 +0000 (10:18 -0700)]
Merge /linux/kernel/git/holtmann/bluetooth-2.6

19 years agoppc: Export __handle_mm_fault for MOL
Linus Torvalds [Sat, 6 Aug 2005 16:44:37 +0000 (09:44 -0700)]
ppc: Export __handle_mm_fault for MOL

When we did the handle_mm_fault cleanup and get_user_page() race fixes,
handle_mm_fault turned into an inline function that called the real
__handle_mm_fault() code.  The export needed for MOL on ppc wasn't
updated to match the new world order, though.

Turn it into a GPL export while at it, since this is all about internal
interfaces and MOL is GPL'd anwyay.

19 years agoCheck input buffer size in zisofs
Linus Torvalds [Sat, 6 Aug 2005 16:42:06 +0000 (09:42 -0700)]
Check input buffer size in zisofs

This uses the new deflateBound() thing to sanity-check the input to the
zlib decompressor before we even bother to start reading in the blocks.

Problem noted by Tim Yamin <plasmaroo@gentoo.org>

19 years agoAdd fakey 'deflateBound()' function to the in-kernel zlib routines
Linus Torvalds [Sat, 6 Aug 2005 16:39:57 +0000 (09:39 -0700)]
Add fakey 'deflateBound()' function to the in-kernel zlib routines

It's not the real deflateBound() in newer zlib libraries, partly because
the upcoming usage of it won't have the "stream" available, so we can't
have the same interfaces anyway.

19 years ago[PATCH] ppc32: ppc440 pagetable attributes (comments updates)
Matt Porter [Sat, 6 Aug 2005 14:21:06 +0000 (07:21 -0700)]
[PATCH] ppc32: ppc440 pagetable attributes (comments updates)

Here's an incremental patch with comment updates and some additional
grammar cleanups.

Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[TG3]: Save initial PCI state before registering the netdevice.
David S. Miller [Sat, 6 Aug 2005 13:35:48 +0000 (06:35 -0700)]
[TG3]: Save initial PCI state before registering the netdevice.

Else on SMP systems it is possible for hotplug to execute,
invoke tg3_open(), and end up loading the uninitialized
PCI register save area into the card.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPSEC]: Restrict socket policy loading to CAP_NET_ADMIN.
Herbert Xu [Sat, 6 Aug 2005 13:33:15 +0000 (06:33 -0700)]
[IPSEC]: Restrict socket policy loading to CAP_NET_ADMIN.

The interface needs much redesigning if we wish to allow
normal users to do this in some way.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[Bluetooth] Add direction and timestamp to stack internal events
Marcel Holtmann [Sat, 6 Aug 2005 10:36:54 +0000 (12:36 +0200)]
[Bluetooth] Add direction and timestamp to stack internal events

This patch changes the direction to incoming and adds the timestamp
to all stack internal events.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
19 years ago[Bluetooth] Remove unused functions and cleanup symbol exports
Marcel Holtmann [Sat, 6 Aug 2005 10:36:51 +0000 (12:36 +0200)]
[Bluetooth] Remove unused functions and cleanup symbol exports

This patch removes the unused bt_dump() function and it also removes
its BT_DMP macro. It also unexports the hci_dev_get(), hci_send_cmd()
and hci_si_event() functions.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
19 years ago[Bluetooth] Kill redundant NULL checks before kfree()
Marcel Holtmann [Sat, 6 Aug 2005 10:36:47 +0000 (12:36 +0200)]
[Bluetooth] Kill redundant NULL checks before kfree()

There's no need to check for NULL before calling kfree() on a pointer.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
19 years ago[Bluetooth] Revert session reference counting fix
Marcel Holtmann [Sat, 6 Aug 2005 10:36:42 +0000 (12:36 +0200)]
[Bluetooth] Revert session reference counting fix

The fix for the reference counting problem of the signal DLC introduced
a race condition which leads to an oops. The reason for it is not fully
understood by now and so revert this fix, because the reference counting
problem is not crashing the RFCOMM layer and its appearance it rare.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
19 years ago[Bluetooth] Send HCI_Reset for Kensington dongle
Marcel Holtmann [Sat, 6 Aug 2005 10:36:36 +0000 (12:36 +0200)]
[Bluetooth] Send HCI_Reset for Kensington dongle

The Kensington Bluetooth USB adapter is based on a Broadcom chip
with the HID proxy support. To initialize these kind of devices
correctly it is necessary to send HCI_Reset as the first command.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
19 years ago[PATCH] ppc32: fix ppc440 pagetable attributes
Matt Porter [Fri, 5 Aug 2005 23:10:10 +0000 (16:10 -0700)]
[PATCH] ppc32: fix ppc440 pagetable attributes

This patch fixes a bug in the PPC440 pagetable attributes that breaks swap
support.  It also adds some notes on the PPC440 attribute fields.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> for CELF
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Update in-kernel zlib routines
Tim Yamin [Mon, 25 Jul 2005 22:16:13 +0000 (23:16 +0100)]
[PATCH] Update in-kernel zlib routines

These bugs have been fixed in the standard zlib for a while.

See for example

 a) http://sources.redhat.com/ml/bug-gnu-utils/1999-06/msg00183.html
 b) http://bugs.gentoo.org/show_bug.cgi?id=94584

Signed-off-by: Tim Yamin <plasmaroo@gentoo.org>
Signed-off-by: Tavis Ormandy <taviso@gentoo.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix semundo lock leakage
Ingo Molnar [Fri, 5 Aug 2005 21:05:27 +0000 (23:05 +0200)]
[PATCH] Fix semundo lock leakage

semundo->lock can leak if semundo->refcount goes from 2 to 1 while
another thread has it locked.  This causes major problems for PREEMPT
kernels.

The simplest fix for now is to undo the single-thread optimization.

This bug was found via relentless testing by Dominik Karall.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] blk: fix tag shrinking (revive real_max_size)
Tejun Heo [Fri, 5 Aug 2005 20:28:11 +0000 (13:28 -0700)]
[PATCH] blk: fix tag shrinking (revive real_max_size)

My patch in commit fa72b903f75e4f0f0b2c2feed093005167da4023 incorrectly
removed blk_queue_tag->real_max_depth.

The original resize implementation was incorrect in the following
points.

 * actual allocation size of tag_index was shorter than real_max_size,
   but assumed to be of the same size, possibly causing memory access
   beyond the allocated area.
 * bits in tag_map between max_deptn and real_max_depth were
   initialized to 1's, making the tags permanently reserved.

In an attempt to fix above two bugs, I had removed allocation optimization
in init_tag_map and real_max_size.  Tag map/index were allocated and freed
immediately during resize.

Unfortunately, I wasn't considering that tag map/index can be resized
dynamically with tags beyond new_depth active.  This led to accessing
freed area after shrinking tags and led to the following bug reporting
thread on linux-scsi.

   http://marc.theaimsgroup.com/?l=linux-scsi&m=112319898111885&w=2

To fix the problem, I've revived real_max_depth without allocation
optimization in init_tag_map, and Andrew Vasquez confirmed that the
problem was fixed.  As Jens is not going to be available for a week, he
asked me to make sure that this patch reaches you.

   http://marc.theaimsgroup.com/?l=linux-scsi&m=112325778530886&w=2

Also, a comment was added to make sure that real_max_size is needed for
dynamic shrinking.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix hugepage crash on failing mmap()
David Gibson [Fri, 5 Aug 2005 18:59:35 +0000 (11:59 -0700)]
[PATCH] Fix hugepage crash on failing mmap()

This patch fixes a crash in the hugepage code.  unmap_hugepage_area() was
assuming that (due to prefault) PTEs must exist for all the area in
question.  However, this may not be the case, if mmap() encounters an error
before the prefault and calls unmap_region() to clean up any partial
mapping.

Depending on the hugepage configuration, this crash can be triggered by an
unpriveleged user.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix voyager compile after machine_emergency_restart breakage
James Bottomley [Fri, 5 Aug 2005 18:59:34 +0000 (11:59 -0700)]
[PATCH] fix voyager compile after machine_emergency_restart breakage

[PATCH] i386: Implement machine_emergency_reboot

introduced this new function into arch/i386/reboot.c.  However,
subarchitectures are entitled to implement their own copies of reboot.c
from which this new function is now missing.

It looks like visws will also need a similar fixup

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] tpm_infineon: Support for new TPM 1.2 and PNPACPI
Marcel Selhorst [Fri, 5 Aug 2005 18:59:33 +0000 (11:59 -0700)]
[PATCH] tpm_infineon: Support for new TPM 1.2 and PNPACPI

This patch includes support for the new Infineon Trusted Platform Module
SLB 9635 TT 1.2 and does further include ACPI-support for both chip
versions (SLD 9630 TT 1.1 and SLB9635 TT 1.2).  Since the ioports and
configuration registers are not correctly set on some machines, the
configuration is now done via PNPACPI, which reads out the correct values
out of the DSDT-table.  Note that you have to have CONFIG_PNP,
CONFIG_ACPI_BUS and CONFIG_PNPACPI enabled to run this driver (assuming
that mainboards including a TPM do have the need for ACPI anyway).

Signed-off-by: Marcel Selhorst <selhorst@crypto.rub.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] REPORTING-BUGS: track regressions
Andrew Morton [Fri, 5 Aug 2005 18:59:32 +0000 (11:59 -0700)]
[PATCH] REPORTING-BUGS: track regressions

Add a new record to the REPORTING-BUGS template: "Most recent kernel version
which did not have the bug:".  So we can spot regressions more easily.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 5 Aug 2005 14:49:30 +0000 (07:49 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 5 Aug 2005 14:42:20 +0000 (07:42 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[PATCH] rtc: msleep() cannot be used from interrupt
Petr Vandrovec [Fri, 5 Aug 2005 13:50:07 +0000 (15:50 +0200)]
[PATCH] rtc: msleep() cannot be used from interrupt

Since the beginning of July my Opteron box was randomly crashing and
being rebooted by hardware watchdog.  Today it finally did it in front
of me, and this patch will hopefully fix it.

The problem is that at the end of June (the 28th, to be exact: commit
47f176fdaf8924bc83fddcf9658f2fd3ef60d573, "[PATCH] Using msleep()
instead of HZ") rtc_get_rtc_time was converted to use msleep() instead
of busy waiting.  But rtc_get_rtc_time is used by hpet_rtc_interrupt,
and scheduling is not allowed during interrupt.  So I'm reverting this
part of original change, replacing msleep() back with busy loop.

The original code was busy waiting for up to 20ms, but on my hardware in
the worst case update-in-progress bit was asserted for at most 363
passes through loop (on 2GHz dual Opteron), much less than even one
jiffie, not even talking about 20ms.  So I changed code to just wait
only as long as necessary.  Otherwise when RTC was set to generate
8192Hz timer, it stopped doing anything for 20ms (160 pulses were
skipped!) from time to time, and this is rather suboptimal as far as I
can tell.

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[IPV4]: Fix memory leak during fib_info hash expansion.
David S. Miller [Fri, 5 Aug 2005 11:12:48 +0000 (04:12 -0700)]
[IPV4]: Fix memory leak during fib_info hash expansion.

When we grow the tables, we forget to free the olds ones
up.

Noticed by Yan Zheng.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] __vm_enough_memory() signedness fix
Simon Derr [Fri, 5 Aug 2005 02:52:03 +0000 (19:52 -0700)]
[PATCH] __vm_enough_memory() signedness fix

We have found what seems to be a small bug in __vm_enough_memory() when
sysctl_overcommit_memory is set to OVERCOMMIT_NEVER.

When this bug occurs the systems fails to boot, with /sbin/init whining
about fork() returning ENOMEM.

We hunted down the problem to this:

The deferred update mecanism used in vm_acct_memory(), on a SMP system,
allows the vm_committed_space counter to have a negative value.

This should not be a problem since this counter is known to be inaccurate.

But in __vm_enough_memory() this counter is compared to the `allowed'
variable, which is an unsigned long.  This comparison is broken since it
will consider the negative values of vm_committed_space to be huge positive
values, resulting in a memory allocation failure.

Signed-off-by: <Jean-Marc.Saffroy@ext.bull.net>
Signed-off-by: <Simon.Derr@bull.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] tcp: fix TSO cwnd caching bug
Herbert Xu [Fri, 5 Aug 2005 02:52:02 +0000 (19:52 -0700)]
[PATCH] tcp: fix TSO cwnd caching bug

tcp_write_xmit caches the cwnd value indirectly in cwnd_quota.  When
tcp_transmit_skb reduces the cwnd because of tcp_enter_cwr, the cached
value becomes invalid.

This patch ensures that the cwnd value is always reread after each
tcp_transmit_skb call.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] tcp: fix TSO sizing bugs
David S. Miller [Fri, 5 Aug 2005 02:52:01 +0000 (19:52 -0700)]
[PATCH] tcp: fix TSO sizing bugs

MSS changes can be lost since we preemptively initialize the tso_segs count
for an SKB before we %100 commit to sending it out.

So, by the time we send it out, the tso_size information can be stale due
to PMTU events.  This mucks up all of the logic in our send engine, and can
even result in the BUG() triggering in tcp_tso_should_defer().

Another problem we have is that we're storing the tp->mss_cache, not the
SACK block normalized MSS, as the tso_size.  That's wrong too.

Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Clean up inotify delete race fix
John McCutchan [Fri, 5 Aug 2005 01:12:54 +0000 (21:12 -0400)]
[PATCH] Clean up inotify delete race fix

This avoids the whole #ifdef mess by just getting a copy of
dentry->d_inode before d_delete is called - that makes the codepaths the
same for the INOTIFY/DNOTIFY cases as for the regular no-notify case.
I've been running this under a Gnome session for the last 10 minutes.
Inotify is being used extensively.

Signed-off-by: John McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: Fix setup packet initialization in isp116x-hcd
Olav Kongas [Fri, 5 Aug 2005 01:06:47 +0000 (18:06 -0700)]
[PATCH] USB: Fix setup packet initialization in isp116x-hcd

When recently addressing remarks by Alexey Dobriyan about
the isp116x-hcd, I introduced a bug in the driver. Please
apply the attached patch to fix it.

Signed-off-by: Olav Kongas <ok@artecdesign.ee>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: ehci: microframe handling fix
David Brownell [Fri, 5 Aug 2005 01:06:41 +0000 (18:06 -0700)]
[PATCH] USB: ehci: microframe handling fix

This patch has a one line oops fix, plus related cleanups.

 - The bugfix uses microframe scheduling data given to the hardware to
   test "is this a periodic QH", rather than testing for nonzero period.
   (Prevents an oops by providing the correct answer.)

 - The cleanup going along with the patch should make it clearer what's
   going on whenever those bitfields are accessed.

The bug came about when, around January, two new kinds of EHCI interrupt
scheduling operation were added, involving both the high speed (24 KBytes
per millisec) and low/full speed (1-64 bytes per millisec) microframe
scheduling.  A driver for the Edirol UA-1000 Audio Capture Unit ran into
the oops; it used one of the newly supported high speed modes.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: ub documentation update
Pete Zaitcev [Fri, 5 Aug 2005 01:06:36 +0000 (18:06 -0700)]
[PATCH] USB: ub documentation update

The patch which went in was correct, but not quite what I had in mind.
Here is a patch to update that a little bit. Original patch is at:
 http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4749f32da939d4e4160541b2cadc22492bb507ec

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pci and yenta: pcibios_bus_to_resource
Dominik Brodowski [Fri, 5 Aug 2005 01:06:21 +0000 (18:06 -0700)]
[PATCH] pci and yenta: pcibios_bus_to_resource

In yenta_socket, we default to using the resource setting of the CardBus
bridge.  However, this is a PCI-bus-centric view of resources and thus needs
to be converted to generic resources first.  Therefore, add a call to
pcibios_bus_to_resource() call in between.  This function is a mere wrapper on
x86 and friends, however on some others it already exists, is added in this
patch (alpha, arm, ppc, ppc64) or still needs to be provided (parisc -- where
is its pcibios_resource_to_bus() ?).

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it
John W. Linville [Fri, 5 Aug 2005 01:06:10 +0000 (18:06 -0700)]
[PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it

Some PCI devices (e.g. 3c905B, 3c556B) lose all configuration
(including BARs) when transitioning from D3hot->D0.  This leaves such
a device in an inaccessible state.  The patch below causes the BARs
to be restored when enabling such a device, so that its driver will
be able to access it.

The patch also adds pci_restore_bars as a new global symbol, and adds a
correpsonding EXPORT_SYMBOL_GPL for that.

Some firmware (e.g. Thinkpad T21) leaves devices in D3hot after a
(re)boot.  Most drivers call pci_enable_device very early, so devices
left in D3hot that lose configuration during the D3hot->D0 transition
will be inaccessible to their drivers.

Drivers could be modified to account for this, but it would
be difficult to know which drivers need modification.  This is
especially true since often many devices are covered by the same
driver.  It likely would be necessary to replicate code across dozens
of drivers.

The patch below should trigger only when transitioning from D3hot->D0
(or at boot), and only for devices that have the "no soft reset" bit
cleared in the PM control register.  I believe it is safe to include
this patch as part of the PCI infrastructure.

The cleanest implementation of pci_restore_bars was to call
pci_update_resource.  Unfortunately, that does not currently exist
for the sparc64 architecture.  The patch below includes a null
implemenation of pci_update_resource for sparc64.

Some have expressed interest in making general use of the the
pci_restore_bars function, so that has been exported to GPL licensed
modules.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] revert "timer exit cleanup"
Andrew Morton [Thu, 4 Aug 2005 23:49:32 +0000 (16:49 -0700)]
[PATCH] revert "timer exit cleanup"

Revert this June 17 patch: it broke persistence of timers across execve().

Cc: Roland McGrath <roland@redhat.com>
Cc: george anzinger <george@mvista.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: fix 32-bit thread debugging
Daniel Jacobowitz [Thu, 4 Aug 2005 20:41:09 +0000 (13:41 -0700)]
[PATCH] x86_64: fix 32-bit thread debugging

The IA32 ptrace emulation currently returns the wrong registers for fs/gs;
it's returning what x86_64 calls gs_base.  We need regs.gsindex in order
for GDB to correctly locate the TLS area.  Without this patch, the 32-bit
GDB testsuite bombs on a 64-bit kernel.  With it, results look about like
I'd expect, although there are still a handful of kernel-related failures
(vsyscall related?).

Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove special HPET_EMULATE_RTC config option
Venkatesh Pallipadi [Thu, 4 Aug 2005 22:36:10 +0000 (15:36 -0700)]
[PATCH] remove special HPET_EMULATE_RTC config option

We had a user whose apps weren't working correctly because his "rtc" wasn't
working fully.

For the sake of simplicity, it seems sensible to always enable HPET RTC
emulation.

Remove a special config option for HPET_EMULATE_RTC and make it directly
depend on HPET_TIMER and RTC. This will avoid the hangs when EMULATE_RTC
is not configured and when some userlevel script depends on RTC interrupt,
as in:

http://bugzilla.kernel.org/show_bug.cgi?id=4904

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix VmSize and VmData after mremap
Hugh Dickins [Thu, 4 Aug 2005 20:07:09 +0000 (13:07 -0700)]
[PATCH] fix VmSize and VmData after mremap

mremap's move_vma is applying __vm_stat_account to the old vma which may
have already been freed: move it to just before the do_munmap.

mremapping to and fro with CONFIG_DEBUG_SLAB=y showed /proc/<pid>/status
VmSize and VmData wrapping just like in kernel bugzilla #4842, and fixed by
this patch - worth including in 2.6.13, though not yet confirmed that it
fixes that specific report from Frank van Maarseveen.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] inotify delete race fix
John McCutchan [Thu, 4 Aug 2005 20:07:08 +0000 (13:07 -0700)]
[PATCH] inotify delete race fix

The included patch fixes a problem where a inotify client would receive a
delete event before the file was actually deleted.  The bug affects both
dnotify & inotify.

Signed-off-by: John McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: Robert Love <rml@novell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] inotify: update help text
Robert Love [Thu, 4 Aug 2005 20:07:08 +0000 (13:07 -0700)]
[PATCH] inotify: update help text

The inotify help text still refers to the character device.  Update it.

Fixes kernel bug #4993.

Signed-off-by: Robert Love <rml@novell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Destruction of failed keyring oopses
David Howells [Thu, 4 Aug 2005 20:07:07 +0000 (13:07 -0700)]
[PATCH] Destruction of failed keyring oopses

The attached patch makes sure that a keyring that failed to instantiate
properly is destroyed without oopsing [CAN-2005-2099].

The problem occurs in three stages:

 (1) The key allocator initialises the type-specific data to all zeroes. In
     the case of a keyring, this will become a link in the keyring name list
     when the keyring is instantiated.

 (2) If a user (any user) attempts to add a keyring with anything other than
     an empty payload, the keyring instantiation function will fail with an
     error and won't add the keyring to the name list.

 (3) The keyring's destructor then sees that the keyring has a description
     (name) and tries to remove the keyring from the name list, which oopses
     because the link pointers are both zero.

This bug permits any user to take down a box trivially.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Error during attempt to join key management session can leave semaphore pinned
David Howells [Thu, 4 Aug 2005 20:07:06 +0000 (13:07 -0700)]
[PATCH] Error during attempt to join key management session can leave semaphore pinned

The attached patch prevents an error during the key session joining operation
from hanging future joins in the D state [CAN-2005-2098].

The problem is that the error handling path for the KEYCTL_JOIN_SESSION_KEYRING
operation has one error path that doesn't release the session management
semaphore. Further attempts to get the semaphore will then sleep for ever in
the D state.

This can happen in four situations, all involving an attempt to allocate a new
session keyring:

 (1) ENOMEM.

 (2) The users key quota being reached.

 (3) A keyring name that is an empty string.

 (4) A keyring name that is too long.

Any user may attempt this operation, and so any user can cause the problem to
occur.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6
Linus Torvalds [Thu, 4 Aug 2005 20:08:29 +0000 (13:08 -0700)]
Merge /linux/kernel/git/jejb/scsi-for-linus-2.6

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 4 Aug 2005 20:02:31 +0000 (13:02 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] ppc64: fix for kexec boot issue
Paul Mackerras [Thu, 4 Aug 2005 19:53:37 +0000 (12:53 -0700)]
[PATCH] ppc64: fix for kexec boot issue

The kexec boot is not successful on some power machines since all CPUs are
getting removed from global interrupt queue (GIQ) before kexec boot.  Some
systems always expect at least one CPU in GIQ.  Hence, this patch will make
sure that only secondary CPUs are removed from GIQ.

Signed-off-by: Haren Myneni <hbabu@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dm-raid locking fix
Alasdair G Kergon [Thu, 4 Aug 2005 19:53:37 +0000 (12:53 -0700)]
[PATCH] dm-raid locking fix

This code was never designed to handle more than one instance of do_work()
running at once.

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Add Documentation/kprobes.txt
Jim Keniston [Thu, 4 Aug 2005 19:53:35 +0000 (12:53 -0700)]
[PATCH] Add Documentation/kprobes.txt

Acked-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make sure md bitmap updates are flushed when array is stopped.
NeilBrown [Thu, 4 Aug 2005 19:53:35 +0000 (12:53 -0700)]
[PATCH] md: make sure md bitmap updates are flushed when array is stopped.

The recent change to never ignore the bitmap, revealed that the bitmap isn't
begin flushed properly when an array is stopped.

We call bitmap_daemon_work three times as there is a three-stage pipeline for
flushing updates to the bitmap file.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing...
NeilBrown [Thu, 4 Aug 2005 19:53:34 +0000 (12:53 -0700)]
[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing in all cases...

Firstly, R1BIO_Degraded was being set in a number of places in the resync
code, but is never used there, so get rid of those settings.

Then: When doing a resync, we want to clear the bit in the bitmap iff the
array will be non-degraded when the sync has completed.  However the current
code would clear the bitmap if the array was non-degraded when the resync
*started*, which obviously isn't right (it is for 'resync' but not for
'recovery' - i.e.  rebuilding a failed drive).

This patch calculated 'still_degraded' and uses the to tell bitmap_start_sync
whether this sync should clear the corresponding bit.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: always honour md bitmap being read from disk
NeilBrown [Thu, 4 Aug 2005 19:53:33 +0000 (12:53 -0700)]
[PATCH] md: always honour md bitmap being read from disk

The code currently will ignore the bitmap if the array seem to be in-sync.
This is wrong if the array is degraded, and probably wrong anyway.  If the
bitmap says some chunks are not in in-sync, and the superblock says everything
IS in sync, then something is clearly wrong, and it is safer to trust the
bitmap.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make 'md' and alias for 'md-mod'
NeilBrown [Thu, 4 Aug 2005 19:53:32 +0000 (12:53 -0700)]
[PATCH] md: make 'md' and alias for 'md-mod'

Until the bitmap code was added,

   modprobe md

would load the md module.  But now the md module is called 'md-mod', so we
really need an alias for backwards comparability.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: remove a stray debugging printk.
NeilBrown [Thu, 4 Aug 2005 19:53:32 +0000 (12:53 -0700)]
[PATCH] md: remove a stray debugging printk.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v4l: oopsfix for BTTV on badly behaved PCI chipsets
Mauro Carvalho Chehab [Thu, 4 Aug 2005 19:53:30 +0000 (12:53 -0700)]
[PATCH] v4l: oopsfix for BTTV on badly behaved PCI chipsets

no_overlay bttv parameter implemented to fix OOPS on some PCI chipsets
(like some VIA) with these behaviors:

1) If pci_quicks does identify the chip as having troubles to
   handle PCI2PCI transfers, no_overlay defaults to 1. The user may force
   it to 0, to reenable (not recommended).

2) For newer chipsets not blacklisted, no_overlay=1 is provided as a
   workaround until PCI chipset included on /drivers/pci/quirks.c

Thanks to Bodo Eggert <7eggert@gmx.de>

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Fix UP kernel build
Olof Johansson [Thu, 4 Aug 2005 19:53:29 +0000 (12:53 -0700)]
[PATCH] ppc64: Fix UP kernel build

CONFIG_KEXEC breaks UP builds because of a misspelled smp_release_cpus().
Also, the function isn't defined unless built with CONFIG_SMP but it is
needed if we are to go from a UP to SMP kernel.  Enable it and document it.

Thanks to Steven Winiecki for reporting this and to Milton for remembering
how it's supposed to work and why.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ide: fix kmalloc_node breakage in ide driver
Ravikiran G Thirumalai [Thu, 4 Aug 2005 19:53:26 +0000 (12:53 -0700)]
[PATCH] ide: fix kmalloc_node breakage in ide driver

Patch fixes oops caused by ide interfaces not on pci.  pcibus_to_node
causes the kernel to crash otherwise.  Patch also adds a BUG_ON to check if
hwif is NULL.

Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Cc: Andi Kleen <ak@muc.de>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ARM: 2844/1: Add maintainer for Jornada 720
Michael Gernoth [Thu, 4 Aug 2005 19:43:40 +0000 (20:43 +0100)]
[PATCH] ARM: 2844/1: Add maintainer for Jornada 720

Patch from Michael Gernoth

As discussed on the handhelds.org Jornada mailinglist, I take over
maintainership of the currently unmaintained Jornada 720-port in
the mainline kernel.

Signed-off-by: Michael Gernoth <michael@gernoth.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SCSI] fix aic7xxx performance issues since 2.6.12-rc2
James Bottomley [Thu, 4 Aug 2005 18:28:40 +0000 (13:28 -0500)]
[SCSI] fix aic7xxx performance issues since 2.6.12-rc2

Several people noticed we dropped quite a bit on benchmark figures.
OK, it was my fault but unfortunately I discovered I ran out of brown
paper bags a while ago and forgot to reorder them.

The issue is that a construct introduced in the conversion of the
driver to use the transport class keyed off whether the block request
was tagged or not.  However, the aic7xxx driver doesn't properly set
up the block layer TCQ (it uses the wrong API), so the driver now
things all requests are untagged and we keep it to a queue depth of a
single element.  Oops.

The fix is to use the correct TCQ API.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lenb/to-linus
Linus Torvalds [Thu, 4 Aug 2005 17:36:25 +0000 (10:36 -0700)]
Merge /pub/scm/linux/kernel/git/lenb/to-linus