openwrt/staging/blogic.git
19 years ago[PATCH] ieee80211: Remove EAPOL debug
Jouni Malinen [Sun, 28 Aug 2005 17:51:33 +0000 (10:51 -0700)]
[PATCH] ieee80211: Remove EAPOL debug

IEEE 802.11 code has no business touching payloads of EAPOL frames.
There are some EAPOL structures defined for debugging and these were
confusingly called EAP types which they are not. Let's just remove these
before someone else starts using them in the kernel.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] ieee80211: Remove WIRELESS_EXT < 17 support
Jouni Malinen [Sun, 28 Aug 2005 17:51:32 +0000 (10:51 -0700)]
[PATCH] ieee80211: Remove WIRELESS_EXT < 17 support

No need to maintain support for WIRELESS_EXT < 17 since this kernel
tree is already using WIRELESS_EXT 18.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years agoieee80211: use endian-aware types
Jiri Benc [Fri, 26 Aug 2005 00:15:10 +0000 (20:15 -0400)]
ieee80211: use endian-aware types

From: Michael Wu <flamingice@sourmilk.net>

This patch:
- fixes misc. whitespace/comments
- replaces u16 with __le16/__be16 where appropriate

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoieee80211: convert defines to enums
Jiri Benc [Fri, 26 Aug 2005 00:13:04 +0000 (20:13 -0400)]
ieee80211: convert defines to enums

From: Gertjan van Wingerde <gwingerde@home.nl>

Attached patch cleans up the long lists of #defines for status codes,
reason codes, and information elements.

Signed-off-by: Gertjan van Wingerde <gwingerde@home.nl>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoieee80211: new constants from latest 802.11x specifications
Jiri Benc [Fri, 26 Aug 2005 00:11:46 +0000 (20:11 -0400)]
ieee80211: new constants from latest 802.11x specifications

From: Gertjan van Wingerde <gwingerde@home.nl>

Attached patch updates the definitions of the generic ieee80211 stack to
the latest versions of the published 802.11x specification suite.

Signed-off-by: Gertjan van Wingerde <gwingerde@home.nl>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoipw2200: minor cleanups
Jiri Benc [Fri, 26 Aug 2005 00:09:39 +0000 (20:09 -0400)]
ipw2200: minor cleanups

This removes one trap for a programmer, few unused macros, and one
unused struct.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoThis removes support for old (and non-mainline) kernels from ipw2200.
Jiri Benc [Fri, 26 Aug 2005 00:08:22 +0000 (20:08 -0400)]
This removes support for old (and non-mainline) kernels from ipw2200.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoipw2100: interface-up carrier state fix
Jiri Benc [Fri, 26 Aug 2005 00:07:01 +0000 (20:07 -0400)]
ipw2100: interface-up carrier state fix

From: Imre Deak <imre.deak@nokia.com>

I had a problem where doing an open after a close left the device
unusable. netif_carrier_on should be called whenever we go to the
associated state, but this is not so in case of a close->open sequence.

Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoipw2100: Fix incorrectly named config option.
Jiri Benc [Fri, 26 Aug 2005 00:05:45 +0000 (20:05 -0400)]
ipw2100: Fix incorrectly named config option.

Signed-off-by: Jiri Benc <jbenc@suse.cz>
Signed-off-by: Jirka Bohac <jbohac@suse.cz>
19 years agoipw2100: minor cleanups
Jiri Benc [Fri, 26 Aug 2005 00:04:43 +0000 (20:04 -0400)]
ipw2100: minor cleanups

From: Adrian Bunk <bunk@stusta.de>

This patch contains the following possible cleanups:
- make needlessly global code static
- remove the unused IPW_DEBUG_ENABLED

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoipw2100: remove custom debug-print macros
Jiri Benc [Fri, 26 Aug 2005 00:03:27 +0000 (20:03 -0400)]
ipw2100: remove custom debug-print macros

From: Pavel Machek <pavel@ucw.cz>

ipw2100 uses custom debug prints that are sometimes longer and always
harder to read than normal printk. They also introduced some bugs where
prefix is printed twice.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoipw2100: remove strange symbol prefixes
Jiri Benc [Fri, 26 Aug 2005 00:02:10 +0000 (20:02 -0400)]
ipw2100: remove strange symbol prefixes

From: Pavel Machek <pavel@ucw.cz>

