Linus Torvalds [Sat, 1 Nov 2003 08:26:06 +0000 (00:26 -0800)]
Forward-port PIRQ table updates from 2.4.x
This separates out the PIRQ table parsing to vendor-specific
code, which allows us to handle specific vendor quirks. In
particular, SiS has a really funky notion of what PCI device
ID's are meant to be.
Some hardware designers seem to be hitting the recreational
drugs a bit too heavily. Tssk, tssk.
The Sis96x irq routing update is confirmed to fix at least
one laptop.
Linus Torvalds [Thu, 30 Oct 2003 03:03:38 +0000 (19:03 -0800)]
Stop SIS 96x chips from lying about themselves.
Some machines with the SIS 96x southbridge have it set up
to claim it is a SIS 503 chip. That breaks irq routing logic
among other things. Fix it properly by making everybody aware
of the duplicity.
Dave Kleikamp [Thu, 30 Oct 2003 03:31:36 +0000 (21:31 -0600)]
JFS: Fix race between link() and unlink()
JFS isn't happy it thinks a file has been removed, and link() increases
its nlink count back from zero. In 2.4, i_zombie prevented this race
condition.
Dave Kleikamp [Wed, 29 Oct 2003 10:05:37 +0000 (04:05 -0600)]
JFS: remove racy, redundant call to block_invalidatepage
__invalidate_metapages references mp->page after after releasing the
meta_lock spinlock, without increasing the use count. This is racy and
unnecessary since setting the META_discard flag is sufficient.
block_invalidatepage() will be called when the metapage is released.
Rusty Russell [Wed, 29 Oct 2003 09:35:41 +0000 (01:35 -0800)]
[PATCH] Fix for module initialization failure
Bug reported by Paul Mackerras: if a module parameter fails, we didn't
call module_arch_cleanup().
On x86 this was harmless (module_arch_cleanup() is a no-op), but on
other architectures like PPC this causes inconsistent data structures
and subsequent oopses.
Ivan Kokshaysky [Wed, 29 Oct 2003 07:20:38 +0000 (23:20 -0800)]
[PATCH] PCI: fix bug in pci_setup_bridge()
This bug prevents Alphas with older firmware from booting if there
is a card with PCI-PCI bridge that supports 32-bit IO.
This has happened on AS2100 with a quad-tulip card, for example:
- initially, the I/O window of 21152 bridge was 0x10000-0x10fff,
as set up by firmware;
- pci_setup_bridge() is going to change this, say, to 0xa000-0xafff:
first, it updates PCI_IO_BASE_UPPER16 and PCI_IO_LIMIT_UPPER16
registers, so that IO window temporarily is at 0x0000-0x0fff,
which effectively blocks up all legacy IO ports in the lower
4K range, such as serial, floppy, RTC an so on;
does debugging printk - machine dies here with recursive
machine checks as the serial console has gone.
Moving (or disabling) the debugging printk is not a solution -
there is possibility that timer interrupt (which might access RTC
ports) occurs between writes to lower and upper parts of the
base/limit registers.
The patch temporarily disables the IO window of the bridge by
setting PCI_IO_BASE_UPPER16 > PCI_IO_LIMIT_UPPER16 before doing
an update. It's safe, as we don't have any active IO behind
the bridge at this point. Also, it's a NOP for bridges with
16-bit-only IO.
Similar (but simpler, as we always clear upper 32 bits) fix
for 64-bit prefetchable MMIO range.
Arjan van de Ven [Wed, 29 Oct 2003 10:40:20 +0000 (05:40 -0500)]
[PATCH] fix starfire 64-bit b0rkage
(x >> 32) is undefined on a 32 bit integral variable in C; In contrast
(x >>16 >> 16) is fine (and gets optimized out to 0, while (x >> 32)
gets optimized out to a nop).
Andrew Morton [Wed, 29 Oct 2003 09:28:49 +0000 (04:28 -0500)]
[PATCH] initcall ordering fix for PNP NICs
From: "M.H.VanLeeuwen" <vanl@megsinet.net>
The level of isapnp_init was moved to after apci sometime ago. Since it is
now after net_dev_init, ISA PNP NICs fail to initialized at boot. This is
particularily problematic for NFS root filesystems like mine, or none
modular systems.
This fix allows ISA PNP NIC cards to work during net_dev_init, and still
leaves isapnp_init after apci_init.
[LLC]: when the user doesn't specifies a local address to connect, do an autobind
Other protocols do this as soon as they discover over what interface the
packet will be routed, but LLC isn't routable, so, to provide similar
semantics to the other protocols, I'm just binding it to the first interface
of the type specified, perhaps we'll need a tunable for this or some sort of
routing table done manually by the admin, later we'll see, for now this
allows an application like openssh, with patched getaddrinfo/getnameinfo to
use PF_LLC sockets with a very small patch.
Andrew Morton [Tue, 28 Oct 2003 23:13:31 +0000 (15:13 -0800)]
[PATCH] direct-io typo fix
From: Klaas de Waal <klaas.de.waal@hccnet.nl>
Bug in parameter of ZERO_PAGE macro in line 679 of fb/direct-io.c Parameter
dio->cur_user_address has to be dio->curr_user_address. This bug shows
when compling for MIPS little endian as target, not when compiling for X86.
Mike Phillips [Tue, 28 Oct 2003 23:09:57 +0000 (15:09 -0800)]
[PATCH] ibmtr_cs/ibmtr - get working again
Patch to get ibmtr_cs / ibmtr working again. A change went in a while back
I missed that killed it. Also fixed the timer to eliminate the
uninitialized timer error on close.
Stéphane Eranian [Mon, 27 Oct 2003 14:45:37 +0000 (06:45 -0800)]
[PATCH] ia64: fix 2 more perfmon2 bugs
Here is the minimal patch that fixes things that do not work and that
can be noticed fairly easily:
- remove a typo in pfm_check_task_state() which causes
PFM_READ_PMDS to fail when context is in PFM_MASKED state.
- fix a typo in perfmon_mcklinley.h when checking the value
combinations for when writing to PMC14. This could reject a
valid request to program PMC14.