]> git.neil.brown.name Git - history.git/log
history.git
23 years agoMerge master.kernel.org:/home/acme/BK/includes-2.5
Linus Torvalds [Thu, 21 Nov 2002 06:34:27 +0000 (22:34 -0800)]
Merge master.kernel.org:/home/acme/BK/includes-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years agoo drivers/net: fix up header cleanup: remove unneeded sched.h includes
Arnaldo Carvalho de Melo [Thu, 21 Nov 2002 18:06:18 +0000 (16:06 -0200)]
o drivers/net: fix up header cleanup: remove unneeded sched.h includes

23 years agoo net: fix up header cleanups: remove unneeded sched.h include
Arnaldo Carvalho de Melo [Thu, 21 Nov 2002 08:30:19 +0000 (06:30 -0200)]
o net: fix up header cleanups: remove unneeded sched.h include

23 years ago[PATCH] Via KT400 agp support
Nicolas Mailhot [Thu, 21 Nov 2002 06:25:51 +0000 (22:25 -0800)]
[PATCH] Via KT400 agp support

This adds the KT400 pci ID and lists it as using Via generic setup
routines.  This patch has been tested with all GL xscreensavers I could
find, and been reviewed by Dave Jones (full patch history at
http://bugzilla.kernel.org/show_bug.cgi?id=3D14).

diff -uNr linux-2.5.47-ac6.orig/drivers/char/agp/agp.c
linux-2.5.47-ac6/drivers/char/agp/agp.c

23 years agoMerge bk://ldm.bkbits.net/linux-2.5-core
Linus Torvalds [Thu, 21 Nov 2002 06:20:53 +0000 (22:20 -0800)]
Merge bk://ldm.bkbits.net/linux-2.5-core
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Thu, 21 Nov 2002 06:18:42 +0000 (22:18 -0800)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Thu, 21 Nov 2002 06:17:45 +0000 (22:17 -0800)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years ago[PATCH] threading enhancements, tid-2.5.48-C0
Ingo Molnar [Thu, 21 Nov 2002 04:25:03 +0000 (20:25 -0800)]
[PATCH] threading enhancements, tid-2.5.48-C0

Support more flexible child pid set/clear operations for NPTL.

there's one more improvement in the interface: set the parent-TID prior
doing the copy_mm() - this helps cfork() to pass the TID to the child as
well.

23 years ago[PATCH] A new Athlon 'bug'.
Dave Jones [Thu, 21 Nov 2002 04:24:53 +0000 (20:24 -0800)]
[PATCH] A new Athlon 'bug'.

Very recent Athlons (Model 8 stepping 1 and above) (XPs/MPs and mobiles)
have an interesting problem.  Certain bits in the CLK_CTL register need
to be programmed differently to those in earlier models. The problem arises
when people plug these new CPUs into boards running BIOSes that are unaware
of this fact.

The fix is to reprogram CLK_CTL to 200xxxxx instead of 0x600xxxxx as it was
in previous models. The AMD folks have found that this improves stability.

The patch below does this reprogramming if an affected model/bios is
detected.

I'm interested if someone with an affected model could run some
benchmarks before and after to also see if this affects performance.

23 years ago[PATCH] uClinux bits for /dev/zero
Christoph Hellwig [Thu, 21 Nov 2002 04:24:43 +0000 (20:24 -0800)]
[PATCH] uClinux bits for /dev/zero

uClinux ports can't use mmu tricks for reading /dev/zero due to the
lack of one.  similarly it can't mmap /dev/zero.

23 years ago[PATCH] fix compilation for !CONFIG_SWAP
Christoph Hellwig [Thu, 21 Nov 2002 04:24:33 +0000 (20:24 -0800)]
[PATCH] fix compilation for !CONFIG_SWAP

We must always use total_swapcache_pages instead of
swapper_space.nrpages in code that doesn't depend on CONFIG_SWAP

23 years agosched: privatizes the sibling inlines to sched.c, the sole caller of them.
William Lee Irwin III [Wed, 20 Nov 2002 21:31:19 +0000 (19:31 -0200)]
sched: privatizes the sibling inlines to sched.c, the sole caller of them.

23 years agosound: fix up header cleanups: add include <linux/interrupt.h>
Arnaldo Carvalho de Melo [Wed, 20 Nov 2002 21:18:58 +0000 (19:18 -0200)]
sound: fix up header cleanups: add include <linux/interrupt.h>

also fix a bug in hammerfall driver, removing __exit from a function
that is called from a non __exit function.

23 years agotcic: fix up header cleanups: add include <linux/interrupt.h>
Arnaldo Carvalho de Melo [Wed, 20 Nov 2002 21:17:26 +0000 (19:17 -0200)]
tcic: fix up header cleanups: add include <linux/interrupt.h>

also convert some struct initializations to C99 style and change
irq_count to tcic_irq_count, as irq_count now is a macro...

23 years agoi2o: fix up header cleanups: add include <linux/interrupt.h>
Arnaldo Carvalho de Melo [Wed, 20 Nov 2002 21:15:34 +0000 (19:15 -0200)]
i2o: fix up header cleanups: add include <linux/interrupt.h>

and also makes a var go to .bss...

23 years agoinput: fix up header cleanups: add <linux/interrupt.h>
William Lee Irwin III [Wed, 20 Nov 2002 21:04:41 +0000 (19:04 -0200)]
input: fix up header cleanups: add <linux/interrupt.h>

23 years agohd: fix up header cleanup: add include <linux/interrupt.h>
Arnaldo Carvalho de Melo [Wed, 20 Nov 2002 21:01:13 +0000 (19:01 -0200)]
hd: fix up header cleanup: add include <linux/interrupt.h>

23 years agopartitions: use the name in disk->kobj.name, instead of disk->disk_name.
Patrick Mochel [Wed, 20 Nov 2002 15:08:40 +0000 (09:08 -0600)]
partitions: use the name in disk->kobj.name, instead of disk->disk_name.

Some names (for some reason) have a '/' in them, making them no good for directory
names. disk->kobj.name has already been transformed to turn those into '!', so this
makes sure we use those when setting the name for the partitions' names.

23 years agoUSB: minor driver model-related updates.
Patrick Mochel [Wed, 20 Nov 2002 15:06:58 +0000 (09:06 -0600)]
USB: minor driver model-related updates.

- don't define and use a release callback for the generic driver.

- Call bus_unregister() in usb_exit() to remove the usb driver, instead of put_bus().

23 years agodriver model: make classes and interfaces use kobject infrastructure.
Patrick Mochel [Wed, 20 Nov 2002 15:05:27 +0000 (09:05 -0600)]
driver model: make classes and interfaces use kobject infrastructure.

Like the other objects, this allows a decent bit of cleanup. Details include:

- use rwsem in subsytem, instead of one in struct device_class.

- use refcount in struct kobject, instead of one in struct device_class.

- kill class's present flag.

- kill class_list, since we can just use class_subsys's.

- make interfaces instances of their class's subsystem. This allows us to
kill struct device_class::intf_list, and struct device_interface::node.

23 years agoMerge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
Patrick Mochel [Wed, 20 Nov 2002 14:42:20 +0000 (08:42 -0600)]
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-kobject

23 years agodriver model: update and clean bus and driver support.
Patrick Mochel [Wed, 20 Nov 2002 14:08:19 +0000 (08:08 -0600)]
driver model: update and clean bus and driver support.

This a multi-pronged attack aimed at exploiting the kobject infrastructure mor.

- Remove bus_driver_list, in favor of list in bus_subys.

- Remove bus_for_each_* and driver_for_each_dev(). They're not being used by
anyone, have questionable locking semantics, and really don't provide that
much use, as the function returns once the callback fails, with no indication
of where it failed. Forget them, at least for now.

- Make sure that we return success from bus_match() if device matches, but
doesn't have a probe method.

- Remove extraneous get_{device,driver}s from bus routines that are serialized
by the bus's rwsem. bus_{add,remove}_{device,driver} all take the rwsem, so there
is no way we can get a non-existant object when in those functions.

- Use the rwsem in the struct subsystem the bus has embedded in it, and kill the
separate one in struct bus_type.

- Move bulk of driver_register() into bus_add_driver(), which holds the bus's
rwsem during the entirety. this will prevent the driver from being unloaded while
it's being registered, and two drivers with the same name getting registered
at the same time.

- Ditto for driver_unregister() and bus_remove_driver().

- Add driver_release() method for the driver bus driver subsystems. (Explained later)

- Use only the refcounts in the buses' kobjects, and kill the one in struct bus_type.

- Kill struct bus_type::present and struct device_driver::present. These didn't
work out the way we intended them to. The idea was to not let a user obtain a
rerference count to the object if it was in the process of being unregistered.
All the code paths should be fixed now such that their registration is protected with
a semaphore, so no partially initialized objects can be removed, and enough
infrastructure is moved to the kobject model so that once the object is publically
visible, it should be usable by other sources.

- Add a bus_sem to serialize bus registration and unregistration.

- Add struct device_driver::unload_sem to prevent unloading of drivers
with a positive reference count.

The driver model has always had a bug that would allow a driver with a
positive reference count to be unloaded. It would decrement the reference
count and return, letting the module be unloaded, without accounting for
the other users of the object. This has been discussed many times, though
never resolved cleanly. This should fix the problem in the simplest manner.

struct device_driver gets unload_sem, which is initialized to _locked_. When
the reference count for the driver reaches 0, the semaphore is unlocked.
driver_unregister() blocks on acquiring this lock before it exits. In the
normal case that driver_unregister() drops the last reference to the driver,
the lock will be acquired immediately, and the module will unload.

In the case that someone else is using the driver object, driver_unregister()
will not be able to acquire the lock, since the refcount has not reached 0,
and the lock has not been released.

This means that rmmod(8) will block while drivers' sysfs files are open.
There are no sysfs files for drivers yet, but note this when they do have
some.

23 years agosysfs: various updates.
Patrick Mochel [Wed, 20 Nov 2002 13:37:09 +0000 (07:37 -0600)]
sysfs: various updates.

- Don't do extra dget() when creating symlink.
This is a long-standing bug with a simple and obvious fix. We were doing
an extra dget() on the dentry after d_instantiate(). It only gets decremented
once on removal, so the dentry was never really going away, and the directory
wasn't, either.

- Use simple_unlink() instead of sysfs_unlink().

- Use simple_rmdir() instead of our own, unrolled, version.

- Remove MODULE_LICENSE(), since it's always in the kernel.

23 years agodriver model: keep reference to device during device_add().
Patrick Mochel [Wed, 20 Nov 2002 11:56:53 +0000 (05:56 -0600)]
driver model: keep reference to device during device_add().

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Wed, 20 Nov 2002 09:12:06 +0000 (01:12 -0800)]
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
David S. Miller [Wed, 20 Nov 2002 09:08:59 +0000 (01:08 -0800)]
Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
into nuts.ninka.net:/home/davem/src/BK/sparc-2.5

