linux-2.6
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest
Linus Torvalds [Thu, 25 Oct 2007 22:38:19 +0000 (15:38 -0700)] 
Merge git://git./linux/kernel/git/rusty/linux-2.6-lguest

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest:
  lguest: documentation update
  lguest: Add to maintainers file.
  lguest: build fix
  lguest: clean up lguest_launcher.h
  lguest: remove unused "wake" element from struct lguest
  lguest: use defines from x86 headers instead of magic numbers
  lguest: example launcher header cleanup.

16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Thu, 25 Oct 2007 22:20:22 +0000 (15:20 -0700)] 
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] sata_nv: SWNCQ should not apply to MCP61
  libata-core: Be a bit more relaxed about early DMA zero devices
  ahci: ahci: implement workaround for ASUS P5W-DH Deluxe ahci_broken_hardreset(), take #2
  Fix pata_icside build for recent libata API changes
  libata: cosmetic clean up in ata_eh_reset()
  libata-core.c: make 2 functions static
  [libata] Create internal helper ata_dev_set_feature()

16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Thu, 25 Oct 2007 22:19:59 +0000 (15:19 -0700)] 
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [netdrvr] forcedeth: add MCP77 device IDs
  rndis_host: reduce MTU instead of refusing to talk to devices with low max packet size
  cpmac: update to new fixed phy driver interface
  cpmac: convert to napi_struct interface
  cpmac: use print_mac() instead of MAC_FMT
  natsemi: fix oops, link back netdevice from private-struct
  ehea: fix port_napi_disable/enable
  bonding/bond_main.c: fix cut'n'paste error
  make bonding/bond_main.c:bond_deinit() static
  drivers/net/ipg.c: cleanups
  remove Documentation/networking/net-modules.txt

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
Linus Torvalds [Thu, 25 Oct 2007 22:19:03 +0000 (15:19 -0700)] 
Merge git://git./linux/kernel/git/mingo/linux-2.6-sched

* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
  sched: mark CONFIG_FAIR_GROUP_SCHED as !EXPERIMENTAL
  sched: isolate SMP balancing code a bit more
  sched: reduce balance-tasks overhead
  sched: make cpu_shares_{show,store}() static
  sched: clean up some control group code
  sched: constify sched.h
  sched: document profile=sleep requiring CONFIG_SCHEDSTATS
  sched: use show_regs() to improve __schedule_bug() output
  sched: clean up sched_domain_debug()
  sched: fix fastcall mismatch in completion APIs
  sched: fix sched_domain sysctl registration again

16 years agofs: Fix to correct the mbcache entries counter
Ram Gupta [Thu, 25 Oct 2007 15:03:28 +0000 (10:03 -0500)] 
fs: Fix to correct the mbcache entries counter

This patch fixes the c_entry_count counter of the mbcache. Currently
it increments the counter first & allocate the cache entry later. In
case of failure to allocate the entry due to insufficient memory this
counter is still left incremented. This patch fixes this anomaly.

Signed-off-by: Ram Gupta <ram.gupta5@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoFix pointer mismatches in proc_sysctl.c
David Howells [Thu, 25 Oct 2007 14:27:40 +0000 (15:27 +0100)] 
Fix pointer mismatches in proc_sysctl.c

Fix pointer mismatches in proc_sysctl.c.  The proc_handler() method returns a
size_t through an arg pointer, but is given a pointer to a ssize_t to return
into.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoPermit silencing of __deprecated warnings.
Jeff Garzik [Thu, 25 Oct 2007 08:06:13 +0000 (04:06 -0400)] 
Permit silencing of __deprecated warnings.

The __deprecated marker is quite useful in highlighting the remnants of
old APIs that want removing.

However, it is quite normal for one or more years to pass, before the
(usually ancient, bitrotten) code in question is either updated or
deleted.

Thus, like __must_check, add a Kconfig option that permits the silencing
of this compiler warning.

This change mimics the ifdef-ery and Kconfig defaults of MUST_CHECK as
closely as possible.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoFix /proc/acpi/alarm BCD alarm encodings
Linus Torvalds [Thu, 18 Oct 2007 03:18:32 +0000 (23:18 -0400)] 
Fix /proc/acpi/alarm BCD alarm encodings

This fixes some totally illogical and wrong code that converts things to
and from BCD mode essentially randomly, does math on values in BCD mode
etc etc.  Introduce a few helper functions to make it a bit more obvious
what is going on, and make sure that we always do all the arithmetic
(and anythign else, for that matter) in binary, not BCD.

Tested by Mark Lord, who found the problem originally, and also pushed
the patch back and reminded me about it.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[netdrvr] forcedeth: add MCP77 device IDs
Ayaz Abdulla [Thu, 25 Oct 2007 07:36:42 +0000 (03:36 -0400)] 
[netdrvr] forcedeth: add MCP77 device IDs

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agorndis_host: reduce MTU instead of refusing to talk to devices with low max packet...
Thomas Sailer [Tue, 23 Oct 2007 22:47:19 +0000 (00:47 +0200)] 
rndis_host: reduce MTU instead of refusing to talk to devices with low max packet size

This patch makes the host RNDIS driver talk to RNDIS devices with an MTU
less than 1.5k, instead of refusing to talk to such a device.

Signed-Off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
--

Hi Jeff,
are you the right person to send this to?
Nobody else seems to be wanting to forward this to Linus...

Thanks,
Tom

Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocpmac: update to new fixed phy driver interface
Eugene Konev [Wed, 24 Oct 2007 02:42:03 +0000 (10:42 +0800)] 
cpmac: update to new fixed phy driver interface

Use fixed_mdio_get_phydev for obtaining fixed phy instances and adopt to
changed fixed phy device naming.

