]> git.neil.brown.name Git - history.git/log
history.git
22 years ago[PATCH] config: disable debug prints
Andrew Morton [Thu, 18 Mar 2004 23:00:28 +0000 (15:00 -0800)]
[PATCH] config: disable debug prints

From: Roman Zippel <zippel@linux-m68k.org>

This disables some debug prints, which are more confusing than helpful for
normal users.

22 years ago[PATCH] kconfig: don't rename target dir when saving config
Andrew Morton [Thu, 18 Mar 2004 23:00:19 +0000 (15:00 -0800)]
[PATCH] kconfig: don't rename target dir when saving config

From: Roman Zippel <zippel@linux-m68k.org>

conf_write() now checks the target path whether it's a directory, so it
saves the config in the directory instead of renaming it.

22 years ago[PATCH] kconfig: fix xconfig on /lib64 properly
Andrew Morton [Thu, 18 Mar 2004 23:00:09 +0000 (15:00 -0800)]
[PATCH] kconfig: fix xconfig on /lib64 properly

From: Roman Zippel <zippel@linux-m68k.org>

The correct link path is needed at config time to find the correct library,
so let's ask gcc for the real path.

22 years ago[PATCH] don't abuse empty_zero_page (x86)
Andrew Morton [Thu, 18 Mar 2004 23:00:00 +0000 (15:00 -0800)]
[PATCH] don't abuse empty_zero_page (x86)

From: Brian Gerst <bgerst@didntduck.org>

Don't abuse empty_zero_page as temporary storage for boot parameters and
command line.  This is a holdover from the days before discardable init
sections.

22 years ago[PATCH] proper alignment of init task in kernel image
Andrew Morton [Thu, 18 Mar 2004 22:59:50 +0000 (14:59 -0800)]
[PATCH] proper alignment of init task in kernel image

From: Matt Mackall <mpm@selenic.com>

This keeps the alignment of the init task matched with the stack size.

22 years ago[PATCH] sysfs: pin kobjects to fix use-after-free crashes
Andrew Morton [Thu, 18 Mar 2004 22:59:41 +0000 (14:59 -0800)]
[PATCH] sysfs: pin kobjects to fix use-after-free crashes

From: Maneesh Soni <maneesh@in.ibm.com>

Fix a sysfs use-after-free crash.  The problem we have is of the kobject
going away while we have a live dentry (the corresponding sysfs directory)
still pointing to it throuh d_fsdata pointer.  The patch makes sure to keep
the kobject alive by taking a reference to it during the life-time of
corresponding dentry.

o The following pins the kobject when sysfs assigns dentry and inode to
  the kobject. This ensures that kobject is alive during the life time of
  the dentry and inode, and people holding ref. to the dentry can access the
  kobject without any problems.

o The ref. taken for the kobject is released through dentry->d_op->d_iput()
  call when the dentry ref. count drops to zero and it is being freed. For
  this sysfs_dentry_operations is introduced.

For testing one has to run the following test on a SMP box:

1) Do insmod/rmmod "dummy.o" network driver in a forever loop.

2) Parallely do "find /sys/class/net | xargs cat" also in a forever loop.

22 years ago[PATCH] Fix dentry refcounting in sysfs_remove_group()
Andrew Morton [Thu, 18 Mar 2004 22:59:31 +0000 (14:59 -0800)]
[PATCH] Fix dentry refcounting in sysfs_remove_group()

From: Maneesh Soni <maneesh@in.ibm.com>

The following patch fixes the dentry refcounting, during
sysfs_remove_group() and also adds the missing dput() for the "extra" ref
taken during sysfs_create() for the sub-directory dentry corresponding to
attribute group.

22 years ago[PATCH] sysfs_remove_dir-vs-dcache_readdir race fix
Andrew Morton [Thu, 18 Mar 2004 22:59:22 +0000 (14:59 -0800)]
[PATCH] sysfs_remove_dir-vs-dcache_readdir race fix

From: Maneesh Soni <maneesh@in.ibm.com>

I have re-done the patch fixing the race between sysfs_remove_dir() and
dcache_readdir().  If you recall, sysfs_remove_dir(kobj) manipulates the
->d_subdirs list for the dentry corresponding to the sysfs directory being
removed.  It can end up deleting the cursor dentry which is added to the
->d_subdirs list during a concurrent dcache_dir_open() ==> dcache_readdir()
for the same directory.  And as a result dcache_readdir() can loop for ever
holding dcache_lock.

The earlier patch which was included in -mm1 created problems which
resulted in list_del() BUG hits in prune_dcache().  The reason I think is
that in the main loop in sysfs_remove_dir(), dcache_lock is dropped and
re-acquired, and this could result in inconsistent ->d_subdirs list and
prune_dcache() may try to delete an already deleted dentry.  I have
corrected this in the new patch as below.

I could do sysfs_remove_dir() more neatly on sysfs backing store patch set
as there I don't use the ->d_subdirs list.  Instead the list of children
sysfs_dirent works out well.  But untill sysfs backing store patch is
picked up the existing code suffer from this race.  This can be easily
tested by running following two loops on a SMP box

# while true; do insmod drivers/net/dummy.ko; rmmod dummy; done
# while true; do find /sys/class/net > /dev/null; done

o This patch fixes sysfs_remove_dir race with dcache_readdir.  There is
  no need for sysfs_remove_dir to modify the d_subdirs list for the
  directory being deleted as it is taken care in the final dput.  Modifying
  this list results in inconsistent d_subdirs list and causes infinite loop
  in concurrently occurring dcache_readdir.

o The main loop is restarted every time, dcache_lock is re-acquired in
  order to maintain consistency.

22 years ago[PATCH] Add dma_error() and pci_dma_error()
Andrew Morton [Thu, 18 Mar 2004 22:59:12 +0000 (14:59 -0800)]
[PATCH] Add dma_error() and pci_dma_error()

From: Anton Blanchard <anton@samba.org>

Introduce dma_error() and pci_dma_error() which are used to detect failures
in pci_map_single.

22 years ago[PATCH] ppc64: Fix POWER3 TCE allocation
Andrew Morton [Thu, 18 Mar 2004 22:59:02 +0000 (14:59 -0800)]
[PATCH] ppc64: Fix POWER3 TCE allocation