ipw2100 uses strange X__ prefixes even for symbols already prefixed
by ipw2100. Fixed.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Jiri Benc <jbenc@suse.cz>
19 years agoieee80211: Puts debug macros together and makes escape_essid not inlined.
Jiri Benc [Fri, 26 Aug 2005 00:00:53 +0000 (20:00 -0400)]
ieee80211: Puts debug macros together and makes escape_essid not inlined.

Signed-off-by: Jiri Benc <jbenc@suse.cz>
Signed-off-by: Jirka Bohac <jbohac@suse.cz>
19 years agoMerge upstream into ieee80211.
Jeff Garzik [Wed, 24 Aug 2005 05:02:04 +0000 (01:02 -0400)]
Merge upstream into ieee80211.

Hand-fix merge conflict in drivers/usb/net/zd1201.c.

19 years agoLinux v2.6.13-rc7
Linus Torvalds [Wed, 24 Aug 2005 03:39:14 +0000 (20:39 -0700)]
Linux v2.6.13-rc7

Too many changes to release a final 2.6.13.

19 years ago[PATCH] Fix IXP4xx CLOCK_TICK_RATE
Deepak Saxena [Tue, 23 Aug 2005 20:30:29 +0000 (13:30 -0700)]
[PATCH] Fix IXP4xx CLOCK_TICK_RATE

As pointed out in the following thread, the CLOCK_TICK_RATE setting for
IXP4xx is incorrect b/c the HW ignores the lowest 2 bits of the LATCH
value.

   http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2005-August/030950.html

Tnx to George Anziger and Egil Hjelmeland for finding the issue.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpu_exclusive sched domains on partial nodes temp fix
Paul Jackson [Tue, 23 Aug 2005 08:04:27 +0000 (01:04 -0700)]
[PATCH] cpu_exclusive sched domains on partial nodes temp fix

This keeps the kernel/cpuset.c routine update_cpu_domains() from
invoking the sched.c routine partition_sched_domains() if the cpuset in
question doesn't fall on node boundaries.

I have boot tested this on an SN2, and with the help of a couple of ad
hoc printk's, determined that it does indeed avoid calling the
partition_sched_domains() routine on partial nodes.

I did not directly verify that this avoids setting up bogus sched
domains or avoids the oops that Hawkes saw.

This patch imposes a silent artificial constraint on which cpusets can
be used to define dynamic sched domains.

This patch should allow proceeding with this new feature in 2.6.13 for
the configurations in which it is useful (node alligned sched domains)
while avoiding trying to setup sched domains in the less useful cases
that can cause the kernel corruption and oops.

Signed-off-by: Paul Jackson <pj@sgi.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Dinakar Guniguntala <dino@in.ibm.com>
Acked-by: John Hawkes <hawkes@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge head 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 24 Aug 2005 03:00:48 +0000 (20:00 -0700)]
Merge head 'upstream-fixes' of /linux/kernel/git/jgarzik/misc-2.6

19 years agoMerge head 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 24 Aug 2005 03:00:17 +0000 (20:00 -0700)]
Merge head 'upstream-fixes' of /linux/kernel/git/jgarzik/libata-dev

19 years ago[PATCH] x86_64: Don't oops at boot when empty Opteron node has IO
Andi Kleen [Tue, 23 Aug 2005 01:14:27 +0000 (03:14 +0200)]
[PATCH] x86_64: Don't oops at boot when empty Opteron node has IO

The code to detect IO links on Opteron would not check
if the node had actually memory. This could lead to pci_bus_to_node
returning an invalid node, which might cause crashes later
when dma_alloc_coherent passes it to page_alloc_node().

The bug has been there forever but for some reason
it is causing now crashes.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] usbnet oops fix
lepton [Tue, 23 Aug 2005 00:06:14 +0000 (17:06 -0700)]
[PATCH] usbnet oops fix

There's a "return the wrong SKB" error in the GL620A cable minidriver
(for "usbnet") which can oops.  This would not appear when talking
Linux-to-Linux, only Linux-to-Windows (for recent Linuxes).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386: fix incorrect FP signal code
Chuck Ebbert [Wed, 24 Aug 2005 01:36:40 +0000 (21:36 -0400)]
[PATCH] i386: fix incorrect FP signal code

i386 floating-point exception handling has a bug that can cause error
code 0 to be sent instead of the proper code during signal delivery.