Signed-off-by: Eugene Konev <ejka@imfi.kspu.ru>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocpmac: convert to napi_struct interface
Eugene Konev [Wed, 24 Oct 2007 02:42:02 +0000 (10:42 +0800)] 
cpmac: convert to napi_struct interface

Convert cpmac to new napi_struct API introduced by
bea3348eef27e6044b6161fd04c3152215f96411 [NET]: Make NAPI polling independent
of struct net_device objects.
Only disable rx interrupts if napi actually has been scheduled.

Signed-off-by: Eugene Konev <ejka@imfi.kspu.ru>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocpmac: use print_mac() instead of MAC_FMT
Eugene Konev [Wed, 24 Oct 2007 02:42:01 +0000 (10:42 +0800)] 
cpmac: use print_mac() instead of MAC_FMT

Switch to using DECLARE_MAC_BUF/print_mac() added by commit
0795af5729b18218767fab27c44b1384f72dc9ad [NET]: Introduce and use print_mac()
and DECLARE_MAC_BUF().

Signed-off-by: Eugene Konev <ejka@imfi.kspu.ru>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonatsemi: fix oops, link back netdevice from private-struct
Ingo Molnar [Wed, 24 Oct 2007 11:58:57 +0000 (13:58 +0200)] 
natsemi: fix oops, link back netdevice from private-struct

* Andrew Nelless <andrew@nelless.net> wrote:

> Hi,
>
> I booted up 2.6.24-rc1 this morning [Real early over a brew ;-)] and
> was having a problems with multiple ~5 second hangs on SATA/drive init
> (Something to do with "EH" something-or-other and resets but I'll
> email in separately about it later unless its fixed by the time I get
> the chance).
>
> Anyway, I went to fire up netconsole to get a decent log dump and hit
> across the following nasty. Netconsole works fine in 2.6.23.1 with a
> similar config and the same kernel parameters.
>
> A shot of the screen is the only method I could come up with to
> capture the log, I hope that is OK, it is pretty readable.
>
>
> The nasty:
> http://andotnet.nfshost.com/linux/2.6.24-rc1-netconsole-nullderef.jpg

the NULL dereference is here:

 (gdb) list *0xffffffff804a9504
 0xffffffff804a9504 is in natsemi_poll (drivers/net/natsemi.c:717).
 712             return count;
 713     }
 714
 715     static inline void __iomem *ns_ioaddr(struct net_device *dev)
 716     {
 717             return (void __iomem *) dev->base_addr;
 718     }
 719

which is this code from natsemi.c:

 2227            struct net_device *dev = np->dev;
 2228            void __iomem * ioaddr = ns_ioaddr(dev);
 2229            int work_done = 0;

seems like the NAPI changes in -rc1 added an np->dev field but forgot to
initialize it ...

does the patch below fix the oops for you?

Ingo

-------------------->
Subject: natsemi: fix oops, link back netdevice from private-struct
From: Ingo Molnar <mingo@elte.hu>

this commit:

  commit bea3348eef27e6044b6161fd04c3152215f96411
  Author: Stephen Hemminger <shemminger@linux-foundation.org>
  Date:   Wed Oct 3 16:41:36 2007 -0700

      [NET]: Make NAPI polling independent of struct net_device objects.

added np->dev to drivers/net/natsemi.c's struct netdev_private, but
forgot to initialize that new field upon driver init. The result was
a predictable NULL dereference oops the first time the hardware
generated an interrupt.

Reported-by: Andrew Nelless <andrew@nelless.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoehea: fix port_napi_disable/enable
Jan-Bernd Themann [Wed, 24 Oct 2007 09:53:34 +0000 (11:53 +0200)] 
ehea: fix port_napi_disable/enable

napi_disable / napi_enable must be applied on all ehea queues.

Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agobonding/bond_main.c: fix cut'n'paste error
Adrian Bunk [Wed, 24 Oct 2007 16:27:43 +0000 (18:27 +0200)] 
bonding/bond_main.c: fix cut'n'paste error

This patch fixes a cut'n'paste error in
commit 1b76b31693d4a6088dec104ff6a6ead54081a3c2.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agomake bonding/bond_main.c:bond_deinit() static
Adrian Bunk [Wed, 24 Oct 2007 16:23:17 +0000 (18:23 +0200)] 
make bonding/bond_main.c:bond_deinit() static

bond_deinit() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/ipg.c: cleanups
Adrian Bunk [Wed, 24 Oct 2007 16:23:19 +0000 (18:23 +0200)] 
drivers/net/ipg.c: cleanups

This patch contains the following cleanups:
- make ipg_nic_get_stats() static
- move DefaultPhyParam[] from ipg.h to ipg.c and make it static

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoremove Documentation/networking/net-modules.txt
Adrian Bunk [Wed, 24 Oct 2007 16:25:03 +0000 (18:25 +0200)] 
remove Documentation/networking/net-modules.txt

According to git, the only one who touched this file during the last
5 years was me when removing drivers...

modinfo offers less ancient information.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Paul Gortmaker <paul.gortmaker@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[libata] sata_nv: SWNCQ should not apply to MCP61
Kuan Luo [Thu, 25 Oct 2007 06:14:17 +0000 (02:14 -0400)] 
[libata] sata_nv: SWNCQ should not apply to MCP61

The mcp61 has bug with ncq.

Signed-off-by: Kuan Luo <kluo@nvidia.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agolibata-core: Be a bit more relaxed about early DMA zero devices
Alan Cox [Mon, 15 Oct 2007 18:18:27 +0000 (19:18 +0100)] 
libata-core: Be a bit more relaxed about early DMA zero devices