23 years ago[XFRM_USER]: Index xfrma array correctly.
David S. Miller [Wed, 20 Nov 2002 08:47:45 +0000 (00:47 -0800)]
[XFRM_USER]: Index xfrma array correctly.

23 years ago[SPARC64]: Move data.cacheline_aligned right before edata.
David S. Miller [Wed, 20 Nov 2002 08:44:31 +0000 (00:44 -0800)]
[SPARC64]: Move data.cacheline_aligned right before edata.

23 years ago[EBTABLES]: Use correct base pointer in ebt_do_table.
Bart De Schuymer [Wed, 20 Nov 2002 08:13:12 +0000 (00:13 -0800)]
[EBTABLES]: Use correct base pointer in ebt_do_table.

23 years ago[IPV6]: Export ipv6_chk_addr.
Jon Grimm [Wed, 20 Nov 2002 08:08:07 +0000 (00:08 -0800)]
[IPV6]: Export ipv6_chk_addr.

23 years agoMerge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
Patrick Mochel [Wed, 20 Nov 2002 06:15:08 +0000 (00:15 -0600)]
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-kobject

23 years agoMerge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
Patrick Mochel [Wed, 20 Nov 2002 06:05:53 +0000 (00:05 -0600)]
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-kobject

23 years agoMerge bk://linux-scsi.bkbits.net/scsi-for-linus-2.5
Linus Torvalds [Wed, 20 Nov 2002 05:18:09 +0000 (21:18 -0800)]
Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge mulgrave.(none):/home/jejb/BK/scsi-misc-2.5
James Bottomley [Wed, 20 Nov 2002 07:54:38 +0000 (01:54 -0600)]
Merge mulgrave.(none):/home/jejb/BK/scsi-misc-2.5
into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5