This is caused by unconditionally checking the IS and c1 bits from the
FPU status word when they are not always relevant.  The IS bit tells
whether an exception is a stack fault and is only relevant when the
exception is IE (invalid operation.) The C1 bit determines whether a
stack fault is overflow or underflow and is only relevant when IS and IE
are set.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 24 Aug 2005 02:21:44 +0000 (19:21 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] s390 __CHECKER__ ifdefs
Al Viro [Tue, 23 Aug 2005 21:48:22 +0000 (22:48 +0100)]
[PATCH] s390 __CHECKER__ ifdefs

remove the bogus games with explicit ifdefs on __CHECKER__

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] %t... in vsnprintf
Al Viro [Tue, 23 Aug 2005 21:48:17 +0000 (22:48 +0100)]
[PATCH] %t... in vsnprintf

handling of %t... (ptrdiff_t) in vsnprintf

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ad1980 makefile fix
Al Viro [Tue, 23 Aug 2005 21:48:12 +0000 (22:48 +0100)]
[PATCH] ad1980 makefile fix

ac97_plugin_ad1980 should trigger build of ac97_codec

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (non-modular SCSI drivers)
Al Viro [Tue, 23 Aug 2005 21:48:07 +0000 (22:48 +0100)]
[PATCH] Kconfig fix (non-modular SCSI drivers)