From: Anton Blanchard <anton@samba.org>

- Fix for machines with 3GB IO holes (eg nighthawk).
- Increase the maximum number of PHBs and warn if we exceed this (we used
  to walk off the end of the array)
- Only allocate an 8MB TCE table on POWER4

22 years ago[PATCH] ppc64: Fix SLB reload bug
Andrew Morton [Thu, 18 Mar 2004 22:58:53 +0000 (14:58 -0800)]
[PATCH] ppc64: Fix SLB reload bug

From: Paul Mackerras <paulus@samba.org>

Recently we found a particularly nasty bug in the segment handling in the
ppc64 kernel.  It would only happen rarely under heavy load, but when it
did the machine would lock up with the whole of memory filled with
exception stack frames.

The primary cause was that we were losing the translation for the kernel
stack from the SLB, but we still had it in the ERAT for a while longer.
Now, there is a critical region in various exception exit paths where we
have loaded the SRR0 and SRR1 registers from GPRs and we are loading those
GPRs and the stack pointer from the exception frame on the kernel stack.
If we lose the ERAT entry for the kernel stack in that region, we take an
SLB miss on the next access to the kernel stack.  Taking the exception
overwrites the values we have put into SRR0 and SRR1, which means we lose
state.  In fact we ended up repeating that last section of the exception
exit path, but using the user stack pointer this time.  That caused another
exception (or if it didn't, we loaded a new value from the user stack and
then went around and tried to use that).  And it spiralled downwards from
there.

The patch below fixes the primary problem by making sure that we really
never cast out the SLB entry for the kernel stack.  It also improves
debuggability in case anything like this happens again by:

- In our exception exit paths, we now check whether the RI bit in the
  SRR1 value is 0.  We already set the RI bit to 0 before starting the
  critical region, but we never checked it.  Now, if we do ever get an
  exception in one of the critical regions, we will detect it before
  returning to the critical region, and instead we will print a nasty
  message and oops.

- In the exception entry code, we now check that the kernel stack pointer
  value we're about to use isn't a userspace address.  If it is, we print a
  nasty message and oops.

This has been tested on G5 and pSeries (both with and without hypervisor)
and compile-tested on iSeries.

22 years ago[PATCH] ppc64: Add numa=off command line option
Andrew Morton [Thu, 18 Mar 2004 22:58:43 +0000 (14:58 -0800)]
[PATCH] ppc64: Add numa=off command line option

From: Anton Blanchard <anton@samba.org>

Add numa=off command line option to disable NUMA support at runtime.
Useful if there are issues with our parsing of the NUMA toplogy or for
testing NUMA gains.

22 years ago[PATCH] ppc64: remove IO_DEBUG
Andrew Morton [Thu, 18 Mar 2004 22:58:33 +0000 (14:58 -0800)]
[PATCH] ppc64: remove IO_DEBUG

From: Anton Blanchard <anton@samba.org>

Remove the old __IO_DEBUG stuff and add some nice comments courtesy of x86.

22 years ago[PATCH] ppc64: iSeries virtual tape driver
Andrew Morton [Thu, 18 Mar 2004 22:58:24 +0000 (14:58 -0800)]
[PATCH] ppc64: iSeries virtual tape driver

From: Stephen Rothwell <sfr@canb.auug.org.au>

This patch adds the driver for the PPC64 iSeries virtual tape.

22 years ago[PATCH] add touch_atime() helper
Alexander Viro [Thu, 18 Mar 2004 13:39:05 +0000 (05:39 -0800)]
[PATCH] add touch_atime() helper

Preparation for per-mountpoint noatime, nodiratime and later -
per-mountpoint r/o.  Depends on file_accessed() patch, should go after
it.

New helper - touch_atime(mnt, dentry).  It's a wrapper for
update_atime() and that's where all future per-mountpoint checks will
go.

22 years ago[PATCH] add file_accessed() helper
Alexander Viro [Thu, 18 Mar 2004 13:38:53 +0000 (05:38 -0800)]
[PATCH] add file_accessed() helper

New inlined helper - file_accessed(file) (wrapper for update_atime())

22 years ago[PATCH] missing check in do_add_mount()
Alexander Viro [Thu, 18 Mar 2004 13:38:43 +0000 (05:38 -0800)]
[PATCH] missing check in do_add_mount()

Make sure that we don't end up with symlink mounted over something

(mount --bind is safe since we use LOOKUP_FOLLOW in pathname resolution
there).

22 years agoMerge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
David S. Miller [Thu, 18 Mar 2004 09:27:09 +0000 (01:27 -0800)]
Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
into nuts.davemloft.net:/disk1/BK/sparc-2.6

22 years ago[SPARC]: NR_SYSCALLS in entry.S needs to be 273.
William Lee Irwin III [Thu, 18 Mar 2004 07:07:36 +0000 (23:07 -0800)]
[SPARC]: NR_SYSCALLS in entry.S needs to be 273.

22 years ago[CS4231]: Fix build error, use SNDRV_DMA_TYPE_DEV and missing comma.
Jason Wever [Thu, 18 Mar 2004 07:04:47 +0000 (23:04 -0800)]
[CS4231]: Fix build error, use SNDRV_DMA_TYPE_DEV and missing comma.

22 years ago[PATCH] FD_CLOEXEC fcntl cleanup
David Howells [Thu, 18 Mar 2004 05:54:56 +0000 (21:54 -0800)]
[PATCH] FD_CLOEXEC fcntl cleanup

This fixes a minor problem with fcntl.

get_close_on_exec() uses FD_ISSET() to determine the fd state, but this
is not guaranteed to be either 0 of FD_CLOEXEC.  Make that explicit.

Also, the argument of set_close_on_exec() is being AND'ed with the
literal constant 1.  Make it use an explicit FD_CLOEXEC test.

22 years agoMake ppc64 __FD_ISSET() return a proper boolean return value.
Linus Torvalds [Thu, 18 Mar 2004 05:52:21 +0000 (21:52 -0800)]
Make ppc64 __FD_ISSET() return a proper boolean return value.

(The broken macro only triggers for non-gcc compiles, but
still..)