I guess Windows didn't care about the command so neither did they

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoahci: ahci: implement workaround for ASUS P5W-DH Deluxe ahci_broken_hardreset(),...
Tejun Heo [Thu, 25 Oct 2007 05:59:16 +0000 (14:59 +0900)] 
ahci: ahci: implement workaround for ASUS P5W-DH Deluxe ahci_broken_hardreset(), take #2

P5W-DH Deluxe has ICH9 which doesn't have PMP support but SIMG 4726
hardwired to the second port of AHCI controller at PCI device 1f.2.
The 4726 doesn't work as PMP but as a storage processor which can do
hardware RAID on downstream ports.

When no device is attached to the downstream port of the 4726, pseudo
ATA device for configuration appears.  Unfortunately, ATA emulation on
the device is very lousy and causes long hang during boot.

This patch implements workaround for the board.  If the mainboard is
P5W-DH Deluxe (matched using DMI), only hardreset is used on the
second port of AHCI controller @ 1f.2 and the hardreset doesn't depend
on receiving the first FIS and just proceed to IDENTIFY.

This workaround fixes bugzilla #8923.

  http://bugzilla.kernel.org/show_bug.cgi?id=8923

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoFix pata_icside build for recent libata API changes
Al Viro [Sun, 14 Oct 2007 00:12:39 +0000 (01:12 +0100)] 
Fix pata_icside build for recent libata API changes

Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata: cosmetic clean up in ata_eh_reset()
Tejun Heo [Wed, 24 Oct 2007 06:21:26 +0000 (15:21 +0900)] 
libata: cosmetic clean up in ata_eh_reset()

Local variable @action usage in ata_eh_reset() is a bit confusing.
It's used only to cache ehc->i.action to test reset masks after
clearing it; however, due to the generic name "action", it's easy to
misinterpret the local variable as containing the selected reset
method later.  Also, the reason for caching the original value is easy
to miss.

This patch renames @action to @tmp_action and make it buffer newly
selected value instead to improve readability.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata-core.c: make 2 functions static
Adrian Bunk [Wed, 24 Oct 2007 16:23:06 +0000 (18:23 +0200)] 
libata-core.c: make 2 functions static

strn_pattern_cmp() and ata_port_detach() can become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolguest: documentation update
Rusty Russell [Thu, 25 Oct 2007 05:02:50 +0000 (15:02 +1000)] 
lguest: documentation update

Went through the documentation doing typo and content fixes.  This
patch contains only comment and whitespace changes.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years ago[libata] Create internal helper ata_dev_set_feature()
Jeff Garzik [Thu, 25 Oct 2007 04:33:27 +0000 (00:33 -0400)] 
[libata] Create internal helper ata_dev_set_feature()

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agolguest: Add to maintainers file.
Rusty Russell [Thu, 25 Oct 2007 04:12:24 +0000 (14:12 +1000)] 
lguest: Add to maintainers file.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agolguest: build fix
Jeff Garzik [Thu, 25 Oct 2007 04:15:09 +0000 (14:15 +1000)] 
lguest: build fix

Fix this error (i386 !SMP build)

arch/x86/lguest/boot.c: In function ‘lguest_init’:
arch/x86/lguest/boot.c:1059: error: ‘pm_power_off’ undeclared (first use in this function)

by including linux/pm.h.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agolguest: clean up lguest_launcher.h
Rusty Russell [Thu, 25 Oct 2007 04:12:20 +0000 (14:12 +1000)] 
lguest: clean up lguest_launcher.h

Remove now-unused defines.
Fix old idempotent #ifndef _ASM_LGUEST_USER name.
Fix comment on use of lguest_req.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agolguest: remove unused "wake" element from struct lguest
Rusty Russell [Thu, 25 Oct 2007 04:10:30 +0000 (14:10 +1000)] 
lguest: remove unused "wake" element from struct lguest

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agolguest: use defines from x86 headers instead of magic numbers
Rusty Russell [Thu, 25 Oct 2007 04:09:53 +0000 (14:09 +1000)] 
lguest: use defines from x86 headers instead of magic numbers

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agolguest: example launcher header cleanup.
Rusty Russell [Thu, 25 Oct 2007 04:09:25 +0000 (14:09 +1000)] 
lguest: example launcher header cleanup.

Now the kernel headers are clean for userspace export, we don't need
to typedef kernel types before including them.  We also don't need
pci_ids.h (that was from an earlier virtio draft).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agosched: mark CONFIG_FAIR_GROUP_SCHED as !EXPERIMENTAL
Ingo Molnar [Wed, 24 Oct 2007 16:23:51 +0000 (18:23 +0200)] 
sched: mark CONFIG_FAIR_GROUP_SCHED as !EXPERIMENTAL

mark CONFIG_FAIR_GROUP_SCHED as !EXPERIMENTAL. All bugs have been
fixed and it's perfect ;-)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: isolate SMP balancing code a bit more
Peter Williams [Wed, 24 Oct 2007 16:23:51 +0000 (18:23 +0200)] 
sched: isolate SMP balancing code a bit more

At the moment, a lot of load balancing code that is irrelevant to non
SMP systems gets included during non SMP builds.

This patch addresses this issue and reduces the binary size on non
SMP systems:

   text    data     bss     dec     hex filename
  10983      28    1192   12203    2fab sched.o.before
  10739      28    1192   11959    2eb7 sched.o.after

Signed-off-by: Peter Williams <pwil3058@bigpond.net.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: reduce balance-tasks overhead
Peter Williams [Wed, 24 Oct 2007 16:23:51 +0000 (18:23 +0200)] 
sched: reduce balance-tasks overhead

At the moment, balance_tasks() provides low level functionality for both
  move_tasks() and move_one_task() (indirectly) via the load_balance()
function (in the sched_class interface) which also provides dual
functionality.  This dual functionality complicates the interfaces and
internal mechanisms and makes the run time overhead of operations that
are called with two run queue locks held.