non-modular scsi drivers depend on built-in scsi

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (missing dependencies on PCI in sound/*)
Al Viro [Tue, 23 Aug 2005 21:48:02 +0000 (22:48 +0100)]
[PATCH] Kconfig fix (missing dependencies on PCI in sound/*)

a bunch of PCI-only drivers didn't have the right dependency

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing exports on m32r
Al Viro [Tue, 23 Aug 2005 21:47:57 +0000 (22:47 +0100)]
[PATCH] missing exports on m32r

missing exports on m32r

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] qualifiers in return types - easy cases
Al Viro [Tue, 23 Aug 2005 21:47:52 +0000 (22:47 +0100)]
[PATCH] qualifiers in return types - easy cases

a bunch of functions switched from volatile to __attribute__((noreturn)) and
from const to __attribute_pure__

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] typo fix in qdio.c
Al Viro [Tue, 23 Aug 2005 21:47:47 +0000 (22:47 +0100)]
[PATCH] typo fix in qdio.c

dumb typo: u32 volatile * mistyped as u32 * volatile

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] emac netpoll fix
Al Viro [Tue, 23 Aug 2005 21:47:42 +0000 (22:47 +0100)]
[PATCH] emac netpoll fix

netpoll is void(struct net_device *), not int(struct net_device *)

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] vidc gcc4 fix
Al Viro [Tue, 23 Aug 2005 21:47:37 +0000 (22:47 +0100)]
[PATCH] vidc gcc4 fix

removes an extern for a static variable.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] broken inline asm on s390 (misuse of labels)
Al Viro [Tue, 23 Aug 2005 21:47:32 +0000 (22:47 +0100)]
[PATCH] broken inline asm on s390 (misuse of labels)

use of explicit labels in inline asm is a Bad Idea(tm), since gcc can
decide to inline the function in several places.  Fixed by use of 1f/f:
instead of .Lfitsin/.Lfitsin:

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r_sio gcc4 fixes
Al Viro [Tue, 23 Aug 2005 21:47:27 +0000 (22:47 +0100)]
[PATCH] m32r_sio gcc4 fixes

extern declaration followed by static in drivers/serial/m32r_sio.c

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r icu_data gcc4 fixes
Al Viro [Tue, 23 Aug 2005 21:47:22 +0000 (22:47 +0100)]
[PATCH] m32r icu_data gcc4 fixes

either icu_data declaration for SMP case should be taken out of m32102.h,
or its declarations for m32700ut and opsput should not be static for SMP.
Patch does the latter - judging by comments in m32102.h it is intended to
be non-static.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r smp.h gcc4 fixes
Al Viro [Tue, 23 Aug 2005 21:47:17 +0000 (22:47 +0100)]
[PATCH] m32r smp.h gcc4 fixes

extern on physid_2_cpu[] does not belong in smp.h - the thing is static.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] alpha spinlock code and bogus constraints
Al Viro [Tue, 23 Aug 2005 21:47:12 +0000 (22:47 +0100)]
[PATCH] alpha spinlock code and bogus constraints

"=m" (lock->lock) / "1" (lock->lock) makes gcc4 unhappy; fixed by s/1/m/,
same as in case of i386 rwsem.h where such variant had been accepted
by both Linus and rth.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] alpha xchg fix
Al Viro [Tue, 23 Aug 2005 21:47:07 +0000 (22:47 +0100)]
[PATCH] alpha xchg fix

alpha xchg has to be a macro - alpha disables always_inline and if that
puppy does not get inlined, we immediately blow up on undefined reference.
Happens even on gcc3; with gcc4 that happens a _lot_.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing include in pcmcia_resource.c
Al Viro [Tue, 23 Aug 2005 21:47:01 +0000 (22:47 +0100)]
[PATCH] missing include in pcmcia_resource.c

missing include of asm/irq.h

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] alpha gcc4 warnings
Al Viro [Tue, 23 Aug 2005 21:46:56 +0000 (22:46 +0100)]
[PATCH] alpha gcc4 warnings

on UP smp_call_function() is expanded to expression.  Alpha oprofile
calls that puppy and ignores the return value.  And has -Werror for
arch/*...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (sparc32 drivers/char dependencies)
Al Viro [Tue, 23 Aug 2005 21:46:51 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (sparc32 drivers/char dependencies)

since sparc32 Kconfig includes drivers/char/Kconfig (instead of duplicating
its parts) we need several new dependencies there to exclude the stuff
broken on sparc32 and not excluded by existing dependencies.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (emac dependencient)
Al Viro [Tue, 23 Aug 2005 21:46:46 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (emac dependencient)

emac doesn't build modular; ibm_emac_debug doesn't build at all (missing
headers).

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (CONFIG_PM on 44x)
Al Viro [Tue, 23 Aug 2005 21:46:41 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (CONFIG_PM on 44x)

CONFIG_PM is broken on 44x; removed duplicate entry for CONFIG_PM, made
the inclusion of generic one conditional on BROKEN || !44x.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (ppc 4xx and early serial)
Al Viro [Tue, 23 Aug 2005 21:46:36 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (ppc 4xx and early serial)

a bunch of ppc 4xx variants unconditionally calls early_serial_setup() and
therefore needs SERIAL_8250

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (IRQ_ALL_CPUS vs. MV64360)
Al Viro [Tue, 23 Aug 2005 21:46:31 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (IRQ_ALL_CPUS vs. MV64360)

MV64360 does not support IRQ_ALL_CPUS - see arch/ppc/kernel/mv64360_pic.c.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (ppc32 SMP dependencies)
Al Viro [Tue, 23 Aug 2005 21:46:26 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (ppc32 SMP dependencies)

ppc SMP is supported only for 6xx/POWER3/POWER4 - i.e. ones that have
PPC_STD_MMU.  Dependency fixed.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (VGA console on arm/versatile)
Al Viro [Tue, 23 Aug 2005 21:46:21 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (VGA console on arm/versatile)

VGA console doesn't exist (or build) on arm/versatile; dependency fixed.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (amba on arm/versatile)
Al Viro [Tue, 23 Aug 2005 21:46:16 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (amba on arm/versatile)

AMBA_PL010 is broken on arm/versatile; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (acornscsi)
Al Viro [Tue, 23 Aug 2005 21:46:11 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (acornscsi)

acornscsi had been broken for a long time; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (M32R_PLDSIO dependecies)
Al Viro [Tue, 23 Aug 2005 21:46:06 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (M32R_PLDSIO dependecies)

M32R_PLDSIO depends on subarchitecture providing PLD_ESIO0CR and
friends.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (parport_pc on m32r)
Al Viro [Tue, 23 Aug 2005 21:46:01 +0000 (22:46 +0100)]
[PATCH] Kconfig fix (parport_pc on m32r)

parport_pc shouldn't be picked on m32r (no asm/parport.h, for starters)

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (airo_cs on m32r)
Al Viro [Tue, 23 Aug 2005 21:45:56 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (airo_cs on m32r)

airo_cs is broken on m32r; marked as such. [Proper fix would involve
separating PCI-dependent parts and making sure they don't get in the
way _and_ arranging for asm/scatterlist.h getting picked on m32r]

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (tms380tr and ISA_DMA_API)
Al Viro [Tue, 23 Aug 2005 21:45:51 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (tms380tr and ISA_DMA_API)

ISA parts of tms380tr are using ISA DMA helpers and should depend on
ISA_DMA_API.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (arv)
Al Viro [Tue, 23 Aug 2005 21:45:46 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (arv)

arv uses constants provided only by include/asm-m32r/m32700ut/m32700ut_lan.h
It won't build for any subarchitecture other than M32700UT; marked as such.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (infiniband and PCI)
Al Viro [Tue, 23 Aug 2005 21:45:41 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (infiniband and PCI)

infiniband uses PCI helpers all over the place (including the core parts) and
won't build without PCI.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (DEBUG_PAGEALLOC on m32r)
Al Viro [Tue, 23 Aug 2005 21:45:36 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (DEBUG_PAGEALLOC on m32r)

DEBUG_PAGEALLOC is broken on m32r - the option had been blindly copied from
i386; kernel_map_pages() had not and that's what is needed for DEBUG_PAGEALLOC
to work (or link, while we are at it).

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (PCI on m32r)
Al Viro [Tue, 23 Aug 2005 21:45:31 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (PCI on m32r)

PCI support is broken on m32r (pci_map_... missing, etc.); marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (PMAC_BACKLIGHT on ppc64)
Al Viro [Tue, 23 Aug 2005 21:45:26 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (PMAC_BACKLIGHT on ppc64)

PMAC_BACKLIGHT is broken on ppc64; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (HISAX_FRITZPCI on ppc64)
Al Viro [Tue, 23 Aug 2005 21:45:21 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (HISAX_FRITZPCI on ppc64)

HISAX_FRITZPCI is broken on ppc64; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (m32r genrtc)
Al Viro [Tue, 23 Aug 2005 21:45:16 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (m32r genrtc)

genrtc is not for m32r; marked as such.  Probably ought to put that into
arch/* - list of "don't build it on <platform>" is getting too long.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (m32r NUMA)
Al Viro [Tue, 23 Aug 2005 21:45:11 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (m32r NUMA)

NUMA is broken on m32r; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (ISA_DMA_API and sound/*)
Al Viro [Tue, 23 Aug 2005 21:45:06 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (ISA_DMA_API and sound/*)

fixed kconfig dependencies on ISA_DMA_API for parts of sound/* that rely
on it.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (epca on 64bit)
Al Viro [Tue, 23 Aug 2005 21:45:01 +0000 (22:45 +0100)]
[PATCH] Kconfig fix (epca on 64bit)

epca is broken on 64bit; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (arm SMP)
Al Viro [Tue, 23 Aug 2005 21:44:55 +0000 (22:44 +0100)]
[PATCH] Kconfig fix (arm SMP)

SMP is broken on arm; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kconfig fix (alpha NUMA)
Al Viro [Tue, 23 Aug 2005 21:44:50 +0000 (22:44 +0100)]
[PATCH] Kconfig fix (alpha NUMA)

NUMA is broken on alpha; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ROSE]: Fix typo in rose_route_frame() locking fix.
David S. Miller [Tue, 23 Aug 2005 21:55:32 +0000 (14:55 -0700)]
[ROSE]: Fix typo in rose_route_frame() locking fix.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] zd1201 kmalloc size fix
Alexey Dobriyan [Mon, 22 Aug 2005 20:11:09 +0000 (13:11 -0700)]
[PATCH] zd1201 kmalloc size fix

Noticed by Coverity checker.

(akpm: I stole this from Greg's tree and used the (IMO) tidier sizeof(*p)
construct).

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make sure resync gets started when array starts.
NeilBrown [Mon, 22 Aug 2005 20:11:08 +0000 (13:11 -0700)]
[PATCH] md: make sure resync gets started when array starts.

We weren't actually waking up the md thread after setting
MD_RECOVERY_NEEDED when assembling an array, so it is possible to lose a
race and not actually start resync.

So add a call to md_wakeup_thread, and while we are at it, remove all the
"if (mddev->thread)" guards as md_wake_thread does its own checking.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] preempt race in getppid
David Meybohm [Mon, 22 Aug 2005 20:11:08 +0000 (13:11 -0700)]
[PATCH] preempt race in getppid

With CONFIG_PREEMPT && !CONFIG_SMP, it's possible for sys_getppid to
return a bogus value if the parent's task_struct gets reallocated after
current->group_leader->real_parent is read:

        asmlinkage long sys_getppid(void)
        {
                int pid;
                struct task_struct *me = current;
                struct task_struct *parent;

                parent = me->group_leader->real_parent;
RACE HERE =>    for (;;) {
                        pid = parent->tgid;
        #ifdef CONFIG_SMP
        {
                        struct task_struct *old = parent;

                        /*
                         * Make sure we read the pid before re-reading the
                         * parent pointer:
                         */
                        smp_rmb();
                        parent = me->group_leader->real_parent;
                        if (old != parent)
                                continue;
        }
        #endif
                        break;
                }
                return pid;
        }