23 years ago[PATCH] remove unused includes and misleading comments from scsi_lib.c
Patrick Mansfield [Wed, 20 Nov 2002 07:26:48 +0000 (01:26 -0600)]
[PATCH] remove unused includes and misleading comments from scsi_lib.c

On Sun, Nov 17, 2002 at 11:54:49PM +0100, Christoph Hellwig wrote:

> --- 1.46/drivers/scsi/scsi_lib.c Thu Nov 14 18:09:17 2002
> +++ edited/drivers/scsi/scsi_lib.c Sun Nov 17 21:37:05 2002
> @@ -7,50 +7,18 @@
>   *                        of people at Linux Expo.
>   */
>
> -/*
> - * The fundamental purpose of this file is to contain a library of utility
> - * routines that can be used by low-level drivers.   Ultimately the idea
> - * is that there should be a sufficiently rich number of functions that it
> - * would be possible for a driver author to fashion a queueing function for
> - * a low-level driver if they wished.   Note however that this file also
> - * contains the "default" versions of these functions, as we don't want to
> - * go through and retrofit queueing functions into all 30 some-odd drivers.
> - */
> -
> -#include <linux/module.h>
> -
> -#include <linux/sched.h>
> -#include <linux/timer.h>
>  #include <linux/string.h>
>  #include <linux/slab.h>
>  #include <linux/bio.h>
> -#include <linux/ioport.h>
>  #include <linux/kernel.h>
> -#include <linux/stat.h>
>  #include <linux/blk.h>
> -#include <linux/interrupt.h>
> -#include <linux/delay.h>
> -#include <linux/smp_lock.h>
>  #include <linux/completion.h>
>
> -
> -#define __KERNEL_SYSCALLS__
> -
> -#include <linux/unistd.h>

