Andrew Morton [Thu, 26 Feb 2004 00:19:49 +0000 (16:19 -0800)]
[PATCH] s390: DASD device driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
DASD driver fixes:
- Fix generic_set_online if diag discipline is not availab.e
- Fix reserve on already reserved device.
- Use default-erp for unit check without sence information.
- Revert dasd naming scheme change from dasd<xyz> to dasd_<busid>_. This
breaks too many user space packages.
- Extend dasd naming scheme to four letters dasd<aaaa>-dasd<zzzz>.
- Fix formatting of dasds.
Andrew Morton [Thu, 26 Feb 2004 00:19:37 +0000 (16:19 -0800)]
[PATCH] s390: IUCV network driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
IUCV interface fixes:
- VM workaround: redirect setmask call to cpu 0.
- Disable message interrupts during connection setup.
- Honor incoming connection severed during connection setup.
- Add connect retry when remote severed connection.
- Add symlinks between net device and iucv device.
- More fixes for proper net device allocation/deallocation.
Andrew Morton [Thu, 26 Feb 2004 00:19:23 +0000 (16:19 -0800)]
[PATCH] s390: LCS network driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
LCS network driver fixes:
- Fix ccwgroup behaviour, remove should offline cards still online.
- Better not write to the debug feature before it is registers.
- Don't free card structure on offline but on remove.
- Check for deferred condition code 1 in lcs_irq for halt requests.
- Call free_netdev only if there is a net device.
Andrew Morton [Thu, 26 Feb 2004 00:19:10 +0000 (16:19 -0800)]
[PATCH] s390: CTC network driver.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
CTC network driver fixes:
- Fixed some debug messages (did not compile with DEBUG defined).
- Added sanity checks in ctc_proto_store() & ctc_shutdown_device().
- Added some bugfixes from 2.4.
- Tweaked logging.
- Removed syntax error in pr_debug call.
- Changed do_IO (not existing any more) to ccw_device in messages.
- Corrected format failure in pr_debug of channel_get.
- Add symlinks between net device and ctc device.
- Add tiocmset/tiocmget API change patch from Russell King
- Fix locking problem in ctc_tty_cleanup.
Andrew Morton [Thu, 26 Feb 2004 00:18:59 +0000 (16:18 -0800)]
[PATCH] s390: compat_timer_settime.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
sys_timer_settime returns EINVAL if *new is NULL, compat_timer_settime
returns EFAULT. Add a check to compat_timer_settime to return EINVAL
if *new is NULL.
Andrew Morton [Thu, 26 Feb 2004 00:18:34 +0000 (16:18 -0800)]
[PATCH] s390: common i/o layer.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Common i/o layer fixes:
- Add atomic onoff variable to ccw devices and ccw-group devices to
avoid races during online/offline.
- Fix pr_debug calls.
- A lot of path fixes:
+ Set device to disconnected state after no path event.
+ Fix chpid vary on/off for single path devices.
+ Make logical vary on/off consistent with physical vary on/off.
+ Don't update subchannel schib if the device is gone (dnv not set).
+ Add code to recover lost chpids after machine checks.
+ Avoid processing link incidents, resource accessability events and
chpid machine checks for logically offline chpids.
+ Recover disconnected devices after chsc machine checks.
+ Delay de-registering of no path devices to avoid deadlocks.
+ Don't redo ssd for known subchannels - the info is static.
+ Introduce a second, "slow" machine check handler thread for new devices.
The "fast" machine check handler only recovers disconnected devices.
- Deregister subchannel rather than ccw device on not oper events.
- Fix calling sequence of notify function vs. path verification.
- Reset timeout for disconnected devices.
- Fix problem with debug feature and %s arguments.
- Fix __get_subchannel_by_stsch to deal with "zombie" subchannels.
- Avoid "zombie" subchannels if device is not operational during sense id.
- Handle call to the io_subchannel remove function if the ccw device
is not registered yet.
- Add availability attribute for ccw devices: "good", "no device",
"no path", "boxed".
- Export ccw_device_work for qdio as module.
- Retry sense id for tape devices which present intervention required.
- Don't check the activity control to decide if the device driver interrupt
handler needs to be called but use the bits in status control.
- Fix race in ccw_device_stlck.
- Accumulate deferred condition code.
- Fix setting_up_sema locking.
- Call qdio_shutdown instead of qdio_cleanup on failed establish.
- Fix problem when 64 FCP adapters are initialized simultaneously.
- Fix problem with >64 adapter interrupt capable devices.
- Reduce stack usage in qdio.
Andrew Morton [Thu, 26 Feb 2004 00:18:22 +0000 (16:18 -0800)]
[PATCH] s390: general update.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Core s/390 changes:
- Add -mbackchain to CFLAGS to prepare for gcc 3.4 with comes with a
default setting of -mno-backchain
- Add implementation of strcpy.
- Pad bytes after string end in strncpy.
- Fix __sem_update_count inline assembly for gcc 3.4.
- Export smp_ptlb_all for tlb flushing in module code.
- Fix sched_clock.
- Remove the last KERNEL_VERSION #if in s390 code.
- Add dummy implementation for missing dma_{alloc,free}_coherent.
- Avoid cast of lvalue in idal_buffer_{from,to}_user.
- Remove _exit definition from unistd.h.
Andrew Morton [Thu, 26 Feb 2004 00:18:11 +0000 (16:18 -0800)]
[PATCH] fix module reference counting in zoran driver
From: Christoph Hellwig <hch@lst.de>
Take a reference before calling into the module and release it after we're
done. Also remove the useless (and wrong) refcounting in videocodec -
symbols from this module are used by other modules if we call into those
functions so it can't be unloaded anyway.
We really need to add a debug check to tip all those
try_module_get(THIS_MODULE) callers..
Andrew Morton [Thu, 26 Feb 2004 00:17:36 +0000 (16:17 -0800)]
[PATCH] HFS rewrite
From: Roman Zippel <zippel@linux-m68k.org>
This is a complete rewrite of the HFS driver, it gets rid of a all the
special conversion options, which belong in user space. The driver uses now
a btree support very similiar to HFS+, so that both could be merged at some
point.
Thanks to Ethan Benson <erbenson@alaska.net> for a number of patches to make
the driver more compliant with the spec and Christoph Hellwig <hch@lst.de>
for fixing up the documentation.
Andi Kleen [Wed, 25 Feb 2004 02:01:35 +0000 (18:01 -0800)]
[PATCH] Support AGP bridge on Nvidia Nforce3 + cleanup
For some unknown reasons Nvidia NForce3 doesn't use the standard Hammer AGP architecture,
but requires set up of some shadow registers. This patch adds that to the K8 AGP driver.
Based on an old 2.4 patch from someone at Nvidia.
Also includes another bug fix for the K8 AGP handler, from Brad House.
We should not assume that there is only one northbridge in a Uniprocessor system.
Always flush all.
Andi Kleen [Wed, 25 Feb 2004 01:58:41 +0000 (17:58 -0800)]
[PATCH] New machine check handler for x86-64
This adds a new completely rewritten machine check handler for x86-64.
The old one never worked on 2.6.
The new handler has many improvements. It closely follows the Intel and AMD
recommendations on MCE handlers now (the old one had many violations). It handles
unrecoverable errors in user space better now - it will only kill the process now
if possible instead of panicing.
This one is CPU independent now - it should work on any CPU that supports the standard
x86 MCA architecture.
This new handler only logs fatal errors that lead to kernel panic to the console.
Non fatal errors are logged race free into a new (non ring) buffer now
and supplied to the user using a new character device. The old one could
deadlock on console and printk locks. This also separates machine check errors
from real kernel errors better. The new buffer has been also designed to
be easily accessible from external debugging tools: it has a signature
and could be even recovered after reboot. It is not organized as a ring buffer -
this means the first errors are kept unless explicitely cleared.
The new error formats can be parsed using ftp://ftp.suse.com/pub/people/ak/x86-64/mcelog.c
The new character device for it can be created with mknod /dev/mcelog c 10 227
There is a new sysfs interface to configure the machine check handler.
It has a "tolerant" parameter that defines the aggressiveness of the machine check:
0: always panic
1: panic if deadlock possible (e.g. MCE happened in the kernel)
2: try to avoid panic
Default is 2
Despite of having more features the new handler is shorter.
Andi Kleen [Wed, 25 Feb 2004 01:56:12 +0000 (17:56 -0800)]
[PATCH] x86-64 merge for 2.6.3
Bring the x86-64 port up to date. Lots of smaller bug fixes that have accumulated.
Also fixes another nasty bug introduced by the IA32e changes that causes BUGs at
boot for some people.
Only changes x86-64 specific files. There are some other changes that I'm sending
separately.
- Some cleanup in NMI watchdog code
- Fix HyperThreading CPU setup race (Suresh B. Siddha)
- Update defconfig
- Add a comment on why iommu_fullflush is disabled.
- Export sys_ioctl again
- Fix build with IA32_EMULATION=y and SYSVIPC=n
- Remove noisy boot printks in the mptable scan.
- Implement automatic NMI watchdog switching for real now
- Remove redundant 32bit ioctl handlers for autofs
- Remove CONFIG ifdefs around rtc 32bit ioctl handlers
- Remove useless nfsctl ifdef in syscall.c (Al Viro)
- Increase padding for prefetchw alternative
- Check for NX bit early before setting up memory maps (Suresh B. Siddha)
- Change Intel IA32e config description and fix help texts (Jun Nakajima)
- Fix microcode driver build really now (Dave Jones)
- Add nohpet option to disable HPET timer
- Fix double semicolon in aperture.c
- Add cmpxchg16b cpuid entry
- Fix return value of read_pci_config_16 (Paul Menage)
- Fix __KERNEL_COMPAT32_CS (Zachary Amsden)
- Disable the infamous 30 minutes check in CMOS time setting
- Update URLs in Kconfig (Petri T. Koistinen)
- Fix ACPI interrupt source parsing for Nforce3 (Maciej W. Rozycki)
- Fix 32bit ipc version parsing.
- Run local APIC NMI watchdog only once a second (or less often on idle boxes)
- Merge ACPI APIC SCI functions from i386
- Add i8254 timer suspend code from i386
- Merge with 2.6.2-rc3 + minor changes from i386
- Fix empty_zero_page declaration (Greg Johnson)
- Readd sysctls for exception/page fault trace and vsyscall32
- Fix WCHAN
- Fix STACK_TOP usage. Stack for 64bit processes should be at the
top of memory now again. Also set it correctly for LINUX32_3GB.
- Add warning fixes for gcc 3.4 and -Wdeclaration-after-statement
Andrew Morton [Wed, 25 Feb 2004 00:12:37 +0000 (16:12 -0800)]
[PATCH] asmlinkage fixes
From: Andreas Gruenbacher <agruen@suse.de>,
and me.
Latest gcc cvs is able to detect mismatches between functions which are
tagged asmlinkage and declarations which are missing asmlinkage. Or vice
versa.
Fix up the fallout from an x86 allyesconfig build.
Andrew Morton [Wed, 25 Feb 2004 00:12:24 +0000 (16:12 -0800)]
[PATCH] add syscalls.h
From: "Randy.Dunlap" <rddunlap@osdl.org>
Add syscalls.h, which contains prototypes for the kernel's system calls.
Replace open-coded declarations all over the place. This patch found a
couple of prior bugs. It appears to be more important with -mregparm=3 as we
discover more asmlinkage mismatches.
Some syscalls have arch-dependent arguments, so their prototypes are in the
arch-specific unistd.h. Maybe it should have been asm/syscalls.h, but there
were already arch-specific syscall prototypes in asm/unistd.h...
Tested on x86, ia64, x86_64, ppc64, s390 and sparc64. May cause
trivial-to-fix build breakage on other architectures.
Andrew Morton [Tue, 24 Feb 2004 21:13:08 +0000 (16:13 -0500)]
[PATCH] drivers/acpi/sleep/proc.c warnings
drivers/acpi/sleep/proc.c:359: warning: initialization from incompatible pointer type
drivers/acpi/sleep/proc.c:367: warning: initialization from incompatible pointer type
Andrew Morton [Tue, 24 Feb 2004 12:05:09 +0000 (04:05 -0800)]
[PATCH] swsusp/s3: Assembly interactions need asmlinkage
From: Pavel Machek <pavel@suse.cz>
swsusp/s3 assembly parts, and parts called from assembly are not properly
marked asmlinkage; that leads to double fault on resume when someone
compiles kernel with regparm. Thanks go to Stefan Seyfried for discovering
this.
Having spent a non trivial amount of time trying to pull in the code to
enable MSI, I would suggest that a clear indication in Kconfig that MSI
requires CONFIG_PCI_USE_VECTOR would be very helpful. Also since the MSI
code was integrated into 2.6.1 I've updated the comment that called for
installing the MSI patch.
Andrew Morton [Tue, 24 Feb 2004 12:03:21 +0000 (04:03 -0800)]
[PATCH] add the Intel Alder IO-APIC PCI device to quirks
From: James Bottomley <James.Bottomley@SteelEye.com>
The alder has an intel Extended Express System Support Controller which
presents apparently spurious BARs. When the pci resource code tries to
reassign these BARs, the second IO-APIC gets disabled (with disastrous
consequences).
The first BAR is the actual IO-APIC, the remaining five bars seem to be
spurious resources, so we forcibly insert the first one into the resource
tree and clear all the others.
Andrew Morton [Tue, 24 Feb 2004 12:03:10 +0000 (04:03 -0800)]
[PATCH] Make insert_resource work for alder IOAPIC resources
From: James Bottomley <James.Bottomley@SteelEye.com>
This is a necessary precursor patch for getting the Intel Alder motherboard
working (it has a PCI device corresponding to the IO-APIC which has to be
forcibly inserted into the machine's reserved memory region).
Eric Biederman was going to come up with a more comprehensive fix, but in
the meantime, this is the minimum necessary to get insert_resource to work
when the covering region is larger than the resource being inserted.
Andrew Morton [Tue, 24 Feb 2004 12:03:00 +0000 (04:03 -0800)]
[PATCH] Report NGROUPS_MAX via a sysctl (read-only)
From: Tim Hockin <thockin@sun.com>
Attached is a simple patch to expose NGROUPS_MAX via sysctl. Nothing
fancy, just a read-only variable. glibc can use this to sysconf() the
value properly, so apps will stop relying on NGROUPS_MAX as a real
constant.
Paul Mackerras [Tue, 24 Feb 2004 11:58:56 +0000 (03:58 -0800)]
[PATCH] Clean up IRQ mapping code
On the larger ppc64 machines we remap the interrupt numbers used by
the hardware/firmware to virtual IRQ numbers < NR_IRQS. Up until now
we have used an array for the "real" (hardware) -> virtual IRQ number
mapping, but with new machines coming out that will have 24-bit
hardware IRQ numbers, this will break. However, in fact it is only
the XICS interrupt controller which cares about this mapping. This
patch moves that side of the mapping (real -> virtual) into the XICS
code and makes it use a radix tree.
On iSeries we have a similar issue, where the "real" IRQ numbers that
we need are in fact an encoding of the bus/device/function address of
the device. This patch fixes iSeries to use the virt->real IRQ
mapping, allowing us to support larger iSeries machines. This patch
also gets rid of the temporary hack that Stephen Rothwell submitted.
On machines with OpenPIC (including the G5) the mapping is explicitly
1-1, and that hasn't changed. For other machines this patch cleans up
and simplifies the code that sets up the virtual->real mapping.
I have tested this code and verified that G5, pSeries and iSeries boot
and run correctly with this patch.
Jeff Garzik [Tue, 24 Feb 2004 16:18:44 +0000 (11:18 -0500)]
Improvements to the bk-make-sum BitKeeper summary/submission script:
* use bk:// url to reduce confusion
* remove "Linus, " from introductory output text
* don't diffstat each individual cset; do the entire patch all in
one go. Makes the script a -lot- faster when summarizing
a large number of changesets.
Jochen Friedrich [Tue, 24 Feb 2004 15:29:39 +0000 (10:29 -0500)]
[PATCH] tms380tr patch 1/3 (bug fix)
Hi Jeff,
this fixes some problems partly introduced in the latest token ring
update:
- mix of alloc_trdev(0) and alloc_trdev(sizeof(struct net_local)) confused
memory management.
- initialization of proteon and sknet cards was broken.
- proteon_close() and skisa_close() deleted.
Alexander Viro [Tue, 24 Feb 2004 15:17:51 +0000 (10:17 -0500)]
[PATCH] vlsi_ir leak, allocation and freeing fixes
* switched to sane allocation
* fixes race on removal - we unregistered too late
* contrary to the comment, device had no destructor, so removal
had leaked - unregister_netdev() doesn't trigger freeing in that driver.
* fixes freeing (kfree -> free_netdev)
Otherwise the same story as with previous patch - irda-related part of NE*
that got lost.
Alexander Viro [Tue, 24 Feb 2004 15:01:14 +0000 (10:01 -0500)]
[PATCH] au1k leaks, allocation and free_netdev() fixes
* fixes leaks on failed init
* switches to sane allocation
* fixes netdev freeing (kfree -> free_netdev)
* fixes the idiocy with ->init() (from registger_netdev()) calling
unregister_netdevice() in case of failure - before we got anywhere past
the very beginning of register_netdev().
That's a part of NE* series that failed through the cracks (there were
pending irda patches, so that had been postponed, irda patches either
hadn't materialized in two months or hadn't touched that driver at all,
the latter being more likely).
Error path (EISA) probe was using device before set.
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.1567 -> 1.1568
# drivers/net/dgrs.c 1.23 -> 1.24
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 04/02/19 shemminger@osdl.org 1.1568
# fix bug in eisa error path.
# --------------------------------------------
#
Scott Feldman [Tue, 24 Feb 2004 14:50:10 +0000 (09:50 -0500)]
[netdrvr e100] Response to Jeff's review plus some minor fixes.
* define dump stats complete constant
* add mwb() to keep order straight with HW when appending
new resources to Rx and Tx queues
* increment stats for rx_dropped and rx_over_errors
Scott Feldman [Tue, 24 Feb 2004 14:43:09 +0000 (09:43 -0500)]
[PATCH] e1000: disable CSA fix for 82547
* Multiple reports of system lock-ups with the CSA patch, so
let's disable fix for now until we can understand why this
is causing the hangs. It was first thought that only pre-
productions systems would hang, but that's not true.