If the process gets preempted at the indicated point, the parent process
can go ahead and call exit() and then get wait()'d on to reap its
task_struct. When the preempted process gets resumed, it will not do any
further checks of the parent pointer on !CONFIG_SMP: it will read the
bad pid and return.

So, the same algorithm used when SMP is enabled should be used when
preempt is enabled, which will recheck ->real_parent in this case.

Signed-off-by: David Meybohm <dmeybohmlkml@bellsouth.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 23 Aug 2005 18:06:56 +0000 (11:06 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[ROSE]: Fix missing unlocks in rose_route_frame()
David S. Miller [Tue, 23 Aug 2005 17:50:09 +0000 (10:50 -0700)]
[ROSE]: Fix missing unlocks in rose_route_frame()

Noticed by Coverity checker.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: Document non-trivial locking path in tcp_v{4,6}_get_port().
David S. Miller [Tue, 23 Aug 2005 17:49:54 +0000 (10:49 -0700)]
[TCP]: Document non-trivial locking path in tcp_v{4,6}_get_port().

This trips up a lot of folks reading this code.
Put an unlikely() around the port-exhaustion test
for good measure.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: Unconditionally clear TCP_NAGLE_PUSH in skb_entail().
David S. Miller [Tue, 23 Aug 2005 17:13:06 +0000 (10:13 -0700)]
[TCP]: Unconditionally clear TCP_NAGLE_PUSH in skb_entail().

Intention of this bit is to force pushing of the existing
send queue when TCP_CORK or TCP_NODELAY state changes via
setsockopt().

But it's easy to create a situation where the bit never
clears.  For example, if the send queue starts empty:

1) set TCP_NODELAY
2) clear TCP_NODELAY
3) set TCP_CORK
4) do small write()