I had to add back the smp_lock.h include to compile with CONFIG_PREEMPT,
as kernel_locked was not defined and is used by in_atomic().

Patch against the latest scsi-misc-2.5:

23 years agofix queue plug performance problem found by akpm
James Bottomley [Wed, 20 Nov 2002 04:52:55 +0000 (22:52 -0600)]
fix queue plug performance problem found by akpm

Fix is to only plug on prep deferral if the device queue is empty
(otherwise we can rely on returning I/O to restart the queue)

23 years ago[VLAN]: Quiet some printks and free devices/groups correctly.
Ben Greear [Wed, 20 Nov 2002 04:31:19 +0000 (20:31 -0800)]
[VLAN]: Quiet some printks and free devices/groups correctly.

23 years ago[SCH_GRED]: Array overflow fixes, found by Stanford checker.
Jamal Hadi Salim [Wed, 20 Nov 2002 04:19:47 +0000 (20:19 -0800)]
[SCH_GRED]: Array overflow fixes, found by Stanford checker.

23 years ago[PATCH] Small matroxfb fixes
Petr Vandrovec [Wed, 20 Nov 2002 04:02:34 +0000 (20:02 -0800)]
[PATCH] Small matroxfb fixes

* Fix compile warning in matroxfb when only 8bpp support is enabled.
* Set memory type correctly on Matrox G400.

23 years ago[PATCH] Mark executable files as executable on ncpfs
Petr Vandrovec [Wed, 20 Nov 2002 04:02:27 +0000 (20:02 -0800)]
[PATCH] Mark executable files as executable on ncpfs

* Executable files on ncpfs are marked by combination of SHARED and
  SYSTEM attribute, not by SYSTEM attribute alone.

  After this change gcc output is really marked executable on ncpfs.

23 years ago[PATCH] Merge lcall7 and lcall27 code paths in ia32
Petr Vandrovec [Wed, 20 Nov 2002 04:00:09 +0000 (20:00 -0800)]
[PATCH] Merge lcall7 and lcall27 code paths in ia32

lcall7 and lcall27 code paths are almost identical, except one
constant. This code merges these two paths together, by moving
constant to the beginning of function.

It is possible to eliminate even more of lcall7 and lcall27
code paths, but at cost of splitting SAVE_ALL into two halves,
and I do not want to do that. But if you think that it is worth
of effort, I can save 16 more bytes, but at cost of speed.

Side effects of merge is that now stack is addressed relative
to %ebx instead of relative to %esp, so generated code is
shorter and faster.

23 years ago[PATCH] PCI setup: misc cleanups and fixes
Ivan Kokshaysky [Wed, 20 Nov 2002 01:42:06 +0000 (17:42 -0800)]
[PATCH] PCI setup: misc cleanups and fixes

- Use PCI_BUS_NUM_RESOURCES instead of hardcoded `4' in
  pci_find_parent_resource;
- clean up pci_claim_resource() and make it a bit more informative
  on errors;
- pdev_sort_resources() must be __devinit, as it's called from
  pbus_assign_resources_sorted(), which is __devinit now;
- fix one remaining dev->name in debugging printk.

23 years ago[PATCH] PCI: transparent bridge detection fix
Ivan Kokshaysky [Wed, 20 Nov 2002 01:42:00 +0000 (17:42 -0800)]
[PATCH] PCI: transparent bridge detection fix

The detection of subtractive decoding bridges is broken: `class' variable
doesn't contain ProgIf byte at this point, I should check `dev->class'
instead.

This fixes resource allocation problems on certain docking stations.

23 years ago[PATCH] *_mknod prototype
Andries E. Brouwer [Wed, 20 Nov 2002 01:36:12 +0000 (17:36 -0800)]
[PATCH] *_mknod prototype

The dev_t argument of sys_mknod is passed to vfs_mknod, and is then cast
to int when foo_mknod is called, and is subsequently very often cast
back to dev_t.  (For example, minix_mknod() calls minix_set_inode() that
takes a dev_t.)

This is a cleanup that avoids this back-and-forth casting by giving
foo_mknod a prototype with dev_t.  In most cases now the dev_t is
transmitted untouched until init_special_inode.

It also makes the two routines hugetlbfs_get_inode() and
shmem_get_inode() static.

23 years ago[PATCH] Module length calculation fix and module with no init fix
Rusty Russell [Wed, 20 Nov 2002 01:32:41 +0000 (17:32 -0800)]
[PATCH] Module length calculation fix and module with no init fix

Fixes miscalculation of required module size due to alignment issues of
first section after common, and also doesn't think that no init section
is an allocation failure.

