Ben Collins [Sat, 19 Apr 2003 12:34:28 +0000 (05:34 -0700)]
[PATCH] IEEE-1394/Firewire updates
- Cleaned up hostinfo usage in all drivers and created a central API to
handle them all.
- Fixup some spinlock mis-usage.
- Remove devfs_handle mis-usage.
- Cleaned up some heavy handed spinlocking to use mutexes instead.
- Add function to send PHY config packets and use to to settle
IRM/cycle-master/root descrepancies.
(i) Replace in struct loop_info the dev_t field by __kernel_old_dev_t,
where this type is defined in <asm/posix_types.h>, so that problems
with a differently sized dev_t in userspace are avoided.
(ii) Introduce a new loop_info64, with __u64 device, inode and offset
fields.
Second try at the bridge driver module handling cleanup...
1) Eliminate keeping a seperate bridge_list and use a bit on
the priv_flags structure. This is equivalent to how the VLAN
code works. Makes code cleaner and correctly handles cases like
creating a bridge with the same name as an existing ether device etc.
2) Don't do own module ref counting that is inhernently racy.
Instead set owner field and cleanup debris on unload.
3) Do last state cleanup in destructor
4) Change of bridge state (dev_open/stop) should use write_lock
[DECNET]: DECnet routing fixes etc.
o As requested, macros in dn_fib.h changed to decnet specific names
o Two bugs fixed (only in 2.5 decnet stack) relating to bind and connection
states.
o Numerous style changes: using C99 initialisers and inline rather
than __inline__
o Use struct flowi as routing key (for forthcoming flow cache)
o Add metrics to routing table
o Many routing table bug fixes
o New wait code to improve efficiency
o We use real device MTUs now rather than saying "hmm... looks like ethernet
must be 1500" as we used to (still one or two places to fix, but its
mostly correct in this patch)
o Tidy up in af_decnet.c:dn_sendmsg() in preparation for zerocopy
o Updates to rtnetlink code to return more information
o Removed ioctl() for decnet fib. It never did anything and rtnetlink is
a far better interface anyway.
o Converted /proc/decnet_neigh to seq_file (other /proc files to follow)
o DECnet route cache now uses RCU like the ipv4 route cache
o Misc bug fixes wherever I found them
o SO_BINDTODEVICE works for outgoing connections
Store the path of it's devfs directory in struct scsi_device. Use
it in the devfs_register calls instead of the devfs_handle_t
which will go away soon.
Russell King [Thu, 17 Apr 2003 23:26:15 +0000 (00:26 +0100)]
[ARM] Fix Kconfig breakage in arch/arm/mach-iop3xx/Kconfig
When a "depends" statement against all configuration options of a choice,
which causes all options of that choice to be disabled, it sends Kconfig
into an infinite loop. Move the "depends" clause to the choice statement
instead.
Eli Carter [Thu, 17 Apr 2003 22:59:27 +0000 (23:59 +0100)]
[ARM PATCH] 1506/1: Add iq80321 MTD mapping
Patch from Eli Carter
# Thu Apr 17 14:05:58 CDT 2003 ejc@rnd-linux-c84
# iq80321-mtd
#
# Add the MTD mapping for the flash chip on the iq80321 board.
# The drivers/mtd/maps/iq80321.c file comes from 2.4.19-rmk4-ds2, and is
# essentially a copy of the iq80310.c file in the same directory.
# This version used C99 initializers
#
# Diff'ed against 2.5.65-rmk1+1472-4+1502-3
# Applies cleanly to linux-2.5.67-rmk1+1502-3
#
# arch/arm/def-configs/iq80321 | 61 ++++++++++-----
# drivers/mtd/maps/Kconfig | 8 ++
# drivers/mtd/maps/Makefile | 1
# drivers/mtd/maps/iq80321.c | 169 +++++++++++++++++++++++++++++++++++++++++++
# 4 files changed, 218 insertions(+), 21 deletions(-)
#
Alan Cox [Thu, 17 Apr 2003 09:29:58 +0000 (02:29 -0700)]
[PATCH] generalise fpu_irq also add pc98 for x86 code
The idea is to move more to if(pc98) so that we can attempt to get all
the ports buildable as one "generic" port in time. I don't think its p
possible for PC9800 but no need to dig holes
[PATCH] make devpts filesystem mandatory even for CONFIG_DEVFS
This patch rips out handling of UNIX98 ptys from devfs. We already
have a special small filesystem to handle it (devpts) that's always
compiled in anyway. This allows to get rid of all DEVFS_FL* flags and
some gunk in devfs.
Ben Collins [Thu, 17 Apr 2003 06:07:43 +0000 (23:07 -0700)]
[PATCH] IEEE-1394/Firewire updates
- Add driver registration for dv1394/video1394/raw1394.
- Fix 3 sleep-while-atomic bugs in ohci1394 and ieee1394.
- Cleanup some bus-reset handling in ohci1394.
- Add empty config-rom handling.
- Check and handle SBP-2 logins active/available for non-exclusive
logins.
- Fix bug in SBP-2 DMA cleanup.
Andrew Morton [Thu, 17 Apr 2003 05:52:11 +0000 (22:52 -0700)]
[PATCH] Fix orlov allocator boundary case
In the interests of SMP scalability the ext2 free blocks and free inodes
counters are "approximate". But there is a piece of code in the Orlov
allocator which fails due to boundary conditions on really small
filesystems.
Fix that up via a final allocation pass which simply uses first-fit for
allocation of a directory inode.
Russell King [Thu, 17 Apr 2003 00:37:19 +0000 (01:37 +0100)]
[SERIAL] Move make modem control signals accessible to line discplines
We also parse modem control signals in the tty layer, and fail with
EINVAL if the driver does not provide the methods. All tty drivers
which require modem control support should be updated to provide
the new tiocmset and tiocmget methods.
David Mosberger [Wed, 16 Apr 2003 04:20:26 +0000 (21:20 -0700)]
[PATCH] fix fs->lock deadlock with emulated name lookup
The patch below is needed to avoid a deadlock on fs->lock. Without
the patch, if __emul_lookup_dentry() returns 0, we fail to reacquire
current->fs->lock and then go ahead to read_unlock() it anyhow. Bad
for your health.
I believe the bug was introduced when the fast pathwalk was reverted
in order to introduce the RCU lockless path walking.
David Mosberger [Tue, 15 Apr 2003 15:51:27 +0000 (08:51 -0700)]
[PATCH] module symbol fix
Fix for trivial typo. Without it, you can't insert anything on top of
agpgart.ko because the agp_register_driver() will erroneously pick up
the symbol version from agp_backend_acquire().
Rusty Russell [Tue, 15 Apr 2003 14:56:40 +0000 (07:56 -0700)]
[NETFILTER_IPV4]: De-linearization of IP Connection Tracking.
This converts connection tracking and all the connection tracking
modules to handle non-linear skbs. Enough interfaces have been
broken in the process that old helpers won't compile.
Interfaces which used to take a "void *data, int len" or
"struct iphdr *iph, int len" now take the skb itself (and an offset to
the data in the case of the first interface), which is not
linearized in any way (although Alexey says after ip_rcv the IP header
is always linear, so IPv4 netfilter hooks can always assume a linear
IP hdr).
Helpers which examine data (amanda, FTP, IRC) now copy it into a buffer
and examine that.
Now that the kernel provides code user programs are executing directly
(I mean the vsyscall code on x86) it is necessary to add unwind
information for that code as well. The unwind information is used not
only in C++ code.
This patch adds a AT_SYSINFO_EH_FRAME ELF aux-table value that points to
the unwinding block description for the sysinfo frame, and makes sure
the AT_* value is passed to applications. It defines the static data
for the unwind blocks (two, one for int80 and the other for sysenter),
and finally adds code to copy the data in place.