The current code will leave TCP_NAGLE_PUSH set after that
sequence.  Unconditionally clearing the bit when new data
is added via skb_entail() solves the problem.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: Fix missing qdisc_destroy() in qdisc_create_dflt()
Thomas Graf [Tue, 23 Aug 2005 17:12:44 +0000 (10:12 -0700)]
[PKT_SCHED]: Fix missing qdisc_destroy() in qdisc_create_dflt()

qdisc_create_dflt() is missing to destroy the newly allocated
default qdisc if the initialization fails resulting in leaks
of all kinds. The only caller in mainline which may trigger
this bug is sch_tbf.c in tbf_create_dflt_qdisc().

Note: qdisc_create_dflt() doesn't fulfill the official locking
      requirements of qdisc_destroy() but since the qdisc could
      never be seen by the outside world this doesn't matter
      and it can stay as-is until the locking of pkt_sched
      is cleaned up.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SCTP]: Add SENTINEL to SCTP MIB stats
Vlad Yasevich [Tue, 23 Aug 2005 17:12:04 +0000 (10:12 -0700)]
[SCTP]: Add SENTINEL to SCTP MIB stats

Add SNMP_MIB_SENTINEL to the definition of the sctp_snmp_list so that
the output routine in proc correctly terminates.  This was causing some
problems running on ia64 systems.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AX25]: UID fixes
Ralf Baechle [Tue, 23 Aug 2005 17:11:45 +0000 (10:11 -0700)]
[AX25]: UID fixes

 o Brown paperbag bug - ax25_findbyuid() was always returning a NULL pointer
   as the result.  Breaks ROSE completly and AX.25 if UID policy set to deny.

 o While the list structure of AX.25's UID to callsign mapping table was
   properly protected by a spinlock, it's elements were not refcounted
   resulting in a race between removal and usage of an element.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix socket bitop damage
Ralf Baechle [Tue, 23 Aug 2005 17:11:30 +0000 (10:11 -0700)]
[NET]: Fix socket bitop damage

The socket flag cleanups that went into 2.6.12-rc1 are basically oring
the flags of an old socket into the socket just being created.
Unfortunately that one was just initialized by sock_init_data(), so already
has SOCK_ZAPPED set.  As the result zapped sockets are created and all
incoming connection will fail due to this bug which again was carefully
replicated to at least AX.25, NET/ROM or ROSE.