23 years ago[PATCH] module device table restoration
Rusty Russell [Wed, 20 Nov 2002 01:31:18 +0000 (17:31 -0800)]
[PATCH] module device table restoration

Patch from Adam Richter.  I have a nicer solution based on aliases, but
it requires coordination with USB, PCI and PCMCIA maintainers, which is
taking time.

This restores the old code in the meantime: one week without this is too
long for people who need it.

23 years agoMerge bk://ppc.bkbits.net/for-linus-ppc
Linus Torvalds [Wed, 20 Nov 2002 00:53:00 +0000 (16:53 -0800)]
Merge bk://ppc.bkbits.net/for-linus-ppc
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoPPC32: clean up the arch/ppc/boot Makefiles.
Paul Mackerras [Thu, 21 Nov 2002 09:10:09 +0000 (20:10 +1100)]
PPC32: clean up the arch/ppc/boot Makefiles.

This removes Rules.make inclusions, makes make clean work properly,
removes EXTRA_TARGETS where not needed, and fixes a couple of compile
warnings in the boot wrappers where <linux/string.h> wasn't included.

23 years agoPPC32: Move BUG() definition from asm-ppc/page.h to asm-ppc/processor.h.
Paul Mackerras [Thu, 21 Nov 2002 02:44:25 +0000 (13:44 +1100)]
PPC32: Move BUG() definition from asm-ppc/page.h to asm-ppc/processor.h.

This solves some mutual inclusion problems.

23 years agoPPC32: adjust <asm/atomic.h> so it doesn't need <asm/system.h>.
Paul Mackerras [Thu, 21 Nov 2002 02:34:12 +0000 (13:34 +1100)]
PPC32: adjust <asm/atomic.h> so it doesn't need <asm/system.h>.

Now atomic.h defines the smp_mb__* macros completely itself without
needing the smp_mb definition from <asm/system.h>

23 years agoPPC32: adjust some includes in response to recent include cleanups
Paul Mackerras [Thu, 21 Nov 2002 01:46:12 +0000 (12:46 +1100)]
PPC32: adjust some includes in response to recent include cleanups

23 years agoPPC32: In-kernel module linker for PPC.
Rusty Russell [Wed, 20 Nov 2002 20:38:28 +0000 (07:38 +1100)]
PPC32: In-kernel module linker for PPC.

23 years agoMerge master.kernel.org:/home/acme/BK/includes-2.5
Linus Torvalds [Wed, 20 Nov 2002 00:51:10 +0000 (16:51 -0800)]
Merge master.kernel.org:/home/acme/BK/includes-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoo scsi: fix up header cleanups: add include <linux/interrupt.h>
Arnaldo Carvalho de Melo [Wed, 20 Nov 2002 09:21:44 +0000 (07:21 -0200)]
o scsi: fix up header cleanups: add include <linux/interrupt.h>

Also use strsep in ibmmca.c, as strtok is gone from the kernel.

23 years agoMerge bk://linuxusb.bkbits.net/pci-2.5
Linus Torvalds [Tue, 19 Nov 2002 23:51:27 +0000 (15:51 -0800)]
Merge bk://linuxusb.bkbits.net/pci-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge bk://linuxusb.bkbits.net/linus-2.5
Linus Torvalds [Tue, 19 Nov 2002 23:46:51 +0000 (15:46 -0800)]
Merge bk://linuxusb.bkbits.net/linus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] USB core/config.c == memory corruption
Zwane Mwaikambo [Tue, 19 Nov 2002 16:10:26 +0000 (08:10 -0800)]
[PATCH] USB core/config.c == memory corruption

parse_interface allocates the incorrect storage size for additional
altsettings (new buffer) leading to a BUG being triggered in
mm/slab.c:1453 when we do the memcpy from the old buffer to the new
buffer (writing beyond new buffer).
Patch appended, tested with an OV511 on an Intel PIIX4

23 years ago[PATCH] rename get_lease to break_lease
Matthew Wilcox [Tue, 19 Nov 2002 15:07:34 +0000 (07:07 -0800)]
[PATCH] rename get_lease to break_lease

Al pointed out that the current name of get_lease is extremely confusing
and I agree.

This (a) renames it to break_lease and (b) fixes a bug noticed by Dave
Hansen which could cause a NULL pointer dereference under high load.

23 years agoMerge kroah.com:/home/linux/linux/BK/bleeding-2.5
Greg Kroah-Hartman [Tue, 19 Nov 2002 14:44:31 +0000 (06:44 -0800)]
Merge kroah.com:/home/linux/linux/BK/bleeding-2.5
into kroah.com:/home/linux/linux/BK/gregkh-2.5

23 years agodriver model: exploit kobject contstructs.
Patrick Mochel [Tue, 19 Nov 2002 14:42:26 +0000 (08:42 -0600)]
driver model: exploit kobject contstructs.