This patch addresses this issue and reduces the overhead of these
operations.

Signed-off-by: Peter Williams <pwil3058@bigpond.net.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: make cpu_shares_{show,store}() static
Adrian Bunk [Wed, 24 Oct 2007 16:23:50 +0000 (18:23 +0200)] 
sched: make cpu_shares_{show,store}() static

cpu_shares_{show,store}() can become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: clean up some control group code
Paul Menage [Wed, 24 Oct 2007 16:23:50 +0000 (18:23 +0200)] 
sched: clean up some control group code

- replace "cont" with "cgrp" in a few places in the CFS cgroup code,
- use write_uint rather than write for cpu.shares write function

Signed-off-by: Paul Menage <menage@google.com>
Acked-by : Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: constify sched.h
Joe Perches [Wed, 24 Oct 2007 16:23:50 +0000 (18:23 +0200)] 
sched: constify sched.h

Add const to some struct task_struct * uses

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: document profile=sleep requiring CONFIG_SCHEDSTATS
Mel Gorman [Wed, 24 Oct 2007 16:23:50 +0000 (18:23 +0200)] 
sched: document profile=sleep requiring CONFIG_SCHEDSTATS

profile=sleep only works if CONFIG_SCHEDSTATS is set. This patch notes
the limitation in Documentation/kernel-parameters.txt and prints a
warning at boot-time if profile=sleep is used without CONFIG_SCHEDSTAT.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: use show_regs() to improve __schedule_bug() output
Satyam Sharma [Wed, 24 Oct 2007 16:23:50 +0000 (18:23 +0200)] 
sched: use show_regs() to improve __schedule_bug() output

A full register dump along with stack backtrace would make the
"scheduling while atomic" message more helpful. Use show_regs() instead
of dump_stack() for this. We already know we're atomic in here (that is
why this function was called) so show_regs()'s atomicity expectations
are guaranteed.

Also, modify the output of the "BUG: scheduling while atomic:" header a
bit to keep task->comm and task->pid together and preempt_count() after
them.

Signed-off-by: Satyam Sharma <satyam@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: clean up sched_domain_debug()
Ingo Molnar [Wed, 24 Oct 2007 16:23:48 +0000 (18:23 +0200)] 
sched: clean up sched_domain_debug()

clean up sched_domain_debug().

this also shrinks the code a bit:

   text    data     bss     dec     hex filename
  50474    4306     480   55260    d7dc sched.o.before
  50404    4306     480   55190    d796 sched.o.after

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: fix fastcall mismatch in completion APIs
Ingo Molnar [Wed, 24 Oct 2007 16:23:48 +0000 (18:23 +0200)] 
sched: fix fastcall mismatch in completion APIs

Jeff Dike noticed that wait_for_completion_interruptible()'s prototype
had a mismatched fastcall.

Fix this by removing the fastcall attributes from all the completion APIs.

Found-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: fix sched_domain sysctl registration again
Milton Miller [Wed, 24 Oct 2007 16:23:48 +0000 (18:23 +0200)] 
sched: fix sched_domain sysctl registration again

commit  029190c515f15f512ac85de8fc686d4dbd0ae731 (cpuset
sched_load_balance flag) was not tested SCHED_DEBUG enabled as
committed as it dereferences NULL when used and it reordered
the sysctl registration to cause it to never show any domains
or their tunables.

Fixes:

1) restore arch_init_sched_domains ordering
we can't walk the domains before we build them

presently we register cpus with empty directories (no domain
directories or files).

2) make unregister_sched_domain_sysctl do nothing when already unregistered
detach_destroy_domains is now called one set of cpus at a time
unregister_syctl dereferences NULL if called with a null.

While the the function would always dereference null if called
twice, in the previous code it was always called once and then
was followed a register.  So only the hidden bug of the
sysctl_root_table not being allocated followed by an attempt to
free it would have shown the error.

3) always call unregister and register in partition_sched_domains
The code is "smart" about unregistering only needed domains.
Since we aren't guaranteed any calls to unregister, always
unregister.   Without calling register on the way out we
will not have a table or any sysctl tree.

4) warn if register is called without unregistering
The previous table memory is lost, leaving pointers to the
later freed memory in sysctl and leaking the memory of the
tables.

Before this patch on a 2-core 4-thread box compiled for SMT and NUMA,
the domains appear empty (there are actually 3 levels per cpu).  And as
soon as two domains a null pointer is dereferenced (unreliable in this
case is stack garbage):

bu19a:~# ls -R /proc/sys/kernel/sched_domain/
/proc/sys/kernel/sched_domain/:
cpu0  cpu1  cpu2  cpu3

/proc/sys/kernel/sched_domain/cpu0:

/proc/sys/kernel/sched_domain/cpu1:

/proc/sys/kernel/sched_domain/cpu2:

/proc/sys/kernel/sched_domain/cpu3:

bu19a:~# mkdir /dev/cpuset
bu19a:~# mount -tcpuset cpuset /dev/cpuset/
bu19a:~# cd /dev/cpuset/
bu19a:/dev/cpuset# echo 0 > sched_load_balance
bu19a:/dev/cpuset# mkdir one
bu19a:/dev/cpuset# echo 1 > one/cpus
bu19a:/dev/cpuset# echo 0 > one/sched_load_balance
Unable to handle kernel paging request for data at address 0x00000018
Faulting instruction address: 0xc00000000006b608
NIP: c00000000006b608 LR: c00000000006b604 CTR: 0000000000000000
REGS: c000000018d973f0 TRAP: 0300   Not tainted  (2.6.23-bml)
MSR: 9000000000009032 <EE,ME,IR,DR>  CR: 28242442  XER: 00000000
DAR: 0000000000000018, DSISR: 0000000040000000
TASK = c00000001912e340[1987] 'bash' THREAD: c000000018d94000 CPU: 2
..
NIP [c00000000006b608] .unregister_sysctl_table+0x38/0x110
LR [c00000000006b604] .unregister_sysctl_table+0x34/0x110
Call Trace:
[c000000018d97670] [c000000007017270] 0xc000000007017270 (unreliable)
[c000000018d97720] [c000000000058710] .detach_destroy_domains+0x30/0xb0
[c000000018d977b0] [c00000000005cf1c] .partition_sched_domains+0x1bc/0x230
[c000000018d97870] [c00000000009fdc4] .rebuild_sched_domains+0xb4/0x4c0
[c000000018d97970] [c0000000000a02e8] .update_flag+0x118/0x170
[c000000018d97a80] [c0000000000a1768] .cpuset_common_file_write+0x568/0x820
[c000000018d97c00] [c00000000009d95c] .cgroup_file_write+0x7c/0x180
[c000000018d97cf0] [c0000000000e76b8] .vfs_write+0xe8/0x1b0
[c000000018d97d90] [c0000000000e810c] .sys_write+0x4c/0x90
[c000000018d97e30] [c00000000000852c] syscall_exit+0x0/0x40

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoLinux 2.6.24-rc1 v2.6.24-rc1
Linus Torvalds [Wed, 24 Oct 2007 03:50:57 +0000 (20:50 -0700)] 
Linux 2.6.24-rc1

The patch is big.  Really big.  You just won't believe how vastly hugely
mindbogglingly big it is.  I mean you may think it's a long way down the
road to the chemist, but that's just peanuts to how big the patch from
2.6.23 is.

But it's all good.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoadd port definition for mcf UART driver
Greg Ungerer [Wed, 24 Oct 2007 02:03:52 +0000 (12:03 +1000)] 
add port definition for mcf UART driver

Add a port type definition for the Freescale UART driver ports (mcf.c).

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: remove unused machdep variable definitions
Greg Ungerer [Wed, 24 Oct 2007 02:04:13 +0000 (12:04 +1000)] 
m68knommu: remove unused machdep variable definitions

Remove old definitions of the timer function pointers.
Add definitions of the common hardware timer functions.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: define DMA channels for ColdFire 532x
Greg Ungerer [Wed, 24 Oct 2007 02:04:08 +0000 (12:04 +1000)] 
m68knommu: define DMA channels for ColdFire 532x

Create definition for DMA channels on the ColdFire 532x family.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: add platform struct for ColdFire UART driver
Greg Ungerer [Wed, 24 Oct 2007 02:03:56 +0000 (12:03 +1000)] 
m68knommu: add platform struct for ColdFire UART driver

Add platform support structure for use with new ColdFire UART driver.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: mark mem init functions as __init
Greg Ungerer [Wed, 24 Oct 2007 02:03:46 +0000 (12:03 +1000)] 
m68knommu: mark mem init functions as __init

Mark the m68knommu memory init functions as __init.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: mark setup_arch() as __init
Greg Ungerer [Wed, 24 Oct 2007 02:03:41 +0000 (12:03 +1000)] 
m68knommu: mark setup_arch() as __init

Mark the m68knommu setup_arch() function as __init.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: cleanup 68VZ328 init code
Greg Ungerer [Wed, 24 Oct 2007 02:03:32 +0000 (12:03 +1000)] 
m68knommu: cleanup 68VZ328 init code

Removed header includes not needed.
Remove use of old m68knommu timer function pointers.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: cleanup 68EZ328 init code
Greg Ungerer [Wed, 24 Oct 2007 02:03:28 +0000 (12:03 +1000)] 
m68knommu: cleanup 68EZ328 init code

Clean up 68EZ328 timer support code. Removed header includes not needed.
Remove use of old m68knommu timer function pointers.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: cleanup 68360 startup code
Greg Ungerer [Wed, 24 Oct 2007 02:03:25 +0000 (12:03 +1000)] 
m68knommu: cleanup 68360 startup code

Clean up 68360 timer support code. Removed header includes not needed.
Remove use of old m68knommu timer function pointers. Use common function
naming for 68328 timer functions.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: cleanup 68328 timer code
Greg Ungerer [Wed, 24 Oct 2007 02:03:20 +0000 (12:03 +1000)] 
m68knommu: cleanup 68328 timer code

Use common function naming for 68328 timer functions to make them
consistent with the various other hardware m68knommu timers.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: cleanup 68328 init code
Greg Ungerer [Wed, 24 Oct 2007 02:03:16 +0000 (12:03 +1000)] 
m68knommu: cleanup 68328 init code

Clean up 68328 timer support code. Removed header includes not needed.
Remove use of old m68knommu timer function pointers.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: remove unused variables in setup.c
Greg Ungerer [Wed, 24 Oct 2007 02:03:10 +0000 (12:03 +1000)] 
m68knommu: remove unused variables in setup.c

Remove unused variables from setup.c code.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 24 Oct 2007 01:57:39 +0000 (18:57 -0700)] 
Merge branch 'irq-upstream' of /linux/kernel/git/jgarzik/misc-2.6

