Linus Torvalds [Fri, 22 Oct 2004 07:30:50 +0000 (00:30 -0700)]
Linux 2.6.10-rc1
New and Improved! "Woozy Numbat!"
Pick up the phone in the next two minutes and phone in your
order, and we'll throw in a second copy of Woozy Numbat,
ABSOLUTELY FREE! You too could start a Numbat farm!
Uses msleep() instead of schedule_timeout() to guarantee the task delays
as expected. Two of the changes are reworks of previous msleep() calls
which unnecessarily added a jiffy to the parameter.
Chris Wright [Fri, 22 Oct 2004 01:18:17 +0000 (18:18 -0700)]
[PATCH] make __sigqueue_alloc() a general helper
Posix timers preallocate siqueue structures during timer creation
and keep them for reuse. This allocation happens in user context
with no locks held, however it's designated as an atomic allocation.
Loosen this restriction, and while we're at it let's do a bit of code
consolidation so signal sending uses same __sigqueue_alloc() helper.
Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Chris Wright [Fri, 22 Oct 2004 01:15:52 +0000 (18:15 -0700)]
[PATCH] lsm: reduce noise during security_register
Registering a security module can be a noisy operation, esp. when it
retries registration with the primary module. Eliminate some noise, and
distinguish the return values for register_security so a module can tell
the difference between failure modes.
Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Matthew Wilcox [Fri, 22 Oct 2004 01:10:17 +0000 (18:10 -0700)]
[PATCH] PA-RISC sound update
trivial sound/parisc updates:
- substream->dma_device was removed (Stuart Brady)
- Fix module unloading (Stuart Brady)
- Fixed the off-by-one in snd_card_harmony_rate_bits (Stuart Brady)
- Harmony is a GSC device, not available on pure PCI machines (Matthew Wilcox)
- Fixed module parameter descriptions for ALSA Harmony (Stuart Brady)
Paul Mackerras [Fri, 22 Oct 2004 00:35:33 +0000 (17:35 -0700)]
[PATCH] Fix PREEMPT_ACTIVE definition
When the generic IRQ stuff went in, it seems that HARDIRQ_BITS got bumped
from 9 (for ppc64) up to 12. Consequently, the PREEMPT_ACTIVE bit is now
within HARDIRQ_MASK, and I get in_interrupt() falsely returning true when
PREEMPT_ACTIVE is set, and thus a BUG_ON tripping in arch/ppc64/mm/tlb.c.
The patch below fixes this by changing PREEMPT_ACTIVE to 0x10000000. I
have changed the PREEMPT_ACTIVE definitions for each of the architectures
that define CONFIG_GENERIC_HARDIRQS (i386, ppc, ppc64, x86_64) and fixed
the comment in include/linux/hardirq.h. We could perhaps move the
PREEMPT_ACTIVE definition to include/linux/hardirq.h - I don't know why it
is still per-arch.
Signed-off-by: Paul Mackerras <paulus@samba.org> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The current "generic" implementation of IRQ probing isn't well suited
for ppc in it's current form, and causes issues with yenta_socket
(and possibly others) on pmac laptops. We didn't have a probe implementation
in the past, we probably don't need one anyway, so for now, the fix is to
make this optional and enable it on x86 and x86_64 but not ppc and ppc64
(the 4 archs to use the generic IRQ code).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch updates the G5 thermal control driver, the main change
is support for the new "PowerMac7,3" type desktops including the
dual 2.5Ghz with liquid cooling.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch, from John Rose, is the counterpart of one recently
forwarded by Greg KH. It has the same description, but isn't the same
patch - this is the arch/ppc64 part of the change.
As an unfortunate side effect of runtime addition/removal of PCI Host Bridges,
the RPA DLPAR driver can no longer depend on the success of ioremap_explicit()
(and therefore remap_page_range()) for the case of DLPAR adding an I/O Slot.
Without addressing this, an attempt to add the first child slot of a newly
added PHB will fail when __ioremap_explicit() determines the mappings for that
range to already exist.
For a little context, __ioremap_explicit() creates mappings for the range of a
newly added slot. Here's why these calls will be expected to fail in some
cases. Keep in mind that at boot-time, the PPC64 kernel calls ioremap() for
the entire range spanned by each PHB. Consider the following scenarios of
DLPAR-adding an I/O slot.
1) Just after boot, one removes an I/O slot. At this point the range
associated with the parent PHB is fragmented, and the child range for the
slot in question is iounmap()'ed. One then re-adds the slot, at which point
remap_page_range()/ioremap_explicit() restores the mappings that were
previously removed.
2) One adds a new PHB, at which point the ppc64-specific addition ioremaps the
entire PHB range. One then performs a DLPAR-add of a child slot of that
PHB. At this point, mappings already exist for the range of the slot to
be added. So remap_page_range()/ioremap_explicit() will fail at this point.
The problem is, there's not a good way to distinguish between cases 1 and 2
from the perspective of the DLPAR driver. Because of that, I believe the
correct solution to be:
- Removal of relevant error prints from iounmap_explicit(), which is only used
for DLPAR.
- Removal of error code checks from the RPA driver
Here's the first of these.
Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Harald Welte [Thu, 21 Oct 2004 15:35:43 +0000 (08:35 -0700)]
[NETFILTER]: Add iptables CLUSTERIP target, seq_file version
This enables you to build a static load sharing cluster between multiple
nodes - without the requirement to have a load balancer. It uses a
series of [evil] tricks like replying with linklayer multicast addresses
to ARP requests, and using CONNMARK for stateful blocking all traffic
not intended for the local node.
Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Thu, 21 Oct 2004 15:31:54 +0000 (08:31 -0700)]
[PKT_SCHED]: ATM: Use gnet_stats for class statistics and dump them
Makes ATM qdisc use gnet_stats for class statistic counters and
adds dumping bits to actually dump those. Althought the counters
were updated they never got dumped to userspace.
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Removes old generic unused rate estimator bits. HTB has its own
rate estimator routines and therefore no rate estimator is created
so there is no need to try and delete one. We might want to convert
it to the generic rate estimator at a later point.
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Thu, 21 Oct 2004 15:25:28 +0000 (08:25 -0700)]
[PKT_SCHED]: Add dump_stats class op
Adds a new class operation dump_stats which classes can use
to dump statistics. Unlike in qdiscs, there are no common
statistics therefore classes must dump all statistics on their
own. The qdisc stats_lock is being used for locking.
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Thu, 21 Oct 2004 15:23:26 +0000 (08:23 -0700)]
[PKT_SCHED]: Add dump_stats qdisc op
Adds a new qdisc operation dump_stats which qdiscs can use
to dump statistics. The op is invoked between gnet_stats_start_copy
and gnet_stats_finish_copy and therefore stats_lock is already
held. This is required to ensure proper locking throughout the
whole statistic dumping procedure.
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:19:51 +0000 (08:19 -0700)]
[IRDA]: Stir netdev and messages cleanups
<Patch from Stephen Hemminger>
o [FEATURE] stir4200: netdev_priv and message cleanup
Stir4200 driver cleanup's:
* use netdev_priv
* make sure messages identify the driver
* get rid of unneeded message
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:18:49 +0000 (08:18 -0700)]
[IRDA]: Stir driver suspend fix
<Patch from Stephen Hemminger>
o [FEATURE] stir4200: don't need suspend/resume if !CONFIG_PM
The suspend/resume code only needs to be compiled in if power management
is enabled.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:18:08 +0000 (08:18 -0700)]
[IRDA]: Stir driver usb reset fix
<Patch from Stephen Hemminger>
o [CORRECT] stir4200 - get rid of reset on speed change
The Sigmatel 4200 doesn't accept the address setting which gets done on
USB reset. The USB core recently changed to resend address (or
something like that), so usb_reset_device is failing.
The device works without doing the USB reset on speed change, it just
will be less robust in recovering when things get wedged (like coming
out of FIR mode).
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:16:53 +0000 (08:16 -0700)]
[IRDA]: Debug module param
<Patch from Stephen Hemminger>
o [CORRECT] irda 2.6 - fix module info
The module parameter info for irda is incorrect.
The debug parameter is named debug, the variable is irda_debug.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:16:04 +0000 (08:16 -0700)]
[IRDA]: via-ircc driver speed fixes
o [CORRECT] Speed change fixes in via-ircc driver
o [FEATURE] Add new dongle ID in via-ircc driver
o [FEATURE] Various code cleanups in via-ircc driver
Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:09:38 +0000 (08:09 -0700)]
[IRDA]: Adaptive discovery query timer
o [FEATURE] Adapt to the rate of the peer discovery (passive discovery)
o [FEATURE] Add extra safety margin in passive discovery
Allow to interoperate properly with device performing slow discovery
Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Tourrilhes [Thu, 21 Oct 2004 15:06:57 +0000 (08:06 -0700)]
[IRDA]: Fix lmp_lsap_inuse()
o [CRITICA] Fix locking in error path in IrLMP (Stanford checker)
o [CORRECT] Don't reuse unconnected LSAPs (listening sockets)
o [CORRECT] Make sure the LSAP we are picking has just not been grabed
o [CORRECT] Wrap around the LSAP space properly back to 0x10
Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Andrew Morton [Thu, 21 Oct 2004 14:55:58 +0000 (07:55 -0700)]
[NET]: Add new sysfs attribute 'carrier' for net devices.
From: Jesper Juhl <juhl-lkml@dif.dk>
The patch adds a new sysfs attribute called carrier for net devices that
exposes the result of netif_carrier_ok(). This allows a user to quickly
and easily determine if a given netdevice has carrier or not. Reading
/sys/class/net/<interface>/carrier yields a '1' when there is a carrier and
a '0' when there is not.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
[NET]: Replace dst_release refcount error with standard WARN_ON
Replace the dst count underflow bug message with a standard WARN message.
This makes errors noticeable and also reduces the kernel text size by 600
since we aren't doing as much to setup the printk.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Alexander Viro [Thu, 21 Oct 2004 11:04:56 +0000 (04:04 -0700)]
[PATCH] added typechecking ot sparc64 ioremap()
ioremap() made inlined function on sparc64; that had caught one bogosity in
drivers, actually - cpwatchdog.c passed sizeof(structure that was never
declared) as the second argument to ioremap(). It went unnoticed since
that argument was never used in the body of macro, so it disappeared without
a trace...
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexander Viro [Thu, 21 Oct 2004 11:04:43 +0000 (04:04 -0700)]
[PATCH] sparc64 missing volatile in io.h prototypes
A bunch of places passes volatile pointers to readb() et.al.;
sparc64 has their arguments declared as void __iomem *. Prototypes
changed to match other platforms.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
It is not needed any longer:
* PIO code is unified and converted to use scatterlists
* taskfile code doesn't support falling back to PIO
* it is much easier to convert non-taskfile version of
__ide_do_rw_disk() to something sane than taskfile one
Sigh, I broke it by accident 16 months ago and nobody has noticed
(I suspect that it was non-functional even earlier).
Additionally, this driver:
* should be converted to use scatterlists
* has verbose debugging enabled by default
* needs hacks all over IDE code
* is guilty of crimes against ide_hwifs[]
Linus Torvalds [Thu, 21 Oct 2004 08:23:16 +0000 (01:23 -0700)]
remap_pfn_range: make the region special.
VM_IO tells the rest fo the world that the pages may
have side effects on reads/writes etc, and VM_RESERVED
historically told swap-out not to bother with it.
It was pointed out to me that I typo'd and lost a backslash in the
PA-RISC io_remap_page_range() definition. This patch corrects the
one-character typo.
Paul Fulghum [Thu, 21 Oct 2004 04:22:34 +0000 (21:22 -0700)]
[PATCH] ppp: terminate connection on hangup
I reviewed, patched, and tested ppp_async.c to implement
ldisc->hangup(). This correctly terminates the PPP connection on
hangup.
Paul Mackerras already did an excellent job of ensuring safe shutdown
and I/O completion in ldisc->close so the change is trivial: just add
the ldisc->hangup and call the existing close routine.
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>