This makes the driver model core (for devices) exploit the kobject
infrastructure more and make the resulting code quite a bit simpler.

For one, device_register() mimmicks kobject_register() in that it now only
calls device_initialize() and device_add() back to back. Similarly,
device_unregister() calls device_del() and put_device() consecutively.

device_del() no longer removes and frees the device, it only removes them.
It also removes the devices from the global and sibling lists. This was
previously done by device_put(), but moved here to be symmetrical with
device_add().

The device's parent is now only incremented in device_add() and decremented
in device_del(), fixing a bug in which the parent's refcount was incremented
twice.

Because of these simplifications, the core can easily be converted to use
the kobject reference counting infrastructure. get_device() now simply
forwards the call to kobject_get() and ditto for put_device().
device_release() is implemented to handle the freeing of devices once their
reference count reaches 0.

Since we're using the kobject refcounting model, we no longer need the
checking or setting of the device state field, so it has been removed.
The only users of it were the power routines. In those, it is implicit that
we have a valid device, since we've already taken device_sem, and we're
walking the list (all modifications are protected by device_sem).

struct device::lock, and the helpers to lock/unlock have been removed. No
one has ever used them, and no one is likely to use them.

23 years agoUSB: usb-serial core updates
Greg Kroah-Hartman [Tue, 19 Nov 2002 14:32:33 +0000 (06:32 -0800)]
USB:  usb-serial core updates

 - removed a few #ifdefs in the main code
 - cleaned up the failure logic in initialization.

23 years ago[VLAN]: remove vlan_devices[] entries properly.
David S. Miller [Tue, 19 Nov 2002 13:59:24 +0000 (05:59 -0800)]
[VLAN]: remove vlan_devices[] entries properly.

23 years ago[TG3]: Use spin_lock_irq{save,restore} on tx_lock.
David S. Miller [Tue, 19 Nov 2002 13:49:31 +0000 (05:49 -0800)]
[TG3]: Use spin_lock_irq{save,restore} on tx_lock.

23 years ago[SPARC]: Fix finish_arch_switch and factor PIL users.
Pete Zaitcev [Tue, 19 Nov 2002 13:46:30 +0000 (05:46 -0800)]
[SPARC]: Fix finish_arch_switch and factor PIL users.

23 years ago[SPARC64]: Makefile cleanups.
Sam Ravnborg [Tue, 19 Nov 2002 13:43:27 +0000 (05:43 -0800)]
[SPARC64]: Makefile cleanups.

23 years ago[SPARC64]: Use kbuild more consistently, add archhelp target.
Sam Ravnborg [Tue, 19 Nov 2002 13:41:32 +0000 (05:41 -0800)]
[SPARC64]: Use kbuild more consistently, add archhelp target.

23 years ago[SPARC]: Add epoll syscall entries.
David S. Miller [Tue, 19 Nov 2002 13:38:48 +0000 (05:38 -0800)]
[SPARC]: Add epoll syscall entries.

23 years ago[PATCH] Re: 2.5.48 /proc/scsi directory missing
Patrick Mansfield [Tue, 19 Nov 2002 13:20:26 +0000 (07:20 -0600)]
[PATCH] Re: 2.5.48 /proc/scsi directory missing

On Tue, Nov 19, 2002 at 10:45:25AM +1100, Douglas Gilbert wrote:
> That directory (and all who sail in her, e.g. /proc/scsi/scsi)
> seems to have disappeared. When the scsi_debug module is
> loaded a /proc/scsi_debug/0 entry appears (that used to be
> /proc/scsi/scsi_debug/0).
>
> Doug Gilbert

It looks like the merge of Doug and Christoph's code dropped two calls
(unless the exit devfs_unregister was supposed to be removed).

Here's a patch for the addition of scsi_init_procfs, devfs_mk_dir and
bus_unregister calls, and a small reordering so calls in exit_scsi
match the reverse of those in init_scsi.

23 years agoscsi_debug 1.65 for lk 2.5.48
Douglas Gilbert [Tue, 19 Nov 2002 13:19:09 +0000 (07:19 -0600)]
scsi_debug 1.65 for lk 2.5.48

The scsi_debug version in lk 2.5.48 is the second last one
I sent to this list. So this patch includes the changes from
the last one I sent:
   - fix "in use" counting [hch]
   - clean up bios_param() code
It also merges a sysfs re-organisation from Mike Anderson.

23 years agofix queue run on returning I/O [axboe@suse.de]
James Bottomley [Tue, 19 Nov 2002 13:13:45 +0000 (07:13 -0600)]
fix queue run on returning I/O [axboe@suse.de]

On returning I/O, need to unplug the queue before we call the queue_fn.
This fixes a problem in 2.5.48 where the aic7xxx driver hangs under e2fsck.

