Russell King [Thu, 27 Feb 2003 23:37:28 +0000 (23:37 +0000)]
[ARM PATCH] 1406/1: Enable mtd partitions via mtdparts in dc21285 map driver
Patch from Jonas Larsson
The dc21285 mtd map driver supported RedBoot partitioning only. Kernel command line partitioning was not supported. This patch adds the missing functionality.
Duncan Sands [Thu, 27 Feb 2003 01:16:13 +0000 (17:16 -0800)]
[PATCH] USB speedtouch: better proc info
Output the correct device name, show the state of the device (for debugging) and of the
ADSL line (anyone want to write a graphical utility to show this, like under windows?). We
no longer consult the usb_device struct in udsl_atm_proc_read, so don't take a reference
to it. Against Greg's current 2.5 USB tree.
Roger Luethi [Thu, 27 Feb 2003 00:49:48 +0000 (16:49 -0800)]
[PATCH] via-rhine: fix races
This patch addresses two distinct races:
- Until now, the driver started the chip for Tx regardless of errors
pending in the status register. Not good if an error occured while
we were queueing packets -- the chip counter had not been reset,
so Tx died. (We can't reliably get an interrupt for every error
condition)
- The Rhine-II (when under load) frequently produces a Tx descriptor
write-back race error. Failing to handle this means waiting for the
netdev watchdog. Fixed.
In addition, we must wait for the Tx engine to turn off on error
conditions before we scavenge the descriptor entries. Failing to do
so will typically lead to performance going down to about 10%: Burst,
timeout, burst, timeout.. (again, with a Rhine-II under load).
Roger Luethi [Thu, 27 Feb 2003 00:49:41 +0000 (16:49 -0800)]
[PATCH] via-rhine: reset logic
Since Linus and Jeff raised the issue of PCI posted writes, I cleaned up
wait_for_reset() some more. Experiments show that with MMIO, a reset may
indeed take seemingly longer -- that is fixed by flushing that buffer.
Also, the driver now polls the appropriate register while waiting for the
reset to finish.
Dave Jones [Thu, 27 Feb 2003 00:44:37 +0000 (16:44 -0800)]
[PATCH] VIA Nehemiah cache workaround.
It turns out that this bug is only on the pre-production models,
but as a few of them have 'escaped' the labs to the hands of
a few lucky developers, we still need it.
Kevin Corry [Wed, 26 Feb 2003 23:15:16 +0000 (15:15 -0800)]
[PATCH] dm: prevent possible buffer overflow in ioctl interface
Use the correct size for "name" in register_with_devfs().
During Al Viro's devfs cleanup a few versions ago, this function was
rewritten, and the "name" string added. The 32-byte size is not large
enough to prevent a possible buffer overflow in the sprintf() call,
since the hash cell can have a name up to 128 characters.
Joe Thornber [Wed, 26 Feb 2003 23:12:04 +0000 (15:12 -0800)]
[PATCH] dm: __LOW macro fix no. 2
Another fix for the __LOW macro.
When dm_table and dm_target structures are initialized, the "limits" fields
(struct io_restrictions) are initialized to zero (e.g. in dm_table_add_target()
in dm-table.c). However, zero is not a useable value in these fields. The
request queue will never let an I/O through, regardless of how small it might
be, if max_sectors is set to zero (see generic_make_request in ll_rw_blk.c).
This change to the __LOW() macro sets these fields correctly when they are
first initialized. [Kevin Corry]
Mike Anderson [Wed, 26 Feb 2003 15:41:20 +0000 (10:41 -0500)]
[PATCH] scsi_set_device_offline lock fix
Patrick pointed out that I could get into a ABBA issue with holding
list_lock while calling scsi_eh_scmd_add which takes host_lock.
A call to scsi_prep_fn already holds the queue_lock and then makes a
call to scsi_get_command which takes list_lock.
[PATCH] update nsp_cs to use scsi_add_host / scsi_remove_host
On Wed, Feb 26, 2003 at 08:20:05PM +0100, Christoph Hellwig wrote:
> This patch updates nsp_cs to use scsi_add_host / scsi_remove_host when
> compiledfor Linux 2.5 which allows to get rid of the scsi host list
> walks and is a preparation for allowing to support multiple cards of
> this type.
Sorry, I sent you the wrong paetch, here's the right one:
Alan Stern [Wed, 26 Feb 2003 08:15:42 +0000 (00:15 -0800)]
[PATCH] Trivial patch for usb.h
The usb_snddefctrl and usb_rcvdefctrl macros are wrong. This hasn't shown
up until now because usb_rcvdefctrl isn't used anywhere at all, and
usb_snddefctrl is used exactly once (in core/usb.c).
This patch fixes the macros and moves them to hcd.h.
1) apic_write_around(APIC_ID, boot_cpu_physical_apicid) places the APIC
value in the lower 8 bits of APIC_ID, when it should be in the upper 8. As
as result, it effectively forces the APIC id to always be 0 for the boot
CPU, which is fatal on SMP AMD boxes.
Fix: don't do the write at all. The APIC_ID value should be right already.
2) phys_cpu_present_map = 1 means we always set bit 0, but later on
in setup_local_APIC() we do
if (!clustered_apic_mode &&
!test_bit(GET_APIC_ID(apic_read(APIC_ID)), &phys_cpu_present_map))
BUG();
and the bug is triggered if the APIC_ID is not zero.
Ivan Kokshaysky [Wed, 26 Feb 2003 06:52:43 +0000 (22:52 -0800)]
[PATCH] alpha: context switch fixes
- Fix argument order for cmpbge in non-ev67 __ffs(). This caused a machine
check in PAL mode early on boot, apparently in swpctx.
- Sync up ret_from_fork with i386. This fixes "Badness in context_switch .."
flood on UP.