22 years ago[PATCH] add missing MODULE_DEVICE_TABLE() to IDE PCI drivers
Bartlomiej Zolnierkiewicz [Thu, 18 Mar 2004 05:50:05 +0000 (21:50 -0800)]
[PATCH] add missing MODULE_DEVICE_TABLE() to IDE PCI drivers

Original patch from Hannes Reinecke <hare@suse.de>.

This is required to have modular IDE drivers announce themselves
properly in modules.pcimap.

22 years agocpu.c needs <linux/module.h> for symbol exports
Linus Torvalds [Thu, 18 Mar 2004 05:47:15 +0000 (21:47 -0800)]
cpu.c needs <linux/module.h> for symbol exports

22 years ago[PATCH] Implement migrate_all_tasks
Rusty Russell [Thu, 18 Mar 2004 05:30:28 +0000 (21:30 -0800)]
[PATCH] Implement migrate_all_tasks

Implement migrate_all_tasks() which moves tasks off cpu while machine
is stopped.

22 years ago[PATCH] Export cpu notifiers and do locking.
Rusty Russell [Thu, 18 Mar 2004 05:30:19 +0000 (21:30 -0800)]
[PATCH] Export cpu notifiers and do locking.

The registration and unregistration of CPU notifiers should be done
under the cpucontrol sem.  They should also be exported.

22 years ago[PATCH] hpfs: general cleanup
Alexander Viro [Thu, 18 Mar 2004 05:24:32 +0000 (21:24 -0800)]
[PATCH] hpfs: general cleanup

include files moved to fs/hpfs/, gratitious #include removed, stuff that
doesn't have to be global made static, misindented chunk of
hpfs_readdir() put in place, etc.

22 years ago[PATCH] hpfs: fix locking scheme
Alexander Viro [Thu, 18 Mar 2004 05:24:22 +0000 (21:24 -0800)]
[PATCH] hpfs: fix locking scheme

Fixed the locking scheme.  The need of extra locking was caused by
the fact that hpfs_write_inode() must update directory entry; since HPFS
directories are implemented as b-trees, we must provide protection both
against rename() (to make sure that we update the entry in right directory)
and against rebalancing of the parent.

Old scheme had both deadlocks and races - to start with, we had no
protection against rename()/unlink()/rmdir(), since (a) locking parent
was done without any warranties that it will remain our parent and (b)
check that we still have a directory entry (== have positive nlink) was
done before we tried to lock the parent.  Moreover, iget serialization
killed two steps ago gave immediate deadlocks if iget() of parent had
triggered another hpfs_write_inode().

New scheme introduces another per-inode semaphore (hpfs-only,
obviously) protecting the reference to parent.  It's taken on
rename/rmdir/unlink victims and inode being moved by rename.  Old semaphores
are taken only on parent(s) and only after we grab one(s) of the new kind.
hpfs_write_inode() gets the new semaphore on our inode, checks nlink and
if it's non-zero grabs parent and takes the old semaphore on it.

Order among the semaphores of the same kind is arbitrary - the only
function that might take more than one of the same kind is hpfs_rename()
and it's serialized by VFS.

We might get away with only one semaphore, but then the ordering
issues would bite us big way - we would have to make sure that child is
always locked before parent (hpfs_write_inode() leaves no other choice)
and while that's easy to do for almost all operations, rename() is a bitch -
as always.  And per-superblock rwsem giving rename() vs. write_inode()
exclusion on hpfs would make the entire thing too baroque for my taste.
->readdir() takes no locks at all (protection against directory
modifications is provided by VFS exclusion), ditto for ->lookup().
->llseek() on directories switched to use of (VFS) ->i_sem, so
it's safe from directory modifications and ->readdir() is safe from it -
no hpfs locks are needed here.

22 years ago[PATCH] hpfs: deadlock fixes
Alexander Viro [Thu, 18 Mar 2004 05:24:12 +0000 (21:24 -0800)]
[PATCH] hpfs: deadlock fixes

We used to have GFP_KERNEL kmalloc() done by the code that held hpfs
lock on directory.  That could trigger a call of hpfs_write_inode() and
deadlock; fixed by switch to GFP_NOFS.  Same for hpfs inodes themselves
- hpfs_write_inode() calls iget() and that could trigger both the
deadlocks (avoidable with very baroque locking scheme) and stack
overflows (unavoidable unless we kill potential recursion here).

22 years ago[PATCH] hpfs: hpfs iget locking cleanup
Alexander Viro [Thu, 18 Mar 2004 05:24:02 +0000 (21:24 -0800)]
[PATCH] hpfs: hpfs iget locking cleanup

Killed the nightmares in hpfs iget handling.  Since in some (fairly
frequent) cases hpfs_read_inode() could avoid any IO (basically, lookup
hitting a native HPFS regular file can get all data from directory
entry) hpfs had a flag passed to that sucker.  Said flag had been
protected by a semaphore lookalike made out of spit and duct-tape and
callers of iget looked like

hpfs_lock_iget(sb, flag);
result = iget(sb, ino);
hpfs_unlock_iget(sb);

Since now we are calling hpfs_read_inode() directly (note that calling
it without hpfs_lock_iget() would simply break) we can forget all that
crap and get rid of the flag - caller knows what it wants to call.