* 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
  [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate
  drivers/char/riscom8: clean up irq handling
  isdn/sc: irq handler clean
  isdn/act2000: fix major bug. clean irq handler.
  char/pcmcia/synclink_cs: trim trailing whitespace
  drivers/char/ip2: separate polling and irq-driven work entry points
  drivers/char/ip2: split out irq core logic into separate function
  [NETDRVR] lib82596, netxen: delete pointless tests from irq handler
  Eliminate pointless casts from void* in a few driver irq handlers.
  [PARPORT] Remove unused 'irq' argument from parport irq functions
  [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}
  [PARPORT] Consolidate code copies into a single generic irq handler

16 years agoMerge branch 'warnings' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6
Linus Torvalds [Wed, 24 Oct 2007 01:57:22 +0000 (18:57 -0700)] 
Merge branch 'warnings' of /linux/kernel/git/jgarzik/misc-2.6

* 'warnings' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
  ni5010: kill unused variable
  eexpress: fix !SMP unused-var warning
  cgroup: kill unused variable

16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 24 Oct 2007 01:56:54 +0000 (18:56 -0700)] 
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (39 commits)
  Remove Andrew Morton from list of net driver maintainers.
  bonding: Acquire correct locks in alb for promisc change
  bonding: Convert more locks to _bh, acquire rtnl, for new locking
  bonding: Convert locks to _bh, rework alb locking for new locking
  bonding: Convert miimon to new locking
  bonding: Convert balance-rr transmit to new locking
  Convert bonding timers to workqueues
  Update MAINTAINERS to reflect my (jgarzik's) current efforts.
  pasemi_mac: fix typo
  defxx.c: dfx_bus_init() is __devexit not __devinit
  s390 MAINTAINERS
  remove header_ops bug in qeth driver
  sky2: crash on remove
  MIPSnet: Delete all the useless debugging printks.
  AR7 ethernet: small post-merge cleanups and fixes
  mv643xx_eth: Hook up mv643xx_get_sset_count
  mv643xx_eth: Remove obsolete checksum offload comment
  mv643xx_eth: Merge drivers/net/mv643xx_eth.h into mv643xx_eth.c
  mv643xx_eth: Remove unused register defines
  mv643xx_eth: Clean up mv643xx_eth.h
  ...

16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 24 Oct 2007 01:56:21 +0000 (18:56 -0700)] 
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  jmicron: update quirk for JMB361/3/5/6
  libata: add HTS542525K9SA00 to NCQ blacklist
  libata-core: auditting chk_status v check_status
  [libata] checkpatch-inspired cleanups

16 years agoni5010: kill unused variable
Jeff Garzik [Tue, 23 Oct 2007 22:36:43 +0000 (18:36 -0400)] 
ni5010: kill unused variable

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoeexpress: fix !SMP unused-var warning
Jeff Garzik [Tue, 23 Oct 2007 22:36:42 +0000 (18:36 -0400)] 
eexpress: fix !SMP unused-var warning

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocgroup: kill unused variable
Jeff Garzik [Tue, 23 Oct 2007 22:36:44 +0000 (18:36 -0400)] 
cgroup: kill unused variable

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agojmicron: update quirk for JMB361/3/5/6
Tejun Heo [Tue, 23 Oct 2007 06:27:31 +0000 (15:27 +0900)] 
jmicron: update quirk for JMB361/3/5/6

Set bits 0, 4, 5 and 7 of PCI configuration register 0x40 in the
quirk.  This has the following effects and is recommended by the
vendor.

* Force enable of IDE channels (used to be left alone as BIOS
  configured)

* Change initial phase behavior of PIO cycle such that the host pulls
  down the bus instead of tristating it.  Vendor recommends this
  setting.

The above settings are better for the current generation of
controllers and needed for the upcoming next generation.

Tested on JMB363.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Ethan Hsiao <ethanhsiao@jmicron.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata: add HTS542525K9SA00 to NCQ blacklist
Tejun Heo [Tue, 23 Oct 2007 10:07:49 +0000 (19:07 +0900)] 
libata: add HTS542525K9SA00 to NCQ blacklist

Another one doing spurious NCQ completions.  Blacklist it.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata-core: auditting chk_status v check_status
Alan Cox [Tue, 23 Oct 2007 15:50:02 +0000 (16:50 +0100)] 
libata-core: auditting chk_status v check_status

Did a complete audit of these and found we have another error case.

ata_bus_softreset calls ata_check_status which means that it tries to do
an ioread8 on the port blindly and check versus 0xFF for an error.

It should of course be using the ap->ops method for this via chk_status,
and this bug causes a wrog status call on the NS87415 at least.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[libata] checkpatch-inspired cleanups
Jeff Garzik [Fri, 19 Oct 2007 10:42:56 +0000 (06:42 -0400)] 
[libata] checkpatch-inspired cleanups

Tackle the relatively sane complaints of checkpatch --file.

The vast majority is indentation and whitespace changes, the rest are

* #include fixes
* printk KERN_xxx prefix addition
* BSS/initializer cleanups

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoRemove Andrew Morton from list of net driver maintainers.
Jeff Garzik [Wed, 24 Oct 2007 00:56:59 +0000 (20:56 -0400)] 
Remove Andrew Morton from list of net driver maintainers.

He now rules the world, not just this tiny tract of land.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Acked-by: Andrew Morton
16 years agobonding: Acquire correct locks in alb for promisc change
Jay Vosburgh [Thu, 18 Oct 2007 00:37:51 +0000 (17:37 -0700)] 
bonding: Acquire correct locks in alb for promisc change

Update ALB mode monitor to hold correct locks (RTNL and nothing
else) when calling dev_set_promiscuity.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agobonding: Convert more locks to _bh, acquire rtnl, for new locking
Jay Vosburgh [Thu, 18 Oct 2007 00:37:50 +0000 (17:37 -0700)] 
bonding: Convert more locks to _bh, acquire rtnl, for new locking

Convert more lock acquisitions to _bh flavor to avoid deadlock
with workqueue activity and add acquisition of RTNL in appropriate places.
Affects ALB mode, as well as core bonding functions and sysfs.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agobonding: Convert locks to _bh, rework alb locking for new locking
Jay Vosburgh [Thu, 18 Oct 2007 00:37:49 +0000 (17:37 -0700)] 
bonding: Convert locks to _bh, rework alb locking for new locking