23 years ago[PATCH] remove unused includes and misleading comments from scsi_lib.c
Christoph Hellwig [Tue, 19 Nov 2002 13:10:11 +0000 (07:10 -0600)]
[PATCH] remove unused includes and misleading comments from scsi_lib.c

Some of that stuff might have been right for 2.4, but..

(and btw, scsi_lib is pretty misleading, what about reusing scsi_queue.c?)

23 years ago[PATCH] remove dead struct/typedef from hosts.h
Christoph Hellwig [Tue, 19 Nov 2002 13:09:52 +0000 (07:09 -0600)]
[PATCH] remove dead struct/typedef from hosts.h

23 years ago[PATCH] rationalize allocation and freeing of struct scsi_device
Christoph Hellwig [Tue, 19 Nov 2002 13:09:38 +0000 (07:09 -0600)]
[PATCH] rationalize allocation and freeing of struct scsi_device

Currently allocation and freeing of struct scsi_device is a mess.
We have two nice functions in scsi_scan.c (scsi_allocate_sdev/
scsi_free_sdev) that are the right interfaces to deal with it, so I moved
them to scsi and made them non-static.  I've changed all functions
allocation freeing them to use it.

23 years ago[PATCH] make scsi_ioctl.h useable without including scsi.h
Christoph Hellwig [Tue, 19 Nov 2002 13:08:26 +0000 (07:08 -0600)]
[PATCH] make scsi_ioctl.h useable without including scsi.h

*grr* - silly typedefs..

23 years ago[NET]: Make sock_ioctl truly static.
David S. Miller [Tue, 19 Nov 2002 12:57:17 +0000 (04:57 -0800)]
[NET]: Make sock_ioctl truly static.

23 years agoMerge kroah.com:/home/linux/linux/BK/bleeding-2.5
Greg Kroah-Hartman [Tue, 19 Nov 2002 12:47:59 +0000 (04:47 -0800)]
Merge kroah.com:/home/linux/linux/BK/bleeding-2.5
into kroah.com:/home/linux/linux/BK/pci-2.5

23 years agoPCI: removed pcibios_read_config_* and pcibios_write_config_* functions.
Greg Kroah-Hartman [Tue, 19 Nov 2002 12:30:40 +0000 (04:30 -0800)]
PCI: removed pcibios_read_config_* and pcibios_write_config_* functions.

23 years agoPCMCIA: remove usage of pcibios_read_config_dword
Greg Kroah-Hartman [Tue, 19 Nov 2002 12:24:56 +0000 (04:24 -0800)]
PCMCIA: remove usage of pcibios_read_config_dword

23 years agoISDN: Convert usages of pcibios_* functions to pci_*
Greg Kroah-Hartman [Tue, 19 Nov 2002 12:23:31 +0000 (04:23 -0800)]
ISDN: Convert usages of pcibios_* functions to pci_*

23 years ago[PATCH] remove duplicated assignment from sys_capget.
Chris Wright [Tue, 19 Nov 2002 11:01:48 +0000 (03:01 -0800)]
[PATCH] remove duplicated assignment from sys_capget.

This removes the code from cap_sysget that fills out the capability set
being returned to userspace.  The module handles this in a policy
specific way.  This updates the dummy.c module to fill in return data
according to superuser policy, and also disables setting capabilities in
superuser policy.

23 years agomerge
Patrick Mochel [Tue, 19 Nov 2002 09:43:16 +0000 (03:43 -0600)]
merge

23 years ago[PATCH] sys_capget should use current if the pid argument is 0
Chris Wright [Tue, 19 Nov 2002 09:02:05 +0000 (01:02 -0800)]
[PATCH] sys_capget should use current if the pid argument is 0

23 years agosysfs: do permission checking on open.
Patrick Mochel [Tue, 19 Nov 2002 07:33:36 +0000 (01:33 -0600)]
sysfs: do permission checking on open.

sysfs has always had a bug that would allow a read-only file to be opened
for writing. It has also returned 0 on write when there was no store method
defined for the file.

This addresses both via sysfs_open_file(). It checks the flags the file was
opened with and compares them with the mode of the inode. If the mode does
not support the flags passed, -EPERM is returned.

If the sysfs_ops for the object does not have the correct method for the
flags, -EACCESS is returned.

Since all checks happen on open(), the corresponding checks in the read()
and write() methods have been removed.

23 years ago[PATCH] ADM8513 support added;
Petko Manolov [Tue, 19 Nov 2002 06:51:56 +0000 (22:51 -0800)]
[PATCH] ADM8513 support added;

23 years agoDon't trust "rq->cmd_len", most of the internal IDE-CD command
Linus Torvalds [Tue, 19 Nov 2002 05:58:10 +0000 (21:58 -0800)]
Don't trust "rq->cmd_len", most of the internal IDE-CD command
sending routines don't set it up.