BTW, that had killed one of the last sleep_on() users in fs/*/*.

22 years ago[PATCH] hpfs: hpfs iget locking cleanup preparation
Alexander Viro [Thu, 18 Mar 2004 05:23:53 +0000 (21:23 -0800)]
[PATCH] hpfs: hpfs iget locking cleanup preparation

Preparation to hpfs iget locking cleanup - remaining iget() callers
replaced with explicit iget_locked() + call hpfs_read_inode()/unlock_new_inode()
if inode is new.

22 years ago[PATCH] hpfs: new/read/write_inode() cleanups
Alexander Viro [Thu, 18 Mar 2004 05:23:43 +0000 (21:23 -0800)]
[PATCH] hpfs: new/read/write_inode() cleanups

1) common initialization for all paths in hpfs_read_inode() taken into
a separate helper (hpfs_init_inode())
2) hpfs mkdir(),create(),mknod() and symlink() do not bother with
iget() anymore - they call new_inode(), do initializations and insert new
inode into icache.  Handling of OOM failures cleaned up - if we can't
allocate in-core inode, bail instead of corrupting the filesystem.
Allocating in-core inode early also avoids one of the deadlocks here
(hpfs_write_inode() from memory pressure by kmem_cache_alloc() could
deadlock on attempt to lock our directory).
3) hpfs_write_inode() marks the inode dirty again in case if it
fails to iget() its parent directory.  Again, OOM could trigger fs corruption
here.

22 years ago[PATCH] hpfs: clean up lock ordering
Alexander Viro [Thu, 18 Mar 2004 05:23:34 +0000 (21:23 -0800)]
[PATCH] hpfs: clean up lock ordering

hpfs_{lock,unlock}_{2,3}inodes() killed; all places that take more than
one lock have ->i_sem held by VFS on all inodes involved and all hpfs per-inode
locks are of the same type.  IOW, we can replace these guys with multiple
hpfs_lock_inode() - order doesn't matter here.

22 years ago[PATCH] hpfs: namei.c failure case cleanups
Alexander Viro [Thu, 18 Mar 2004 05:23:24 +0000 (21:23 -0800)]
[PATCH] hpfs: namei.c failure case cleanups

Failure exits in hpfs/namei.c merged and cleaned up.

22 years ago[PATCH] ISDN kernelcapi notifier NULL pointer fix
Andrew Morton [Wed, 17 Mar 2004 10:55:48 +0000 (02:55 -0800)]
[PATCH] ISDN kernelcapi notifier NULL pointer fix

From: Armin Schindler <armin@melware.de>

Fixed NULL pointer reference in recv_handler()

22 years ago[PATCH] ISDN kernelcapi notifier workqueue re-structured
Andrew Morton [Wed, 17 Mar 2004 10:55:39 +0000 (02:55 -0800)]
[PATCH] ISDN kernelcapi notifier workqueue re-structured

From: Armin Schindler <armin@melware.de>

Use the notifier workqueue in a cleaner way.

22 years ago[PATCH] ISDN kernelcapi debug message enable
Andrew Morton [Wed, 17 Mar 2004 10:55:29 +0000 (02:55 -0800)]
[PATCH] ISDN kernelcapi debug message enable

From: Armin Schindler <armin@melware.de>

Show debug messages if debug is enabled only.

22 years ago[PATCH] exportfs - Remove unnecessary locking from find_exported_dentry()
Andrew Morton [Wed, 17 Mar 2004 10:55:20 +0000 (02:55 -0800)]
[PATCH] exportfs - Remove unnecessary locking from find_exported_dentry()

From: "Jose R. Santos" <jrsantos@austin.ibm.com>

After discussing it with Neil, he fell that the original justification for
taking the kernel_lock on find_exported_dentry() is not longer valid and
should be safe to remove.

This patch fixes an issue while running SpecSFS where under memory
pressure, shrinking dcache cause find_exported_dentry() to allocate
disconnected dentries that later needed to be properly connected.  The
connecting part of the code was done with BKL taken which cause a sharp
drop in performance during iterations and profiles showing 75% time spent
on find_exported_dentry().  After applying the patch, time spent on the
function is reduce to <1%.

I have tested this on an 8-way machine with 56 filesystems for several days
now with no problems using ext2, ext3, xfs and jfs.

22 years ago[PATCH] JBD: avoid panic on corrupted journal superblock
Andrew Morton [Wed, 17 Mar 2004 10:55:11 +0000 (02:55 -0800)]
[PATCH] JBD: avoid panic on corrupted journal superblock

Don't panic if the journal superblock is wrecked: just fail the mount.

22 years ago[PATCH] ppc64: CONFIG_PREEMPT Kconfig help fix
Andrew Morton [Wed, 17 Mar 2004 10:55:01 +0000 (02:55 -0800)]
[PATCH] ppc64: CONFIG_PREEMPT Kconfig help fix

From: Anton Blanchard <anton@samba.org>

From: Robert Love <rml@ximian.com>

arch/ppc64/Kconfig's entry for CONFIG_PREEMPT is missing the description
after the "bool" statement, so the entry does not show up.

Also, the help description mentions a restriction that is not [any longer]
true.

22 years ago[PATCH] ppc64: xmon oops-the-kernel option
Andrew Morton [Wed, 17 Mar 2004 10:54:52 +0000 (02:54 -0800)]
[PATCH] ppc64: xmon oops-the-kernel option

From: Anton Blanchard <anton@samba.org>

Sometimes we just want to pass the error up to the kernel and let it oops.
X it is.

22 years ago[PATCH] ppc64: wrap some stuff in __KERNEL__
Andrew Morton [Wed, 17 Mar 2004 10:54:42 +0000 (02:54 -0800)]
[PATCH] ppc64: wrap some stuff in __KERNEL__

From: Anton Blanchard <anton@samba.org>

- remove now unused kernel syscalls.
- wrap recently added defines in #ifdef __KERNEL__, fixes glibc
  compile issue
- some of our extra syscalls used asmlinkage, some did not. Make them
  consistent

22 years ago[PATCH] ppc32: Fix booting some IBM PRePs
Andrew Morton [Wed, 17 Mar 2004 10:54:33 +0000 (02:54 -0800)]
[PATCH] ppc32: Fix booting some IBM PRePs

From: Tom Rini <trini@kernel.crashing.org>

The following patch comes from Paul Mackerras.  Earlier on in 2.6,
arch/ppc/boot/utils/mkprep.c was changed slightly so that it would build
and work on Solaris.  Doing this required changing from filling out
pointers to an area to filling out a local copy of the struct.  However, a
memcpy was left out, and the info is only needed on some machines to boot.
The following adds in the missing memcpy and allows for IBM PRePs to boot
from a raw floppy again.

22 years ago[PATCH] ppc32: fix SMP build
Andrew Morton [Wed, 17 Mar 2004 10:54:23 +0000 (02:54 -0800)]
[PATCH] ppc32: fix SMP build

From: Olaf Hering <olh@suse.de>

Current Linus tree adds an extra space and dot to the mkprep options.
`make all' with an smp config doesnt work.  This patch fixes it.

22 years agoMerge bk://gkernel.bkbits.net/net-drivers-2.6
Linus Torvalds [Wed, 17 Mar 2004 10:28:22 +0000 (02:28 -0800)]
Merge bk://gkernel.bkbits.net/net-drivers-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[PATCH] back out netdev_priv() for loopback
Don Fry [Wed, 17 Mar 2004 15:12:15 +0000 (10:12 -0500)]
[PATCH] back out netdev_priv() for loopback

Please apply this fix to backout an erroneous change in loopback.c
The statistics structure is allocated separately from the
loopback_dev structure, and the current code overwrites something
other than the statistics.  In my case the scsi_cmd_pool structure.

22 years ago[netdrvr de2104x] initialize bus mode properly
Jeff Garzik [Wed, 17 Mar 2004 09:32:58 +0000 (04:32 -0500)]
[netdrvr de2104x] initialize bus mode properly

22 years agoMerge davem@nuts.davemloft.net:/disk1/BK/net-2.6
David S. Miller [Wed, 17 Mar 2004 08:26:04 +0000 (00:26 -0800)]
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6

22 years ago[netdrvr de2104x] fix ifup/down and promise mode
Krzysztof Halasa [Wed, 17 Mar 2004 07:54:59 +0000 (02:54 -0500)]
[netdrvr de2104x] fix ifup/down and promise mode

The attached patch fixes the problem: de->macmode variable,
meant to shadow MacMode (CSR6) register, was used inconsistently,
causing some updates to this register to be dropped.

2.4 kernel doesn't shadow this register at all, so I removed
shadowing from 2.6 as well.

22 years agoMerge nuts.davemloft.net:/disk1/BK/network-2.6
David S. Miller [Wed, 17 Mar 2004 04:40:04 +0000 (20:40 -0800)]
Merge nuts.davemloft.net:/disk1/BK/network-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6

22 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Wed, 17 Mar 2004 04:28:48 +0000 (20:28 -0800)]
Merge http://lia64.bkbits.net/to-linus-2.5
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoia64: Prevent GCC from clobbering r13. Found by Luming You.
David Mosberger [Wed, 17 Mar 2004 02:18:16 +0000 (18:18 -0800)]
ia64: Prevent GCC from clobbering r13.  Found by Luming You.

Without this change, GCC thinks it's OK to clobber r13.  It doesn't do it
very often, but it's enough if it does it once and it turns out
acpi_bus_receive_event() had code that would trigger this issue.
Fix by declaring r13 as a global register variable.

22 years ago[PATCH] ide-dma.c: remove unused/obsoleted code for hwif->mmio == 1
Bartlomiej Zolnierkiewicz [Wed, 17 Mar 2004 01:54:01 +0000 (17:54 -0800)]
[PATCH] ide-dma.c: remove unused/obsoleted code for hwif->mmio == 1

All users of hwif->mmio correctly handle resources themselves
(hwif->mmio == 2) so remove ide_mmio_dma() and ide_release_mmio_dma().

22 years ago[PATCH] remove AMIGA/MAC hacks from IDE resource handling code
Bartlomiej Zolnierkiewicz [Wed, 17 Mar 2004 01:53:52 +0000 (17:53 -0800)]
[PATCH] remove AMIGA/MAC hacks from IDE resource handling code

Nowadays buddha.c, gayle.c and macide.c handle resources themselves
(hwif->mmio == 2).

Acked by Geert.

22 years ago[PATCH] remove ide_hwif_t->initializing
Bartlomiej Zolnierkiewicz [Wed, 17 Mar 2004 01:53:42 +0000 (17:53 -0800)]
[PATCH] remove ide_hwif_t->initializing

It's write-only these days.

22 years ago[wireless prism54] several minor updates
Luis R. Rodriguez [Tue, 16 Mar 2004 23:45:58 +0000 (18:45 -0500)]
[wireless prism54] several minor updates

Here is the ChangeLog:

* wireless/Kconfig: fix typos, add SMC2835W-V2
* islpci_hotplug.c: new version 1.1, authors list, and
module description updated appropriately
* isl_ioctl.c, islpci_dev.c,
islpci_eth.c, islpci_hotplug.c, islpci_mgt.c:
s/ndev->priv/netdev_priv(ndev)/g
* islpci_hotplug.c: Add PCI ID values for SMC2835W-V2 cardbus card
Patch by Manuel Lauss <manuel.lauss@fh-hagenberg.at>
* isl_38xx.[ch]: include firmware.h in header, remove
declaration of headers in c file. Fix compiler warnings.
* islpci_dev.c (islpci_alloc_memory),
* islpci_eth.c (islpci_eth_cleanup_transmit,
islpci_eth_transmit, islpci_eth_receive): deal with skb stray
pointer, declare NULL.
* isl_38xx.c: remove unecessary __KERNEL_SYSCALLS__ and
re-ordered headers per vger.kernel.org - liking.
* isl_ioctl.c, islpci_mgt.c: move from MODULE_PARAM to the new
module_param, which is type-safe. Includes the new
<linux/moduleparam.h>.
* isl_ioctl.c (prism54_[s|g]et_[maxframeburst|profile]): added.
Not adding ioctls as ajfa is working on moving current private ioctls
to subioctls.
* isl_oid.h (dot11_[maxframeburst|preamblesettings|
slotsettings|nonerpstatus|nonerpprotection]_t): added.
Note: more ioctls can be added here, I believe problems
with mixed modes can be pinpointed here, with these values.

22 years ago[wireless prism54] use netdev_priv() helper
Luis R. Rodriguez [Tue, 16 Mar 2004 23:38:28 +0000 (18:38 -0500)]
[wireless prism54] use netdev_priv() helper

22 years ago[PATCH] hpt366.c: PLL fix needed for some HPT374
Bartlomiej Zolnierkiewicz [Tue, 16 Mar 2004 23:14:24 +0000 (15:14 -0800)]
[PATCH] hpt366.c: PLL fix needed for some HPT374

From: Boehm Olaf <olaf.boehm@lanner.de>
From: Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>

Wider range for 33MHz timing and PLL setup for HPT374
(using the HPT370A timing table, as it is the same as
used in the "opensource" driver by HighPoint).

fixes bugzilla bugs #2209 and #2271

22 years ago[PATCH] drivers/cdrom/cdu31a - wrong tmp_irq declaration
Wojciech Cieciwa [Tue, 16 Mar 2004 23:12:43 +0000 (15:12 -0800)]
[PATCH] drivers/cdrom/cdu31a - wrong tmp_irq declaration

cdu31a.c needs tmp_irq outside of the block it is declared in.  Move it
to the outer block.

22 years ago[PATCH] Fix x86_64 compile warning in bad_page()
Andrew Morton [Tue, 16 Mar 2004 23:11:07 +0000 (15:11 -0800)]
[PATCH] Fix x86_64 compile warning in bad_page()

On x84_64, page->flags is no longer unsigned long.

22 years ago[PATCH] Remove old config options from defconfigs.
Andrew Morton [Tue, 16 Mar 2004 23:10:56 +0000 (15:10 -0800)]
[PATCH] Remove old config options from defconfigs.

From: Dave Jones <davej@redhat.com>

These options are only ever referenced in the defconfigs of various archs
now.

22 years ago[PATCH] SHMLBA compat task alignment fix
Andrew Morton [Tue, 16 Mar 2004 23:10:45 +0000 (15:10 -0800)]
[PATCH] SHMLBA compat task alignment fix

From: Arun Sharma <arun.sharma@intel.com>

The current Linux implementation of shmat() insists on SHMLBA alignment even
when shmflg & SHM_RND == 0.  This is not consistent with the man pages and
the single UNIX spec, which require only a page-aligned address.

However, some architectures require a SHMLBA alignment for correctness in all
cases.  Such architectures use __ARCH_FORCE_SHMLBA.

22 years ago[PATCH] cpqarray: check pci_register_driver() return value
Andrew Morton [Tue, 16 Mar 2004 23:10:35 +0000 (15:10 -0800)]
[PATCH] cpqarray: check pci_register_driver() return value

From: <mikem@beardog.cca.cpqcorp.net>

* Examines rc of pci_register_driver and returns

22 years ago[PATCH] cpqarray: use PCI APIs
Andrew Morton [Tue, 16 Mar 2004 23:10:25 +0000 (15:10 -0800)]
[PATCH] cpqarray: use PCI APIs

From: <mikem@beardog.cca.cpqcorp.net>

- Change to use pci APIs (change from 2.4.18 to 2.4.19)

  This also includes eisa detection fix during initialization which was
  missing from 2.4.19 but fixed in 2.4.25

22 years ago[PATCH] cpqarray: I/O address fixes
Andrew Morton [Tue, 16 Mar 2004 23:10:16 +0000 (15:10 -0800)]
[PATCH] cpqarray: I/O address fixes

From: <mikem@beardog.cca.cpqcorp.net>

* cpqarray in kernel 2.6.1 seems to be based from 2.4.18 kernel with
  specific 2.6.x stuff added.

* Defines io_mem_addr and io_mem_length to replace ioaddr (change from
  2.4.18 to 2.4.19)

22 years ago[PATCH] cpqarray: rmmod oops fix
Andrew Morton [Tue, 16 Mar 2004 23:10:06 +0000 (15:10 -0800)]
[PATCH] cpqarray: rmmod oops fix

From: <mikem@beardog.cca.cpqcorp.net>

* Fix for segmentation fault when calling rmmod

22 years ago[PATCH] cpqarray: increment version number
Andrew Morton [Tue, 16 Mar 2004 23:09:57 +0000 (15:09 -0800)]
[PATCH] cpqarray: increment version number

From: <mikem@beardog.cca.cpqcorp.net>

The following patch bumps the driver version to 2.6.0.  Please apply in
order.

22 years ago[PATCH] devices.txt: add more devices
Andrew Morton [Tue, 16 Mar 2004 23:09:48 +0000 (15:09 -0800)]
[PATCH] devices.txt: add more devices

From: "Cagle, John (ISS-Houston)" <john.cagle@hp.com>

Patch 3 adds all the new official device registrations that weren't already
there.  This brings devices.txt up-to-date with LANANA.

22 years ago[PATCH] devices.txt: typos and removal of dead devices
Andrew Morton [Tue, 16 Mar 2004 23:09:38 +0000 (15:09 -0800)]
[PATCH] devices.txt: typos and removal of dead devices

From: "Cagle, John (ISS-Houston)" <john.cagle@hp.com>

Patch 2 fixes some typos in devices.txt and removes ancient devices never
used.  Pretty obvious stuff.

22 years ago[PATCH] clean up devices.txt
Andrew Morton [Tue, 16 Mar 2004 23:09:29 +0000 (15:09 -0800)]
[PATCH] clean up devices.txt

From: "Cagle, John (ISS-Houston)" <john.cagle@hp.com>

Patch 1 cleans up the format by making devices.txt easily parsable.
Mainly this involved adding the word "block" after all the block major
numbers since the previous format didn't include it.

22 years ago[PATCH] hugetlb_zero_setup() race fix
Andrew Morton [Tue, 16 Mar 2004 23:09:18 +0000 (15:09 -0800)]
[PATCH] hugetlb_zero_setup() race fix

Make the handling of the hugetlb-backed shm file's name counter SMP-safe.

(What stops hugetlb_zero_setup() racing with umount?)

22 years ago[PATCH] make config_max_raw_devices work
Andrew Morton [Tue, 16 Mar 2004 23:09:08 +0000 (15:09 -0800)]
[PATCH] make config_max_raw_devices work

From: "Kenneth Chen" <kenneth.w.chen@intel.com>

Even though there is a CONFIG_MAX_RAW_DEVS option, it doesn't actually
increase the number of raw devices beyond 256 because during the char
registration, it uses the standard register_chrdev() interface which has
hard coded 256 minor in it.  Here is a patch that fix this problem by using
register_chrdev_region() and cdev_(init/add/del) functions.

22 years ago[PATCH] x86 vsyscall alignment fix
Andrew Morton [Tue, 16 Mar 2004 23:08:58 +0000 (15:08 -0800)]
[PATCH] x86 vsyscall alignment fix

From: Andy Whitcroft <andyw@uk.ibm.com>

The vsyscall implementation for ia32 provides two different vsyscall pages;
one to use int80 and the other to use sysenter.  Each includes a common
signal trailer.  The kernel requires the alignment of routines in this
trailer be consistent in both copies.  However this is not enforced at
compile time.  Failure to maintain this alignment typically leads to an
obscure SIGSEGV in init during boot.  This critical alignment requirement
is not well documented.

Below is a patch to better document the alignment requirements and to
enforce the requirement.

22 years ago[PATCH] s390: tape driver fixes.
Andrew Morton [Tue, 16 Mar 2004 23:08:48 +0000 (15:08 -0800)]
[PATCH] s390: tape driver fixes.

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

tape driver fixes:
 - Link from ccw device to class device in sysfs.
 - Cosmetic changes.
 - Add copyright statements.

22 years ago[PATCH] s390: z/VM monitor stream.
Andrew Morton [Tue, 16 Mar 2004 23:08:38 +0000 (15:08 -0800)]
[PATCH] s390: z/VM monitor stream.

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

Fix for z/VM monitor stream:
 - Add try_module_get and module_put to the [un]register functions.
 - Some code beautification.

22 years ago[PATCH] s390: dasd driver fixes.
Andrew Morton [Tue, 16 Mar 2004 23:08:29 +0000 (15:08 -0800)]
[PATCH] s390: dasd driver fixes.

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

dasd driver fixes:
 - Remove additional dasd attributes for a ccw-device if the discipline
   (=driver) gets unloaded.
 - Fix race of dasd_generic_offline against dasd_open.
 - Remove irq_exit calls from diag interrupt handler. The irq_enter/
   irq_exit is done in the external interrupt handler.

22 years ago[PATCH] s390: network driver fixes.
Andrew Morton [Tue, 16 Mar 2004 23:08:18 +0000 (15:08 -0800)]
[PATCH] s390: network driver fixes.

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

network driver fixes:
 - Use SET_NETDEV_DEV to create the link from the network device to the
   physical device. Remove link from physical to network device.
 - Remove some unnecessary casts in netiucv.
 - Add missing strings to dev_stat_names & dev_event_names.
 - Add missing preempt_disable/preempt_enable pairs in iucv.
 - Allow to change the peer username in netiucv.

22 years ago[PATCH] s390: sclp fix.
Andrew Morton [Tue, 16 Mar 2004 23:08:09 +0000 (15:08 -0800)]
[PATCH] s390: sclp fix.

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

sclp console fixes:
  - Replace irq_enter/irq_exit pair with Add local_bh_enable/local_bh_disable.

22 years ago[PATCH] s390: common i/o layer.
Andrew Morton [Tue, 16 Mar 2004 23:07:59 +0000 (15:07 -0800)]
[PATCH] s390: common i/o layer.

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

Common i/o layer fixes:
 - Improve blacklist argument parsing.
 - Fix device recognition for devices where SenseID fails.
 - Don't try to set a device online that has no driver.
 - Chain a release ccw to the unconditional reserve ccw for forced online.
 - Fix irb accumulation for pure status pending with eswf set.
 - Fix rc handling in qdio_shutdown.
 - Improve retry behavious for busy conditions on qdio.
 - Fix activity check in ccw_device_start/read_dev_chars and read_conf_data.

22 years ago[PATCH] s390: core
Andrew Morton [Tue, 16 Mar 2004 23:07:50 +0000 (15:07 -0800)]
[PATCH] s390: core

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

s390 core changes:
 - Merge 31 and 64 bit NR_CPUS config option. Default to 32 cpus.
 - Remove unused system calls from compat_linux.c.
 - Add statfs64 and fstatfs64. Reserve system call number for
   remap_file_pages.
 - Merge do_signal32 into do_signal.
 - Don't remove the per bit and the program mask from the user psw
   due to a signal.
 - Fix a problem with gdb and interrupted system calls.
 - Fix single stepping of interrupted system calls.
 - Fix compiler warnings in bitops.h.

22 years ago[PATCH] ppc64: run bitops.c through Lindent
Andrew Morton [Tue, 16 Mar 2004 23:07:38 +0000 (15:07 -0800)]
[PATCH] ppc64: run bitops.c through Lindent

From: Anton Blanchard <anton@samba.org>

bitops.c was a bit of a mess wrt formatting so run it through Lindent.  No
code changes.

22 years ago[PATCH] ppc32: Fix thinko in PCI_DMA_FOO to DMA_FOO conversion
Andrew Morton [Tue, 16 Mar 2004 23:07:29 +0000 (15:07 -0800)]
[PATCH] ppc32: Fix thinko in PCI_DMA_FOO to DMA_FOO conversion

From: Tom Rini <trini@kernel.crashing.org>

When I converted the use of PCI_DMA_foo constants to DMA_foo constants, I
forgot that it's PCI_DMA_FROMDEVICE and DMA_FROM_DEVICE.  The following
fixes that.

22 years ago[PATCH] ppc32: Update <asm-ppc/dma-mapping.h>
Andrew Morton [Tue, 16 Mar 2004 23:07:19 +0000 (15:07 -0800)]
[PATCH] ppc32: Update <asm-ppc/dma-mapping.h>

From: Tom Rini <trini@kernel.crashing.org>

include/asm-ppc/dma-mapping.h was made to be a 'real' header recently and
therefore missed out on the updates that davem did to all of the other
versions.  This updates <asm-ppc/dma-mapping.h> to match what's expected
now.

22 years ago[PATCH] ppc32: Fix PCI DMA API changes
Andrew Morton [Tue, 16 Mar 2004 23:07:10 +0000 (15:07 -0800)]
[PATCH] ppc32: Fix PCI DMA API changes

From: Tom Rini <trini@kernel.crashing.org>

When Dave Miller updated <asm-ppc/pci.h> for the _for_device and _for_cpu
portions of the PCI DMA API, he assumed that on PPC32 consistent_sync*
would also need to be changed for device or cpu.  This is not the case, so
what this does is the pci_*_for_{cpu,device} calls call
consistent_sync{,page} again.

22 years ago[PATCH] ppc32: Fix c&p error in arch/ppc/syslib/indirect_pci.c
Andrew Morton [Tue, 16 Mar 2004 23:07:00 +0000 (15:07 -0800)]
[PATCH] ppc32: Fix c&p error in arch/ppc/syslib/indirect_pci.c

From: Tom Rini <trini@kernel.crashing.org>

Fix a cut & paste error in forward porting from 2.4, we don't reference
dev->bus or dev->devfn, both are passed as arguments.

22 years agoMerge bk://gkernel.bkbits.net/misc-2.6
Linus Torvalds [Tue, 16 Mar 2004 12:54:57 +0000 (04:54 -0800)]
Merge bk://gkernel.bkbits.net/misc-2.6
into ppc970.osdl.org:/home/torvalds/v2.5/linux

22 years ago[PATCH] Fix memory corruption on hyperthreaded x86-64 machines
Andi Kleen [Tue, 16 Mar 2004 12:53:43 +0000 (04:53 -0800)]
[PATCH] Fix memory corruption on hyperthreaded x86-64 machines

Fix memory corruption in the HT init on x86-64 recently introduced by me.

Fix from from Suresh B. Siddha.

22 years ago[PATCH] Make intermezzo work again
Chen Yang [Tue, 16 Mar 2004 12:53:34 +0000 (04:53 -0800)]
[PATCH] Make intermezzo work again

 - Chen Yang's fix to work with NGROUPS
 - Chen Yang's fix to handle file deletion
 - Remove TCGETS handling and return  -ENOTTY for unknown ioctl code.
 - Removed InterMezzo from BROKEN state

22 years ago[hamradio 6pack] cleanup
Ralf Bächle [Tue, 16 Mar 2004 11:02:52 +0000 (06:02 -0500)]
[hamradio 6pack] cleanup

22 years ago[blk carmel] call del_gendisk(), if disk is 'up', at cleanup time
Jeff Garzik [Tue, 16 Mar 2004 11:02:01 +0000 (06:02 -0500)]
[blk carmel] call del_gendisk(), if disk is 'up', at cleanup time

22 years ago[PATCH] fix ppc rtas compile
Anton Blanchard [Tue, 16 Mar 2004 10:54:46 +0000 (02:54 -0800)]
[PATCH] fix ppc rtas compile

The proc_rtas_init call in procfs was removed (replaced with an
initcall) but the prototype was still hiding. Kill it.

22 years ago[PATCH] fix netpoll warning in tulip
Matt Mackall [Tue, 16 Mar 2004 10:36:03 +0000 (05:36 -0500)]
[PATCH] fix netpoll warning in tulip

On Tue, Mar 16, 2004 at 12:36:02PM +0200, Meelis Roos wrote:
> FYI: with netpoll configured out, I get
>
>   CC [M]  drivers/net/tulip/tulip_core.o
> drivers/net/tulip/tulip_core.c:256: warning: `poll_tulip' declared `static' but never defined

22 years ago[PATCH] update e100.txt
Scott Feldman [Tue, 16 Mar 2004 10:35:54 +0000 (05:35 -0500)]
[PATCH] update e100.txt

* e100.txt needs to refer to the v3 driver and its settings.
  Spotted by Calum Mackay [calum.mackay@cdmnet.org]

22 years agoMerge redhat.com:/spare/repo/linux-2.5
Jeff Garzik [Tue, 16 Mar 2004 10:17:50 +0000 (05:17 -0500)]
Merge redhat.com:/spare/repo/linux-2.5
into redhat.com:/spare/repo/net-drivers-2.6

22 years ago[netdrvr natsemi] Fix RX DMA mapping
Jeff Garzik [Tue, 16 Mar 2004 10:15:18 +0000 (05:15 -0500)]
[netdrvr natsemi] Fix RX DMA mapping

RX skbs are always considered maximally sized, until actual reception
of the RX frame occurs.  So, update this driver to always map and
unmap a maximally sized skb.  This fixes this driver on several
non-x86 platforms.

22 years ago[PATCH] hpt366.c: DMA timeout fix for HPT374
Bartlomiej Zolnierkiewicz [Tue, 16 Mar 2004 08:47:04 +0000 (00:47 -0800)]
[PATCH] hpt366.c: DMA timeout fix for HPT374

From: Andre Hedrick <andre@linux-ide.org>

Tested on Epox 8K9A3+ and 4PCA3+ by Tomi Orava <Tomi.Orava@ncircle.nullnet.fi>.

22 years ago[PATCH] ATI IXP IDE support
Bartlomiej Zolnierkiewicz [Tue, 16 Mar 2004 08:46:50 +0000 (00:46 -0800)]
[PATCH] ATI IXP IDE support

It was tested by a few people and has been in -mm since 2.6.4-rc2-mm1.

22 years ago[PATCH] remove dead "hdXlun=" kernel parameter
Bartlomiej Zolnierkiewicz [Tue, 16 Mar 2004 08:46:39 +0000 (00:46 -0800)]
[PATCH] remove dead "hdXlun=" kernel parameter

22 years ago[PATCH] ide-scsi.c: fix ATAPI multi-lun support
Bartlomiej Zolnierkiewicz [Tue, 16 Mar 2004 08:46:25 +0000 (00:46 -0800)]
[PATCH] ide-scsi.c: fix ATAPI multi-lun support

ATAPI multi-lun support has been broken for a long time.

It used to be that "(drive->id->last_id & 0x7) + 1" was used as
shost->max_lun and the "hdXlun=" kernel parameter could be used to
override this value.

However it was far from optimal:
- people played with "hdXlun=" and then complained about multiple instances
  of the same device (most ATAPI drives respond to each LUN)
- probably some devices return 7 not 0 in id->last_id (=> 7 x same device)

This patch from Willem Riede <wrlk@riede.org> fixes it w/o need
for "hdXlun=" option.  It was tested by Willem on ATAPI PD/CD drive.

22 years ago[PATCH] wait_task_inactive should not return on preempt
Rusty Russell [Tue, 16 Mar 2004 08:38:36 +0000 (00:38 -0800)]
[PATCH] wait_task_inactive should not return on preempt

wait_task_inactive is now only used in two non-time-critical places: the
ptrace code to guarantee a schedule and kthread_bind so we can change
the thread CPU.  Unfortunately with preempt, the code as stands has a
race: we might return because the thread is preempted, not because it
actually reached schedule().  The ptrace code (probably) doesn't care,
but the kthread code does.

This patch simplifies the (now over-optimized) code, and does a yield()
for the preemption case.