In order to keep the abstraction alive I've introduced sock_copy_flags()
to copy the socket flags from one sockets to another and used that
instead of the bitwise copy thing.  Anyway, the idea here has probably
been to copy all flags, so sock_copy_flags() should be the right thing.
With this the ham radio protocols are usable again, so I hope this will
make it into 2.6.13.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix HW checksum handling in ip_queue/ip6_queue
Patrick McHardy [Tue, 23 Aug 2005 17:10:35 +0000 (10:10 -0700)]
[NETFILTER]: Fix HW checksum handling in ip_queue/ip6_queue

The checksum needs to be filled in on output, after mangling a packet
ip_summed needs to be reset.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Fix negative timer loop with lots of ipv4 peers.
Dave Johnson [Tue, 23 Aug 2005 17:10:15 +0000 (10:10 -0700)]
[IPV4]: Fix negative timer loop with lots of ipv4 peers.

From: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>

Found this bug while doing some scaling testing that created 500K inet
peers.

peer_check_expire() in net/ipv4/inetpeer.c isn't using inet_peer_gc_mintime
correctly and will end up creating an expire timer with less than the
minimum duration, and even zero/negative if enough active peers are
present.

If >65K peers, the timer will be less than inet_peer_gc_mintime, and with
>70K peers, the timer duration will reach zero and go negative.

The timer handler will continue to schedule another zero/negative timer in
a loop until peers can be aged.  This can continue for at least a few
minutes or even longer if the peers remain active due to arriving packets
while the loop is occurring.

Bug is present in both 2.4 and 2.6.  Same patch will apply to both just
fine.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[RPC]: Kill bogus kmap in krb5
Herbert Xu [Tue, 23 Aug 2005 17:09:53 +0000 (10:09 -0700)]
[RPC]: Kill bogus kmap in krb5

While I was going through the crypto users recently, I noticed this
bogus kmap in sunrpc.  It's totally unnecessary since the crypto
layer will do its own kmap before touching the data.  Besides, the
kmap is throwing the return value away.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: Do TSO deferral even if tail SKB can go out now.
Dmitry Yusupov [Tue, 23 Aug 2005 17:09:27 +0000 (10:09 -0700)]
[TCP]: Do TSO deferral even if tail SKB can go out now.

If the tail SKB fits into the window, it is still
benefitical to defer until the goal percentage of
the window is available.  This give the application
time to feed more data into the send queue and thus
results in larger TSO frames going out.

Patch from Dmitry Yusupov <dima@neterion.com>.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IA64] Fix simulator boot (for real this time).
Peter Chubb [Tue, 23 Aug 2005 00:50:00 +0000 (17:50 -0700)]
[IA64] Fix simulator boot (for real this time).