Convert locking-related activity to new & improved system.
Convert some lock acquisitions to _bh and rework parts of ALB mode, both
to avoid deadlocks with workqueue activity.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agobonding: Convert miimon to new locking
Jay Vosburgh [Thu, 18 Oct 2007 00:37:48 +0000 (17:37 -0700)] 
bonding: Convert miimon to new locking

Convert mii (link state) monitor to acquire correct locks for
failover events.  In particular, failovers generally require RTNL at a low
level (when manipulating device MAC addresses, for example) and no other
locks.  The high level monitor is responsible for acquiring a known set
of locks, RTNL, the bond->lock for read and the slave_lock for write, and
the low level failover processing can then release appropriate locks as
needed.  This patch provides the high level portion.

As it is undesirable to acquire RTNL for every monitor pass (which
may occur as often as every 10 ms), the miimon has been converted to
do conditional locking.  A first pass inspects all slaves to determine
if any action is required, and if so, a second pass (after acquring RTNL)
is done to perform any actions (doing a complete rescan, as the situation
may have changed when all locks were released).

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agobonding: Convert balance-rr transmit to new locking
Jay Vosburgh [Thu, 18 Oct 2007 00:37:47 +0000 (17:37 -0700)] 
bonding: Convert balance-rr transmit to new locking

Change locking in balance-rr transmit processing to use a free
running counter to determine which slave to transmit on.  Instead, a
free-running counter is maintained, and modulo arithmetic used to select
a slave for transmit.

This removes lock operations from the TX path, and eliminates
a deadlock introduced by the conversion to work queues.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoConvert bonding timers to workqueues
Jay Vosburgh [Thu, 18 Oct 2007 00:37:45 +0000 (17:37 -0700)] 
Convert bonding timers to workqueues