23 years agoMerge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
Patrick Mochel [Tue, 19 Nov 2002 04:56:23 +0000 (22:56 -0600)]
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-kobject

23 years agoBroken applications do not realize that a zero return
Linus Torvalds [Tue, 19 Nov 2002 02:10:38 +0000 (18:10 -0800)]
Broken applications do not realize that a zero return
from "write()" is an error condition, and hang retrying.

Return EINVAL in sysfs instead.

23 years agoMerge master.kernel.org:/home/dwmw2/BK/jffs2-forlinus-2.5
Linus Torvalds [Tue, 19 Nov 2002 01:27:41 +0000 (17:27 -0800)]
Merge master.kernel.org:/home/dwmw2/BK/jffs2-forlinus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoFix nanosecond merge.
David Woodhouse [Tue, 19 Nov 2002 14:16:34 +0000 (14:16 +0000)]
Fix nanosecond merge.

23 years agoMerge [acm]time nanosecond support from 2.5.48.
David Woodhouse [Tue, 19 Nov 2002 13:28:53 +0000 (13:28 +0000)]
Merge [acm]time nanosecond support from 2.5.48.

23 years ago[PATCH] compilation fix (tpyo)
Andries E. Brouwer [Tue, 19 Nov 2002 01:25:17 +0000 (17:25 -0800)]
[PATCH] compilation fix (tpyo)

23 years ago[PATCH] fix nanosecond stat timefields in UDF
Ben Fennema [Tue, 19 Nov 2002 01:15:31 +0000 (17:15 -0800)]
[PATCH] fix nanosecond stat timefields in UDF

23 years ago[CRYPTO]: Kill stray CRYPTO_ALG_TYPE_COMP.
David S. Miller [Mon, 18 Nov 2002 16:32:37 +0000 (08:32 -0800)]
[CRYPTO]: Kill stray CRYPTO_ALG_TYPE_COMP.

23 years ago[CRYPTO]: Forgot to add crypto_null.c in previous commit.
David S. Miller [Mon, 18 Nov 2002 16:02:56 +0000 (08:02 -0800)]
[CRYPTO]: Forgot to add crypto_null.c in previous commit.

23 years ago[CRYPTO]: Add null algorithms and minor cleanups.
James Morris [Mon, 18 Nov 2002 16:00:26 +0000 (08:00 -0800)]
[CRYPTO]: Add null algorithms and minor cleanups.

23 years agokobject - expose backend helpers to registration interface.
Patrick Mochel [Mon, 18 Nov 2002 15:46:04 +0000 (09:46 -0600)]
kobject - expose backend helpers to registration interface.

The interface should now be more sane and protect against races better.

kobject_register() was split into two helpers: kobject_init() and kobject_add().
It calls both consecutively, though both are also exposed for use by users
that want to use the objects w/o adding them to the object hierarchy.

kobject_unregister() was made simply a wrapper for kobject_del() and
kobject_put(), which are both also exposed. The guts of kobject_put() was
moved into kobject_cleanup(), which it calls when the reference count hits
0. (This was done for clarity).

The infrastructure now takes a lot in kobject_get() and kobject_put() when
checking and modifying the objects' reference counts. This was an obvious
one that hsould have been fixed long ago.

kobject_add() increments the refcount of the object, which is decremented
when kobject_del() is called. This guarantees that the object's memory
cannot be freed if it has been added to the hierarchy, and kobject_del()
has not been called on it.

kobject_init() is now the function that increments the refcount on the
object's subsystem, which is decremented only after its release() method
has been called for the object in kobject_cleanup().

The documentation has been updated to reflect these changes.

23 years ago[CRYPTO]: Kill accidental double memset.
Jeff Garzik [Mon, 18 Nov 2002 15:11:11 +0000 (07:11 -0800)]
[CRYPTO]: Kill accidental double memset.

23 years ago[PATCH] inode_mknod parameters
Andries E. Brouwer [Mon, 18 Nov 2002 14:50:09 +0000 (06:50 -0800)]
[PATCH] inode_mknod parameters

These security_ops are declared like

        int (*inode_mknod) (struct inode *dir, struct dentry *dentry,
                            int mode, dev_t dev);

with a mode and a dev_t argument.

But the users mistakenly had major, minor instead of mode, dev.

23 years ago[PATCH] C99 initializer for fs/sysv/super.c
Art Haas [Mon, 18 Nov 2002 14:48:58 +0000 (06:48 -0800)]
[PATCH] C99 initializer for fs/sysv/super.c

23 years ago[PATCH] C99 initializer for fs/ext2/dir.c
Art Haas [Mon, 18 Nov 2002 14:48:53 +0000 (06:48 -0800)]
[PATCH] C99 initializer for fs/ext2/dir.c