Thanks to Stephane, we've now worked out the real cause of the
`Linux  will not boot on simulator' problem.  Turns out it's a stack
overflow because the stack pointer wasn't being initialised properly
in boot_head.S (it was being initialised to the lowest instead of the
highest address of the stack, so the first push started to overwrite
data in the BSS).

Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] backout incorrect fix for simulator boot issue
Tony Luck [Tue, 23 Aug 2005 14:39:15 +0000 (07:39 -0700)]
[IA64] backout incorrect fix for simulator boot issue

Earlier fix in 4aec0fb12267718c750475f3404337ad13caa8f5 just
masked the real problem.

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years agoPull prarit-bus-sysdata into release branch
Tony Luck [Tue, 23 Aug 2005 14:27:28 +0000 (07:27 -0700)]
Pull prarit-bus-sysdata into release branch

19 years agolibata: release prep (bump versions, etc.)
Jeff Garzik [Tue, 23 Aug 2005 06:53:51 +0000 (02:53 -0400)]
libata: release prep (bump versions, etc.)

- bump versions where necessary
- remove two duplicated+outdated doc comments
- add MODULE_VERSION() to AHCI driver

19 years ago[PATCH] i810_audio: fix release_region misordering in error exit from i810_probe
John W. Linville [Thu, 4 Aug 2005 18:40:25 +0000 (14:40 -0400)]
[PATCH] i810_audio: fix release_region misordering in error exit from i810_probe

Re-order release_region calls in i810_probe to properly unwind preceding
allocations.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years agoAuto-update from upstream
Tony Luck [Mon, 22 Aug 2005 21:31:36 +0000 (14:31 -0700)]
Auto-update from upstream

19 years agoDon't allow normal users to set idle IO priority
Linus Torvalds [Sun, 21 Aug 2005 01:51:29 +0000 (18:51 -0700)]
Don't allow normal users to set idle IO priority

It has all the normal priority inversion problems.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[NETFILTER]: Fix HW checksum handling in TCPMSS target
Patrick McHardy [Sun, 21 Aug 2005 00:40:41 +0000 (17:40 -0700)]
[NETFILTER]: Fix HW checksum handling in TCPMSS target

Most importantly, remove bogus BUG() in receive path.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix HW checksum handling in ECN target
Patrick McHardy [Sun, 21 Aug 2005 00:39:15 +0000 (17:39 -0700)]
[NETFILTER]: Fix HW checksum handling in ECN target

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix ECN target TCP marking
Patrick McHardy [Sun, 21 Aug 2005 00:38:40 +0000 (17:38 -0700)]
[NETFILTER]: Fix ECN target TCP marking

An incorrect check made it bail out before doing anything.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] freevxfs: fix breakage introduced by symlink fixes
Alexey Dobriyan [Sat, 20 Aug 2005 21:08:36 +0000 (01:08 +0400)]
[PATCH] freevxfs: fix breakage introduced by symlink fixes

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agobefs: fix up missed follow_link declaration change
Linus Torvalds [Sat, 20 Aug 2005 20:20:01 +0000 (13:20 -0700)]
befs: fix up missed follow_link declaration change

We'd updated the prototype and the return value, but not the function
declaration itself.

19 years ago[PATCH] x86_64: Fix race in TSC synchronization
Andi Kleen [Fri, 19 Aug 2005 04:56:40 +0000 (06:56 +0200)]
[PATCH] x86_64: Fix race in TSC synchronization

Plug a race in TSC synchronization

We need to do tsc_sync_wait() before the CPU is set online to prevent
multiple CPUs from doing it in parallel - which won't work because TSC
sync has global unprotected state.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Don't print exceptions for ltrace
Andi Kleen [Fri, 19 Aug 2005 04:56:04 +0000 (06:56 +0200)]
[PATCH] x86_64: Don't print exceptions for ltrace

Don't printk exceptions for ltrace

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sat, 20 Aug 2005 02:15:57 +0000 (19:15 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sat, 20 Aug 2005 01:59:49 +0000 (18:59 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[PATCH] NFSv4: unbalanced BKL in nfs_atomic_lookup()
Steve Dickson [Sat, 20 Aug 2005 00:57:48 +0000 (17:57 -0700)]
[PATCH] NFSv4: unbalanced BKL in nfs_atomic_lookup()

Added missing unlock_kernel() to NFSv4 atomic lookup.

Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Mobil Pentium 4 HT and the NMI
Steven Rostedt [Sat, 20 Aug 2005 00:57:46 +0000 (17:57 -0700)]
[PATCH] Mobil Pentium 4 HT and the NMI

I'm trying to get the nmi working with my laptop (IBM ThinkPad G41) and after
debugging it a while, I found that the nmi code doesn't want to set it up for
this particular CPU.

Here I have:

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Mobile Intel(R) Pentium(R) 4 CPU 3.33GHz
stepping        : 1
cpu MHz         : 3320.084
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 3
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni
monitor ds_cpl est tm2 cid xtpr
bogomips        : 6642.39

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Mobile Intel(R) Pentium(R) 4 CPU 3.33GHz
stepping        : 1
cpu MHz         : 3320.084
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 3
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni
monitor ds_cpl est tm2 cid xtpr
bogomips        : 6637.46

And the following code shows:

$ cat linux-2.6.13-rc6/arch/i386/kernel/nmi.c

[...]

void setup_apic_nmi_watchdog (void)
{
        switch (boot_cpu_data.x86_vendor) {
        case X86_VENDOR_AMD:
                if (boot_cpu_data.x86 != 6 && boot_cpu_data.x86 != 15)
                        return;
                setup_k7_watchdog();
                break;
        case X86_VENDOR_INTEL:
                 switch (boot_cpu_data.x86) {
                case 6:
                        if (boot_cpu_data.x86_model > 0xd)
                                return;

                        setup_p6_watchdog();
                        break;
                case 15:
                        if (boot_cpu_data.x86_model > 0x3)
                                return;

Here I get boot_cpu_data.x86_model == 0x4.  So I decided to change it and
reboot.  I now seem to have a working NMI.  So, unless there's something know
to be bad about this processor and the NMI.  I'm submitting the following
patch.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Zwane Mwaikambo <zwane@arm.linux.org.uk>
Acked-by: Mikael Pettersson <mikpe@csd.uu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>