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.
Don Fry [Tue, 24 Feb 2004 14:29:12 +0000 (09:29 -0500)]
[PATCH] pcnet32.c adds loopback test
This adds the ability to do a local loopback test for the adapter. This
source was submitted by James Lewis <jklewis@us.ibm.com>. Tested on PPC
and IA32 systems.
Don Fry [Tue, 24 Feb 2004 14:29:04 +0000 (09:29 -0500)]
[PATCH] pcnet32.c add PCI hot remove support
This patch adds support for PCI hot remove. Tested on PPC64 boxes.
The driver has also been checked to comply with PCMCIA/cardbus remove
requirements, but as I don't have a PCMCIA card, it is untested.
If a PCMCIA card is removed, reads will return FFFF. The FFFF will
cause all while loops to exit.
Don Fry [Tue, 24 Feb 2004 14:28:42 +0000 (09:28 -0500)]
[PATCH] 2.6.3 pcnet32.c change to use ethtool_ops
This changes the driver to use ethtool_ops to be more modular. There is a
net delta of just a one line between the two implementations, but permission
checking and copying to/from user space, etc. is all done in a consistent
manner by ethtool.c
Don Fry [Tue, 24 Feb 2004 14:28:26 +0000 (09:28 -0500)]
[PATCH] 2.6.3 pcnet32.c wrong vendor ID fix
This patch was originally sent by Jon Mason on Sat Jan 31.
"I created a patch that allows pcnet32 adapters sold in IBM RS/6000 systems
to be recognized in non-ppc computers. The problem is that the Vendor ID
of this adapter is incorrect. There is a ppc specific workaround to get
it working on that architecture (checkout
http://lxr.linux.no/source/arch/ppc/kernel/pci.c?a=ppc#L87
for the workaround), but it obviously won't fix the problem in non-ppc
architectures."
Randy Dunlap [Tue, 24 Feb 2004 08:27:37 +0000 (03:27 -0500)]
[PATCH] strip: use kernel min/max
Domen Puncer schrieb:
>
> Just some suggestions...
>
>> #define ELEMENTS_OF(X) (sizeof(X) / sizeof((X)[0]))
>
> Remove this define and s/ELEMENTS_OF/ARRAY_SIZE/g
>
There are more occurances of redundant ARRAY_SIZEs in the kernel. I will
keep that in mind!
>
>
>>@@ -847,7 +845,7 @@
>> static int allocate_buffers(struct strip *strip_info, int mtu)
>> {
>> struct net_device *dev = strip_info->dev;
>>- int sx_size = MAX(STRIP_ENCAP_SIZE(MAX_RECV_MTU), 4096);
>>+ int sx_size = max((int)STRIP_ENCAP_SIZE(MAX_RECV_MTU), 4096);
>
>
> max_t?
Changed that to max_t and min_t. A newbie queston: What should when be
preferred and why?
Jens Axboe [Tue, 24 Feb 2004 04:26:03 +0000 (20:26 -0800)]
[PATCH] fix SCSI non-sector bio backed IO
This fixes the SCSI layer to handle non-sector-aligned requests from
SG_IO (and potentially anything else producing these requests) that
could stall the machine and cause all sorts of funnies depending on the
low level driver used.
James Bottomley [Tue, 24 Feb 2004 01:53:03 +0000 (17:53 -0800)]
[PATCH] fix IRQBALANCE Kconfig dependencies
CONFIG_IRQBALANCE only affects arch/i386/kernel/io_apic.c, so you should
only see it as an option if you actually have one of those. This patch
makes IRQBALANCE depend on X86_IO_APIC.
Andrew Morton [Mon, 23 Feb 2004 12:50:28 +0000 (04:50 -0800)]
[PATCH] ppc64: fix cmd_line bugs
From: Anton Blanchard <anton@samba.org>
There were a number of bugs in our cmd_line handling:
- We were looking at cmd_line after it had been tokenised. Use saved_command
line instead
- Use strlcpy instead of memcpy/explicit NULL set.
- Remove magic numbers in iseries cmd_line parsing
Andrew Morton [Mon, 23 Feb 2004 12:45:25 +0000 (04:45 -0800)]
[PATCH] ppc64: Fix __get_SP()
From: Anton Blanchard <anton@samba.org>
__get_SP used to be a function call which meant we allocated a stack
frame before calling it. This meant the SP it returned was one frame
below the current function. Lets call that bogusSP (and the real one
SP).
The new dump_stack was being tail call optimised so it remained one
frame above bogusSP. dump_stack would then store below SP (as the ABI
allows us to) and would stomp over the back link that bogusSP pointed
to (__get_SP had set the back link up so it worked sometimes, just not
all the time).
Fix this by just making __get_SP an inline that returns the current SP.
Andrew Morton [Mon, 23 Feb 2004 12:43:38 +0000 (04:43 -0800)]
[PATCH] ppc64 cpu spinup fixes
From: Rusty Russell <rusty@rustcorp.com.au>
1) Check for cpuids >= NR_CPUS in prom_hold_cpus: we previously
overflowed arrays when this happened, and checking it here ensures
that it doesn't happen elsewhere. Still move processors to
secondary_hold (out of OF), but we won't release them.
2) smp_iSeries_message_pass and smp_xics_message_pass don't need to
iterate if given a specific CPU: cleanup and fix.
3) kick_cpu variants don't need to check cpu range (caller is screwed
anyway if this happened): replaced with BUG_ON for now.
4) smp_openpic_probe and smp_xics_probe can use cpus_weight(): it's
faster and simpler.
5) User for_each_cpu/for_each_online_cpu as appropriate.