Manfred Spraul [Mon, 13 May 2002 07:25:19 +0000 (00:25 -0700)]
[PATCH] usb-storage locking fixes
I found several SMP and UP locking errors in usb-storage, attached is a
patch:
Changes:
* srb->result is a bitfield, several << 1 were missing.
* add scsi_lock calls around midlayer calls, release the lock before
calling usb functions that might sleep.
* replace the queue semaphore with a queue spinlocks, queuecommand is
called from bh context.
Johannes Erdfelt [Sat, 11 May 2002 14:16:49 +0000 (07:16 -0700)]
[PATCH] uhci.c FSBR timeout
There was a discussion a long time ago about how safe the bit operations
were as well as recently.
set_bit/clear_bit are not safe on x86 UP, nor are they safe on other
architectures. It's also unclear from the UHCI spec if the HC's are safe
with respect to atomic updates to the status field.
This patch ditches all of the uses of set_bit and clear_bit and changes
the algorithm that depended on it.
The FSBR timeout algorithm would reenable FSBR for transfers when they
started making progress again. So instead of trying for this best case,
we convert the transfer over to depth first from the standard breadth
first. To make sure the transfer doesn't hog all of the bandwidth, every
5th TD is left in breadth first mode. This will ensure other transfers
get some bandwidth.
It's not perfect, but I think it's a good compromise.
Note: td->info is read only by the HC, so we can touch it whenever we
want.
David Brownell [Sat, 11 May 2002 14:16:35 +0000 (07:16 -0700)]
[PATCH] -- hub/tt error recovery
This patch adds missing functionality to the transaction translator
support for USB 2.0 hubs:
- moves the 'struct usb_tt' definition to "hub.h" from <linux/usb.h>
- adds state to it as neeed for some control/bulk error recovery
- teaches the hub driver how to use that state (via keventd)
- adds a call letting HCDs trigger that recovery
David Brownell [Sat, 11 May 2002 14:16:19 +0000 (07:16 -0700)]
[PATCH] -- ehci misc FIXMEs
This addresses FIXME comments in the EHCI code, notably:
- telling the hub driver to clear up TT error state
(relies on the hub error recovery patch I just sent)
- using 64bit PCI DMA where appropriate
- handling BIOS handoff as neeed
Martin Dalecki [Thu, 9 May 2002 07:13:04 +0000 (00:13 -0700)]
[PATCH] 2.5.14 IDE 59
Basically PCI driver handling reorganization. This is one step further
ahead toward the goal of fully modularized host chip drivers.
- Adjust ide-scsi to the new error handling. Just don't try any device
resets there.
- Add unmasking of IRQ per default to the PMac PCI code.
- Split up the crap table from ide-pci. Let the corresponding drivers do
registration of the functions they provide. This small change makes
this patch rather big.
- Hard-code the number of ports requested for DMA engines. They are always
precisely 8 on PCs. If you hove something different to deal with,
well then please just provide your own init_dma method.
- Remove the HDIO_GETGEO_BIG ioctl. Patch by Andries Brouwer. Applies
unmodified.
- Make ON_BOARD be equal 0, so we can spare ourself some typing in structure
initialization.
- Normalize the terminology in the host chip drivers. It will make spotting
the tons of common code found there later easier.
Paul Mackerras [Fri, 10 May 2002 02:56:24 +0000 (12:56 +1000)]
PPC32: This changeset adds preemptible kernel support for ppc32
and also streamlines the exception entry/exit code by not saving
all the GPRs on the common exceptions (system call, external
interrupt and decrementer).
Paul Mackerras [Thu, 9 May 2002 05:03:06 +0000 (22:03 -0700)]
[PATCH] fix drivers/scsi/sd.c for ppc32
This patch fixes the compile errors in sd_find_target, which is only
used on 32-bit PPC systems, and changes the ifdef around from
CONFIG_PPC to CONFIG_PPC32 since ppc64 doesn't need this routine.
Dave Kleikamp [Thu, 9 May 2002 01:12:07 +0000 (18:12 -0700)]
[PATCH] Fix JFS file system corruption
JFS: Flush dirty metadata to disk when remounting from read-write
to read-only. Also fix umount ordering to make sure metadata is
written before journal closed.
With Andrew Morton's recent changes, JFS is no longer writing much
of its dirty metadata when remounting from read-write to read-only.
This causes severe file system corruption. A JFS root file system
will be corrupted on shutdown.
This patch fixes the problem by explicitly writing the dirty metadata
before the journal is closed. It also fixes the ordering so that
the dirty metadata is completely written before the journal is closed
for the normal unmount case as well.
David S. Miller [Wed, 8 May 2002 15:34:22 +0000 (08:34 -0700)]
Soft-fp fix:
- Fix handling of implicit 1 bit of fraction part when converting
from int to float. We cannot handle it properly unless we
defer implicit 1 bit handling till after rounding as
rounding may move where the implicit 1 bit is in
the final converted integer.
Linus Torvalds [Wed, 8 May 2002 09:10:48 +0000 (02:10 -0700)]
Merge penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux-2.5-pci
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
Old pcmcia-cs versions expect the pcmcia modules in
/lib/modules/`uname -r`/pcmcia, so we symlinked them for compatibility.
According to the comment, the generation of these links should have
been removed in 2.4, so it's definitely time for it to go now.
Colin Gibbs [Tue, 7 May 2002 10:14:55 +0000 (03:14 -0700)]
copy_mm fix:
- If dup_mmap fails we will try to destroy_context before
init_new_context occurs. Platforms with non-trivial
init_new_context can explode because of this. The fix
is to invoke init_new_context before dup_mmap.
David Brownell [Tue, 7 May 2002 07:55:20 +0000 (00:55 -0700)]
[PATCH] PATCH 2.5.14 -- ehci misc fixes
- Report better errors, and in one case the correct one.
- Adds strategic wmb() calls
- Claims the right (scaled) ISO bandwidth
- Uses non-CVS version ID
This will likely resolve that Archos MP3 Jukebox issue, where "-104"
(-ECONNRESET) was appearing mysteriously.