Convert bonding timers to workqueues.  This converts the various
monitor functions to run in periodic work queues instead of timers.  This
patch introduces the framework and convers the calls, but does not resolve
various locking issues, and does not stand alone.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoUpdate MAINTAINERS to reflect my (jgarzik's) current efforts.
Jeff Garzik [Wed, 24 Oct 2007 00:22:12 +0000 (20:22 -0400)] 
Update MAINTAINERS to reflect my (jgarzik's) current efforts.

Remove net driver entries (they fall under the more general 'net driver
maintainer') umbrella.

Remove entries for older drivers that either no longer exist, are about
to be removed, or I no longer care about.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agopasemi_mac: fix typo
Olof Johansson [Sat, 20 Oct 2007 19:10:03 +0000 (14:10 -0500)] 
pasemi_mac: fix typo

Add missing &:

drivers/net/pasemi_mac.c: In function 'pasemi_mac_clean_rx':
drivers/net/pasemi_mac.c:553: warning: passing argument 1 of 'prefetch'
makes pointer from integer without a cast

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodefxx.c: dfx_bus_init() is __devexit not __devinit
Maciej W. Rozycki [Mon, 22 Oct 2007 17:13:24 +0000 (18:13 +0100)] 
defxx.c: dfx_bus_init() is __devexit not __devinit

 The dfx_bus_uninit() call is called from dfx_unregister() which is
__devexit and which is ultimately the ->remove call for the device.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agos390 MAINTAINERS
Ursula Braun [Mon, 22 Oct 2007 14:16:15 +0000 (16:16 +0200)] 
s390 MAINTAINERS

adding Frank Blaschka to s390 networking maintainers

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoremove header_ops bug in qeth driver
Ursula Braun [Mon, 22 Oct 2007 14:16:14 +0000 (16:16 +0200)] 
remove header_ops bug in qeth driver

Remove qeth bug caused by commit:
[NET]: Move hardware header operations out of netdevice.

This is the second part of the qeth header_ops patch, since
first patch sent 10/19 has been insufficient.
Nevertheless first patch is still valid and should be kept.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agosky2: crash on remove
Stephen Hemminger [Mon, 22 Oct 2007 20:39:09 +0000 (13:39 -0700)] 
sky2: crash on remove

Fix off-by one in remove logic that just got introduced.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoMIPSnet: Delete all the useless debugging printks.
Ralf Baechle [Mon, 22 Oct 2007 23:35:26 +0000 (00:35 +0100)] 
MIPSnet: Delete all the useless debugging printks.

Plus minor formatting fixes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoAR7 ethernet: small post-merge cleanups and fixes
Matteo Croce [Tue, 23 Oct 2007 17:12:22 +0000 (19:12 +0200)] 
AR7 ethernet: small post-merge cleanups and fixes

Signed-off-by: Matteo Croce <technoboy85@gmail.com>
Signed-off-by: Eugene Konev <ejka@imfi.kspu.ru>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoMerge branch 'features' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth into upstream
Jeff Garzik [Wed, 24 Oct 2007 00:15:54 +0000 (20:15 -0400)] 
Merge branch 'features' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth into upstream

16 years agoMerge branch 'bug-fixes' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth into...
Jeff Garzik [Wed, 24 Oct 2007 00:15:05 +0000 (20:15 -0400)] 
Merge branch 'bug-fixes' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth into upstream

16 years agoMerge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
Jeff Garzik [Wed, 24 Oct 2007 00:13:24 +0000 (20:13 -0400)] 
Merge branch 'upstream-jeff' of git://git./linux/kernel/git/romieu/netdev-2.6 into upstream

16 years ago[SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate
Jeff Garzik [Fri, 19 Oct 2007 07:12:20 +0000 (03:12 -0400)] 
[SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate

Rather than hand-rolling our own prototype, make the code more
future-proof by using the standard irq_handler_t typedef.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/char/riscom8: clean up irq handling
Jeff Garzik [Tue, 23 Oct 2007 23:12:11 +0000 (19:12 -0400)] 
drivers/char/riscom8: clean up irq handling

Make irq handling more efficient, by passing board pointer via
request_irq() to our irq handler's dev_id argument.

This eliminates a table lookup upon each interrupt, and eliminates an
associated global variable (the table).

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoisdn/sc: irq handler clean
Jeff Garzik [Fri, 19 Oct 2007 23:31:27 +0000 (19:31 -0400)] 
isdn/sc: irq handler clean

* pass card number to irq handler

* use card number in irq handler to avoid looping through each adapter

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoisdn/act2000: fix major bug. clean irq handler.
Jeff Garzik [Fri, 19 Oct 2007 23:30:28 +0000 (19:30 -0400)] 
isdn/act2000: fix major bug. clean irq handler.

* invert sense of request_irq() test.  otherwise we will always fail,
  when IRQ is available.

* no need to use 'irq' function arg, its stored in a data struct already

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agochar/pcmcia/synclink_cs: trim trailing whitespace
Jeff Garzik [Fri, 19 Oct 2007 19:45:35 +0000 (15:45 -0400)] 
char/pcmcia/synclink_cs: trim trailing whitespace

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/char/ip2: separate polling and irq-driven work entry points
Jeff Garzik [Fri, 19 Oct 2007 19:38:40 +0000 (15:38 -0400)] 
drivers/char/ip2: separate polling and irq-driven work entry points

Polling currently calls the irq handler, which loops through all the
boards, calling the work function for all polling boards with work.

irq handling loops through all the boards, finding the specific board
that applies to us, and calling the work just for that one board.

The two logics are sufficiently different to warrant different
functions, rather than being slack and calling the same function in two
different ways.

This serves to make the interrupt handler a -lot- more efficient.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/char/ip2: split out irq core logic into separate function
Jeff Garzik [Fri, 19 Oct 2007 19:24:59 +0000 (15:24 -0400)] 
drivers/char/ip2: split out irq core logic into separate function

No changes besides code movement and glue.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[NETDRVR] lib82596, netxen: delete pointless tests from irq handler
Jeff Garzik [Fri, 19 Oct 2007 07:14:03 +0000 (03:14 -0400)] 
[NETDRVR] lib82596, netxen: delete pointless tests from irq handler

Remove always-false tests in irq handler.

Also a few other minor cleanups.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoEliminate pointless casts from void* in a few driver irq handlers.
Jeff Garzik [Fri, 19 Oct 2007 07:10:11 +0000 (03:10 -0400)] 
Eliminate pointless casts from void* in a few driver irq handlers.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[PARPORT] Remove unused 'irq' argument from parport irq functions
Jeff Garzik [Fri, 19 Oct 2007 06:54:26 +0000 (02:54 -0400)] 
[PARPORT] Remove unused 'irq' argument from parport irq functions

None of the drivers with a struct pardevice's ->irq_func() hook ever
used the 'irq' argument passed to it, so remove it.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}
Jeff Garzik [Fri, 19 Oct 2007 05:56:02 +0000 (01:56 -0400)] 
[PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}

parport_ieee1284_interrupt() was not using its first arg at all.
Delete.

parport_generic_irq()'s second arg makes its first arg completely
redundant.  Delete, and use port->irq in the one place where we actually
need it.

Also, s/__inline__/inline/ to make the code look nicer.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[PARPORT] Consolidate code copies into a single generic irq handler
Jeff Garzik [Fri, 19 Oct 2007 05:42:14 +0000 (01:42 -0400)] 
[PARPORT] Consolidate code copies into a single generic irq handler

Several arches used the exact same code for their parport irq handling.
Make that code generic, in parport_irq_handler().

Also, s/__inline__/inline/ in include/linux/parport.h.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoNFS: Fix for bug in handling of errors for O_DIRECT writes
Neil Brown [Tue, 23 Oct 2007 21:09:13 +0000 (17:09 -0400)] 
NFS: Fix for bug in handling of errors for O_DIRECT writes

Commit eda3cef8dd2b83875affe82595db9d0c278879b2 ("NFS: Fix error
handling in nfs_direct_write_result()") ensured that if a WRITE returns
an error, then data->res.verf->committed is not tested (as it is not
initialised).

Then commit 60fa3f769f7651a60125a0f44e3ffe3246d7cf39 ("NFS: Fix two bugs
in the O_DIRECT write code") inadvertently reverted this while fixing
other problems.

So move the test so that we never examine ->committed in an error case,
and fix a speeling error while we are there.

Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge ssh://master.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Tue, 23 Oct 2007 23:38:03 +0000 (16:38 -0700)] 
Merge ssh:///linux/kernel/git/x86/linux-2.6-x86

* ssh://master.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (35 commits)
  x86: Add HPET force support for MCP55 (nForce 5) chipsets
  x86: Force enable HPET for CK804 (nForce 4) chipsets
  x86: clean up setup.h and the boot code
  x86: Save registers in saved_context during suspend and hibernation
  x86: merge setup_32/64.h
  x86: merge signal_32/64.h
  x86: merge required-features.h
  x86: merge sigcontext_32/64.h
  x86: merge msr_32/64.h
  x86: merge mttr_32/64.h
  x86: merge statfs_32/64.h
  x86: merge stat_32/64.h
  x86: merge shmbuf_32/64.h
  x86: merge ptrace_32/64.h
  x86: merge msgbuf_32/64.h
  x86: merge elf_32/64.h
  x86: merge byteorder_32/64.h
  x86: whitespace cleanup of mce_64.c
  x86: consolidate the cpu/ related code usage
  x86: prepare consolidation of cpu/ related code usage
  ...