11 years ago[POWERPC] Fix bogus test for unassigned PCI resources
Benjamin Herrenschmidt [Fri, 29 Feb 2008 03:58:03 +0000]
[POWERPC] Fix bogus test for unassigned PCI resources

A bogus test for unassigned resources that came from our 32-bit
PCI code ended up being "merged" by my previous patch series,
breaking some 64-bit setups where devices have legal resources
ending at 0xffffffff.

This fixes it by completely changing the test.  We now test for
res->start == 0, as the generic code expects, and we also only
do so on platforms that don't have the PPC_PCI_PROBE_ONLY flag
set, as there are cases of pSeries and iSeries where it could
be a valid value and those can't reassign devices.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

11 years ago[POWERPC] Fix zImage-dtb.initrd build error
Grant Likely [Thu, 21 Feb 2008 18:57:07 +0000]
[POWERPC] Fix zImage-dtb.initrd build error

The pattern substitution rules were failing when used with zImage-dtb
targets.  If zImage-dtb.initrd was selected, the pattern substitution
would generate "zImage.initrd-dtb" instead of "zImage-dtb.initrd" which
caused the build to fail.

This renames zImage-dtb to dtbImage to avoid the problem entirely.
By not using the zImage prefix then is no potential for namespace
collisions.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>

11 years ago[POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels
Paul Mackerras [Wed, 12 Mar 2008 22:39:55 +0000]
[POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels

Some drivers (such as V4L2) have code that causes gcc to generate
calls to __ucmpdi2 when compiling for 32-bit powerpc, which results
in either a link-time error or a module that can't be loaded, as
we don't currently have a __ucmpdi2.  This adds one so these drivers
can be used.

Signed-off-by: Paul Mackerras <paulus@samba.org>

11 years agodocumentation: Move power-related files to Documentation/power/
Randy Dunlap [Wed, 12 Mar 2008 22:10:51 +0000]
documentation:  Move power-related files to Documentation/power/

Move 00-INDEX entries to power/00-INDEX (and add entry for
pm_qos_interface.txt).

Update references to moved filenames.

Fix some trailing whitespace.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoACPI: buffer array too short in drivers/acpi/system.c
Johann Felix Soden [Tue, 11 Mar 2008 15:44:26 +0000]
ACPI: buffer array too short in drivers/acpi/system.c

Since "ff_gbl_lock" has a length of 11 chars and is copied with sprintf
to char buffer[10], there is a problem. We need char buffer[12] because
of the closing zero byte.

Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoacer-wmi: Add DMI quirk for mail LED support on Acer Aspire 3610/ 5610
Carlos Corbacho [Wed, 12 Mar 2008 20:13:00 +0000]
acer-wmi: Add DMI quirk for mail LED support on Acer Aspire 3610/ 5610

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoacer-wmi: Fix DSDT path in documentation
Carlos Corbacho [Wed, 12 Mar 2008 20:12:55 +0000]
acer-wmi: Fix DSDT path in documentation

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoacer-wmi: Make device detection error messages more descriptive
Carlos Corbacho [Wed, 12 Mar 2008 20:12:50 +0000]
acer-wmi: Make device detection error messages more descriptive

The current device detection error messages are all copy & pasted - make
them more descriptive so it's easier to see where in the code a problem
occurs.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 12 Mar 2008 20:08:09 +0000]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
  [SCTP]: Fix local_addr deletions during list traversals.
  net: fix build with CONFIG_NET=n
  [TCP]: Prevent sending past receiver window with TSO (at last skb)
  rt2x00: Add new D-Link USB ID
  rt2x00: never disable multicast because it disables broadcast too
  libertas: fix the 'compare command with itself' properly
  drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry
  [NETFILTER]: nf_queue: don't return error when unregistering a non-existant handler
  [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists
  [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists
  [NETFILTER]: nf_conntrack: replace horrible hack with ksize()
  [NETFILTER]: nf_conntrack: add \n to "expectation table full" message
  [NETFILTER]: xt_time: fix failure to match on Sundays
  [NETFILTER]: nfnetlink_log: fix computation of netlink skb size
  [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb.
  [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h
  [NET]: include <linux/types.h> into linux/ethtool.h for __u* typedef
  [NET]: Make /proc/net a symlink on /proc/self/net (v3)
  RxRPC: fix rxrpc_recvmsg()'s returning of msg_name
  net/enc28j60: oops fix
  ...

11 years agoMerge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
Linus Torvalds [Wed, 12 Mar 2008 20:07:12 +0000]
Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  i2c: chips subdirectory is deprecated
  i2c: Keep client->driver and client->dev.driver in sync
  i2c-amd756: Fix off-by-one

11 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 12 Mar 2008 20:04:11 +0000]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Clocksource: Only install r4k counter as clocksource if present.
  [MIPS] Lasat: fix LASAT_CASCADE_IRQ
  [MIPS] Delete leftovers of old pcspeaker support.
  [MIPS] BCM1480: Init pci controller io_map_base
  [MIPS] Yosemite: Fix a few more section reference bugs.
  [MIPS] Fix yosemite build error
  [MIPS] Fix loads of section missmatches
  [MIPS] IP27: Tighten up CPU description to fix warnings.
  [MIPS] Fix plat_ioremap for JMR3927
  [MIPS] Export __ucmpdi2 to modules.
  [MIPS] Fix typo in comment
  [MIPS] Use KBUILD_DEFCONFIG
  [MIPS] Allow 48Hz to be selected if CONFIG_SYS_SUPPORTS_ARBIT_HZ is set.
  [MIPS] Added missing cases for rdhwr emulation
  [MIPS] Alchemy: Fix ids in Alchemy db dma device table

11 years agoPNP: disable PNP motherboard resources that overlap PCI BARs
Bjorn Helgaas [Tue, 11 Mar 2008 21:24:41 +0000]
PNP: disable PNP motherboard resources that overlap PCI BARs

Some BIOSes have PNP motherboard devices with resources that
partially overlap PCI BARs.  The PNP system driver claims these
motherboard resources, which prevents the normal PCI driver from
requesting them later.

This patch disables the PNP resources that conflict with PCI BARs
so they won't be claimed by the PNP system driver.

Of course, this only works if PCI devices have already been enumerated.
Currently this is the case because PCI devices are discovered before
any PNP init via this path:

    acpi_pci_root_init() -> acpi_pci_root_add() -> pci_acpi_scan_root() ->
pci_scan_bus_parented() -> pci_scan_child_bus() -> ...

Avuton Olrich tested this and confirmed that it fixes his ALSA sound
card (see http://lkml.org/lkml/2008/1/27/168).

References:
    https://bugzilla.redhat.com/show_bug.cgi?id=280641
    https://bugzilla.redhat.com/show_bug.cgi?id=313491
    http://lkml.org/lkml/2008/1/9/449
    http://thread.gmane.org/gmane.linux.acpi.devel/27312
    http://lkml.org/lkml/2008/1/27/168

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoPNP: revert Supermicro H8DCE motherboard quirk
Bjorn Helgaas [Tue, 11 Mar 2008 21:24:40 +0000]
PNP: revert Supermicro H8DCE motherboard quirk

There are other systems with similar problems
(http://lkml.org/lkml/2008/1/27/168), so we need a more
generic quirk.  Remove the Supermicro-specific one first.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoSVCRDMA: Fix erroneous BUG_ON in send_write
Tom Tucker [Tue, 11 Mar 2008 18:31:40 +0000]
SVCRDMA: Fix erroneous BUG_ON in send_write

The assertion that checks for sge context overflow is
incorrectly hard-coded to 32. This causes a kernel bug
check when using big-data mounts. Changed the BUG_ON to
use the computed value RPCSVC_MAXPAGES.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoSVCRDMA: Add xprt refs to fix close/unmount crash
Tom Tucker [Tue, 11 Mar 2008 18:31:39 +0000]
SVCRDMA: Add xprt refs to fix close/unmount crash

RDMA connection shutdown on an SMP machine can cause a kernel crash due
to the transport close path racing with the I/O tasklet.

Additional transport references were added as follows:
- A reference when on the DTO Q to avoid having the transport
  deleted while queued for I/O.
- A reference while there is a QP able to generate events.
- A reference until the DISCONNECTED event is received on the CM ID

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agogenhd must_check warning fix
Roland McGrath [Wed, 12 Mar 2008 00:13:15 +0000]
genhd must_check warning fix

Fixes:

block/genhd.c:361: warning: ignoring return value of ‘class_register’, declared with attribute warn_unused_result

Signed-off-by: Roland McGrath <roland@redhat.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoRemove <linux/genhd.h> from user-visible headers.
David Woodhouse [Wed, 12 Mar 2008 16:52:56 +0000]
Remove <linux/genhd.h> from user-visible headers.

It was all wrapped in '#ifdef CONFIG_BLOCK' anyway, so userspace was
getting nothing useful out of it. And the special #ifndef __KERNEL__
version of 'struct partition' makes me inclined to promote an attitude
of violence...

Stick some comments on some of the #endifs too, while we're at it.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agonommu: Provide is_vmalloc_addr() stub.
Paul Mundt [Wed, 12 Mar 2008 07:51:31 +0000]
nommu: Provide is_vmalloc_addr() stub.

Introduced in commit-id 9e2779fa281cfda13ac060753d674bbcaa23367e and
ifdef'ed out for nommu in 8ca3ed87db062201e1fa15b64a9214e193fc3a8a, both
approaches end up breaking the nommu build in different ways. An
impressive feat for a 2-liner.

Current is_vmalloc_addr() users fall in to two camps:

- Determining whether to use vfree()/kfree()
- Whether to do vmlist traversal (only /proc/kcore).

Since we don't support /proc/kcore on nommu, that leaves the
vfree()/kfree() determination use cases. nommu vfree() happens to be a
wrapper to kfree() anyways, so is_vmalloc_addr() can always return 0
and end up with the right behaviour.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoIPoIB: Allocate priv->tx_ring with vmalloc()
Roland Dreier [Wed, 12 Mar 2008 14:51:03 +0000]
IPoIB: Allocate priv->tx_ring with vmalloc()

Commit 7143740d ("IPoIB: Add send gather support") made struct
ipoib_tx_buf significantly larger, since the mapping member changed
from a single u64 to an array with MAX_SKB_FRAGS + 1 entries.  This
means that allocating tx_rings with kzalloc() may fail because there
is not enough contiguous memory for the new, much bigger size.  Fix
this regression by allocating the rings with vmalloc() instead.

Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years ago[MIPS] Clocksource: Only install r4k counter as clocksource if present.
Ralf Baechle [Wed, 12 Mar 2008 13:58:10 +0000]
[MIPS] Clocksource: Only install r4k counter as clocksource if present.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Lasat: fix LASAT_CASCADE_IRQ
Yoichi Yuasa [Wed, 20 Feb 2008 14:11:53 +0000]
[MIPS] Lasat: fix LASAT_CASCADE_IRQ

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Delete leftovers of old pcspeaker support.
Ralf Baechle [Mon, 10 Mar 2008 16:20:00 +0000]
[MIPS] Delete leftovers of old pcspeaker support.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] BCM1480: Init pci controller io_map_base
Thomas Bogendoerfer [Sat, 8 Mar 2008 18:51:55 +0000]
[MIPS] BCM1480: Init pci controller io_map_base

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Yosemite: Fix a few more section reference bugs.
Ralf Baechle [Mon, 10 Mar 2008 12:11:48 +0000]
[MIPS] Yosemite: Fix a few more section reference bugs.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Fix yosemite build error
Ralf Baechle [Mon, 10 Mar 2008 09:31:50 +0000]
[MIPS] Fix yosemite build error

<linux/mm.h> didn't pickup the definition of PKMAP_BASE from fixmap.h, ugh.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Fix loads of section missmatches
Ralf Baechle [Sat, 8 Mar 2008 09:56:28 +0000]
[MIPS] Fix loads of section missmatches

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] IP27: Tighten up CPU description to fix warnings.
Ralf Baechle [Sat, 8 Mar 2008 09:44:37 +0000]
[MIPS] IP27: Tighten up CPU description to fix warnings.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Fix plat_ioremap for JMR3927
Atsushi Nemoto [Sat, 26 Jan 2008 05:08:02 +0000]
[MIPS] Fix plat_ioremap for JMR3927

TX39XX's "reserved" segment in CKSEG3 area is 0xff000000-0xfffeffff.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Export __ucmpdi2 to modules.
Ralf Baechle [Tue, 4 Mar 2008 09:03:09 +0000]
[MIPS] Export __ucmpdi2 to modules.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Fix typo in comment
Thiemo Seufer [Fri, 29 Feb 2008 00:43:47 +0000]
[MIPS] Fix typo in comment

We support now other page sizes as well.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Use KBUILD_DEFCONFIG
Adrian Bunk [Tue, 26 Feb 2008 19:54:54 +0000]
[MIPS] Use KBUILD_DEFCONFIG

With KBUILD_DEFCONFIG we don't have to ship a second copy of ip22_defconfig.

Signed-off-by: Adrian Bunk <adrian.bunk@movial.fi>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Allow 48Hz to be selected if CONFIG_SYS_SUPPORTS_ARBIT_HZ is set.
Ralf Baechle [Mon, 25 Feb 2008 16:55:29 +0000]
[MIPS] Allow 48Hz to be selected if CONFIG_SYS_SUPPORTS_ARBIT_HZ is set.

This allows a 48Hz clock to be selected on Malta and other systems.  Note
this not normally a sensible option as it results in rather high latencies
for some kernel stuff.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Added missing cases for rdhwr emulation
Chris Dearman [Mon, 8 May 2006 17:02:16 +0000]
[MIPS] Added missing cases for rdhwr emulation

Some of these are architecturally required for R2 processors so lets try
to be bit closer to the real thing.  This also provides access to the
CPU cycle timer, even on multiprocessors.  In that aspect its currently
bug compatible to what would happen on a R2-based SMP.

Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years ago[MIPS] Alchemy: Fix ids in Alchemy db dma device table
Wolfgang Ocker [Sun, 10 Feb 2008 19:31:33 +0000]
[MIPS] Alchemy: Fix ids in Alchemy db dma device table

0 is a valid device id (DSCR_CMD0_UART0_TX), so we can't use it to mark
an empty entry in the device table. Use ~0 instead and search for id ~0
when looking for a free entry.

Signed-off-by: Wolfgang Ocker <weo@reccoware.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

11 years agoi2c: chips subdirectory is deprecated
Jean Delvare [Wed, 12 Mar 2008 13:15:00 +0000]
i2c: chips subdirectory is deprecated

Let driver authors know that drivers/i2c/chips is usually the wrong place
for new drivers.

Signed-off-by: Jean Delvare <khali@linux-fr.org>

11 years agoi2c: Keep client->driver and client->dev.driver in sync
Hans Verkuil [Wed, 12 Mar 2008 13:15:00 +0000]
i2c: Keep client->driver and client->dev.driver in sync

Ensure that client->driver is set to NULL if the probe() returns an
error (this keeps client->driver and client->dev.driver in sync).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>

11 years agoi2c-amd756: Fix off-by-one
Adrian Bunk [Wed, 12 Mar 2008 13:15:00 +0000]
i2c-amd756: Fix off-by-one

This patch fixes an off-by-one error spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>

11 years agolaptops: move laptop-mode.txt to Documentation/laptops/
Randy Dunlap [Tue, 4 Mar 2008 21:41:26 +0000]
laptops: move laptop-mode.txt to Documentation/laptops/

Move laptop-mode.txt into the laptops/ sub-directory to consolidate
laptop doc files there.

Update references to the file's location.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into...
Paul Mackerras [Wed, 12 Mar 2008 06:13:57 +0000]
Merge branch 'master' of git://git./linux/kernel/git/jk/spufs into merge

11 years agoACPICA: Warn if packages with invalid references are evaluated
Thomas Renninger [Wed, 12 Mar 2008 00:06:24 +0000]
ACPICA: Warn if packages with invalid references are evaluated

And return an error to avoid NULL pointer access by the caller
Lin Ming's patch avoids corrupted mem access when
BIOS has invalid references included, the handle is now zero
instead of corrupted.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoACPI: add _PRT quirks to work around broken firmware
Bjorn Helgaas [Tue, 11 Mar 2008 20:45:15 +0000]
ACPI: add _PRT quirks to work around broken firmware

This patch works around incorrect _PRT (PCI interrupt routing)
information from firmware.  This does not fix any regressions
and can wait for the next kernel release.

On the Medion MD9580-F laptop, the BIOS says the builtin RTL8139
NIC interrupt at 00:09.0[A] is connected to \_SB.PCI0.ISA.LNKA, but
it's really connected to \_SB.PCI0.ISA.LNKB.  Before this patch,
the workaround was to use "pci=routeirq".  More details at
http://bugzilla.kernel.org/show_bug.cgi?id=4773.

On the Dell OptiPlex GX1, the BIOS says the PCI slot interrupt
00:0d[A] is connected to LNKB, but it's really connected to LNKA.
Before this patch, the workaround was to use "pci=routeirq".
Pierre Ossman tested a previous version of this patch and confirmed
that it fixed the problem.  More details at
http://bugzilla.kernel.org/show_bug.cgi?id=5044.

On the HP t5710 thin client, the BIOS says the builtin Radeon
video interrupt at 01:00[A] is connected to LNK1, but it's really
connected to LNK3.  The previous workaround was to use a custom
DSDT.  I tested this patch and verified that it fixes the problem.
More details at http://bugzilla.kernel.org/show_bug.cgi?id=10138.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoHibernation: Fix mark_nosave_pages()
Rafael J. Wysocki [Tue, 11 Mar 2008 23:34:57 +0000]
Hibernation: Fix mark_nosave_pages()

There is a problem in the hibernation code that triggers on some NUMA
systems on which pfn_valid() returns 'true' for some PFNs that don't
belong to any zone.  Namely, there is a BUG_ON() in
memory_bm_find_bit() that triggers for PFNs not belonging to any
zone and passing the pfn_valid() test.  On the affected systems it
triggers when we mark PFNs reported by the platform as not saveable,
because the PFNs in question belong to a region mapped directly using
iorepam() (i.e. the ACPI data area) and they pass the pfn_valid()
test.

Modify memory_bm_find_bit() so that it returns an error if given PFN
doesn't belong to any zone instead of crashing the kernel and ignore
the result returned by it in mark_nosave_pages(), while marking the
"nosave" memory regions.

This doesn't affect the hibernation functionality, as we won't touch
the PFNs in question anyway.

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

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoACPI: Ignore _BQC object when registering backlight device
Zhao Yakui [Tue, 11 Mar 2008 08:56:47 +0000]
ACPI: Ignore _BQC object when registering backlight device

According to acpi spec , the objects of  _BCL and _BCM are required if
integrated LCD is present and supports brightness level .The _BQC is
the optional object. So the _BQC object is ignored when the backlight device
is registered in ACPI video driver.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoIPoIB/cm: Set tx_wr.num_sge in connected mode post_send()
Roland Dreier [Wed, 12 Mar 2008 01:35:20 +0000]
IPoIB/cm: Set tx_wr.num_sge in connected mode post_send()

Commit 7143740d ("IPoIB: Add send gather support") made it possible
for tx_wr.num_sge to be != 1 -- this happens if send gather support is
enabled.  However, the code in the connected mode post_send() function
assumes the old invariant, namely that tx_wr.num_sge is always 1.  Fix
this by explicitly setting tx_wr.num_sge to 1 in the CM post_send().

Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years ago[SCTP]: Fix local_addr deletions during list traversals.
Chidambar 'ilLogict' Zinnoury [Wed, 12 Mar 2008 01:05:02 +0000]
[SCTP]: Fix local_addr deletions during list traversals.

Since the lists are circular, we need to explicitely tag
the address to be deleted since we might end up freeing
the list head instead.  This fixes some interesting SCTP
crashes.

Signed-off-by: Chidambar 'ilLogict' Zinnoury <illogict@online.fr>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: fix build with CONFIG_NET=n
Andrew Morton [Wed, 12 Mar 2008 01:03:35 +0000]
net: fix build with CONFIG_NET=n

fs/built-in.o:(.rodata+0x1134): undefined reference to `proc_net_inode_operations'
fs/built-in.o:(.rodata+0x1138): undefined reference to `proc_net_operations'

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[TCP]: Prevent sending past receiver window with TSO (at last skb)
Ilpo Järvinen [Wed, 12 Mar 2008 00:55:27 +0000]
[TCP]: Prevent sending past receiver window with TSO (at last skb)

With TSO it was possible to send past the receiver window when the skb
to be sent was the last in the write queue while the receiver window
is the limiting factor. One can notice that there's a loophole in the
tcp_mss_split_point that lacked a receiver window check for the
tcp_write_queue_tail() if also cwnd was smaller than the full skb.

Noticed by Thomas Gleixner <tglx@linutronix.de> in form of "Treason
uncloaked! Peer ... shrinks window .... Repaired."  messages (the peer
didn't actually shrink its window as the message suggests, we had just
sent something past it without a permission to do so).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Tested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoACPI: WMI: Clean up handling of spec violating data blocks
Carlos Corbacho [Sun, 24 Feb 2008 13:34:34 +0000]
ACPI: WMI: Clean up handling of spec violating data blocks

Acer violate the ACPI-WMI spec by declaring some of their data blocks as
expensive, but with no corresponding WCxx method. There is already some
workaround code in to handle the initial WCxx call (we just ignore a
failure here); but we need to properly check if the second, "clean up",
WCxx call is actually needed or not, rather than fail simply because it
isn't there.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoacer-wmi: Don't warn if mail LED cannot be detected
Carlos Corbacho [Sun, 24 Feb 2008 13:34:29 +0000]
acer-wmi: Don't warn if mail LED cannot be detected

This warning confuses users, who think it is an error. Not detecting the
mail LED simply means it isn't there, so let's not unduly panic users.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoacer-wmi: Rename mail LED correctly & remove hardcoded colour
Carlos Corbacho [Sun, 24 Feb 2008 13:34:18 +0000]
acer-wmi: Rename mail LED correctly & remove hardcoded colour

The mail LED name for acer-wmi currently hardcodes in the colour as green.
This is wrong, since many of the newer laptops now come with an orange
LED, and we have no way of telling what colour is used on a given system.

Also, rename the mail LED to be inline with the current recommendations of
the LED class documentation.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoIPoIB: Don't drop multicast sends when they can be queued
Or Gerlitz [Tue, 11 Mar 2008 14:10:02 +0000]
IPoIB: Don't drop multicast sends when they can be queued

When set_multicast_list() is called the multicast task is restarted
and the IPOIB_MCAST_STARTED bit is cleared.  As a result for some
window of time, multicast packets are not transmitted nor queued but
rather dropped by ipoib_mcast_send().  These dropped packets are
painful in two cases:

 - bonding fail-over which both calls set_multicast_list() on the new
   active slave and sends Gratuitous ARP through that slave.

 - IP_DROP_MEMBERSHIP code which both calls set_multicast_list() on the
   device and issues IGMP leave.

In both these cases, depending on the scheduling of the IPoIB
multicast task, the packets would be dropped.  As a result, in the
bonding case, the failover would not be detected by the peers until
their neighbour is renewed the neighbour (which takes a few tens of
seconds).  In the IGMP case, the IP router doesn't get an IGMP leave
and would only learn on that from further probes on the group (also a
delay of at least a few tens of seconds).

Fix this by allowing transmission (or queuing) depending on the
IPOIB_FLAG_OPER_UP flag instead of the IPOIB_MCAST_STARTED flag.

Signed-off-by: Olga Shern <olgas@voltaire.com>
Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agoIB/ipath: Reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets
Patrick Marchand Latifi [Thu, 21 Feb 2008 03:08:10 +0000]
IB/ipath: Reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets

Reset the retry counter when we get a good RDMA_READ_RESPONSE_MIDDLE
packet.  This fix will prevent the requester from reporting a retry
exceeded error too early.

Signed-off-by: Patrick Marchand Latifi <patrick.latifi@qlogic.com>

11 years agoIB/ipath: Fix error completion put on send CQ instead of recv CQ
Patrick Marchand Latifi [Thu, 31 Jan 2008 08:24:37 +0000]
IB/ipath: Fix error completion put on send CQ instead of recv CQ

A work completion entry could be placed on the wrong completion
queue when an RC QP is placed in the error state.

Signed-off-by: Patrick Marchand Latifi <patrick.latifi@qlogic.com>
Acked-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agoIB/ipath: Fix RC QP initialization
Patrick Marchand Latifi [Sat, 19 Jan 2008 04:10:48 +0000]
IB/ipath: Fix RC QP initialization

This patch fixes the initialization of RC QPs, since we would rely on
the queue pair type (ibqp->qp_type) being set, but this field is only
initialized when we return from ipath_create_qp (it is initialized by
the user-level verbs library).

The fix is to not depend on this field to initialize the send and
the receive state of the RC QP.

Signed-off-by: Patrick Marchand Latifi <patrick.latifi@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agoIB/ipath: Fix potentially wrong RNR retry counter returned in ipath_query_qp()
Patrick Marchand Latifi [Tue, 8 Jan 2008 07:43:04 +0000]
IB/ipath: Fix potentially wrong RNR retry counter returned in ipath_query_qp()

There can be a case where the requester's rnr retry counter
(s_rnr_retry) is less than the number of rnr retries allowed per QP
(s_rnr_retry_cnt).  This can happen if the s_rnr_retry counter is being
decremented and an ipath_query_qp call is issued during that time frame.
The fix is to always return the number of rnr retries allowed per QP
instead of the requester's rnr counter.

Found by code review.

Signed-off-by: Patrick Marchand Latifi <patrick.latifi@qlogic.com>
Acked-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agoIB/ipath: Fix IB compliance problems with link state vs physical state
Ralph Campbell [Fri, 14 Dec 2007 09:53:56 +0000]
IB/ipath: Fix IB compliance problems with link state vs physical state

Subnet manager SetPortinfo messages distingush between changing the link
state (DOWN, ARM, ACTIVE) and the link physical state (POLL, SLEEP,
DISABLED).  These are somewhat independent commands and affect when link
width and speed changes take effect.  Without this patch, a link DOWN
physical state NOP command was causing the link width and speed settings
to take effect which should only happen when the link physical state is
goes down (either by a SMP or some link physical error like link errors
exceeding the threshold).

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agort2x00: Add new D-Link USB ID
Ivo van Doorn [Sun, 9 Mar 2008 21:42:32 +0000]
rt2x00: Add new D-Link USB ID

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agort2x00: never disable multicast because it disables broadcast too
Adam Baker [Sun, 9 Mar 2008 21:40:40 +0000]
rt2x00: never disable multicast because it disables broadcast too

On rt73 and rt61 disabling reception of multicast packets also disables
broadcast traffic which we never want to do. Therefore we should never
disable multicast.

Signed-off-by: Adam Baker <linux@baker-net.org.uk>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agolibertas: fix the 'compare command with itself' properly
Sebastian Siewior [Thu, 6 Mar 2008 09:30:21 +0000]
libertas: fix the 'compare command with itself' properly

|libertas: Invalid CMD_RESP 8012 to command 50!

The special case got mixed up in 8a96df80b3.

Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agodrivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry
John W. Linville [Thu, 6 Mar 2008 18:08:09 +0000]
drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoACPI: use ACPI_DEBUG_PRINT instead of printk in acpi_processor_hotplug_notify()
Glauber Costa [Tue, 4 Mar 2008 23:06:36 +0000]
ACPI: use ACPI_DEBUG_PRINT instead of printk in acpi_processor_hotplug_notify()

For consistency, use ACPI_DEBUG_PRINT instead of printk in
acpi_processor_hotplug_notify() for BUS_CHECK and DEVICE_CHECK events

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoACPI: button: make real parent for input devices in device tree
Andrey Borzenkov [Tue, 4 Mar 2008 23:06:35 +0000]
ACPI: button: make real parent for input devices in device tree

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agotoshiba_acpi: Enable autoloading
arvidjaar@mail.ru [Tue, 4 Mar 2008 23:06:34 +0000]
toshiba_acpi: Enable autoloading

This adds aliases to enable autoloading of toishiba_acpi.  Two aliases are
defined - TOS6200 (for \\_SB_.VALD.GHCI) and TSO1900 (for \\_SB_.VALZ.GHCI).
This allows toishiba_acpi to be autoloaded on systems that provide those
devices.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: Olivier Blin <blino@mandriva.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoACPI: EC: Handle IRQ storm on Acer laptops
Alexey Starikovskiy [Tue, 11 Mar 2008 17:30:00 +0000]
ACPI: EC: Handle IRQ storm on Acer laptops

On some Acer systems, the HW fails to clear the GPE source,
causing an interrupt storm.

So in EC interrupt mode, we count how many interrupts we
receive when waiting.  If we get more than 5, we give
up on interrupt mode and revert to polling mode.

Also, for polling mode to work on Acers, we need
to insert a delay.

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Tue, 11 Mar 2008 16:47:28 +0000]
Merge branch 'for-linus' of git://git./linux/kernel/git/x86/linux-2.6-x86

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: remove quicklists
  x86: ia32 syscall restart fix
  x86: ioremap, remove WARN_ON()

11 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux...
Linus Torvalds [Tue, 11 Mar 2008 16:18:56 +0000]
Merge branch 'for-linus' of git://git./linux/kernel/git/mingo/linux-2.6-sched-devel

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel:
  keep rd->online and cpu_online_map in sync
  Revert "cpu hotplug: adjust root-domain->online span in response to hotplug event"

11 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 11 Mar 2008 16:14:34 +0000]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  RDMA/iwcm: Don't access a cm_id after dropping reference
  IB/iser: Handle iser_device allocation error gracefully
  IB/iser: Fix list iteration bug
  RDMA/cxgb3: Fix iwch_create_cq() off-by-one error
  RDMA/cxgb3: Return correct max_inline_data when creating a QP
  IB/fmr_pool: Flush all dirty FMRs from ib_fmr_pool_flush()
  Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs"
  IB/cm: Flush workqueue when removing device
  MAINTAINERS: update ipath owner

11 years agox86: remove quicklists
Thomas Gleixner [Sun, 9 Mar 2008 12:14:37 +0000]
x86: remove quicklists

quicklists cause a serious memory leak on 32-bit x86,
as documented at:

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

the reason is that the quicklist pool is a special-purpose
cache that grows out of proportion. It is not accounted for
anywhere and users have no way to even realize that it's
the quicklists that are causing RAM usage spikes. It was
supposed to be a relatively small pool, but as demonstrated
by KOSAKI Motohiro, they can grow as large as:

  Quicklists:    1194304 kB

given how much trouble this code has caused historically,
and given that Andrew objected to its introduction on x86
(years ago), the best option at this point is to remove them.

[ any performance benefits of caching constructed pgds should
  be implemented in a more generic way (possibly within the page
  allocator), while still allowing constructed pages to be
  allocated by other workloads. ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

11 years agox86: ia32 syscall restart fix
Roland McGrath [Fri, 29 Feb 2008 03:57:07 +0000]
x86: ia32 syscall restart fix

The code to restart syscalls after signals depends on checking for a
negative orig_ax, and for particular negative -ERESTART* values in ax.
These fields are 64 bits and for a 32-bit task they get zero-extended.
The syscall restart behavior is lost, a regression from a native 32-bit
kernel and from 64-bit tasks' behavior.

This patch fixes the problem by doing sign-extension where it matters.

For orig_ax, the only time the value should be -1 but winds up as
0x0ffffffff is via a 32-bit ptrace call. So the patch changes ptrace to
sign-extend the 32-bit orig_eax value when it's stored; it doesn't
change the checks on orig_ax, though it uses the new current_syscall()
inline to better document the subtle importance of the used of
signedness there.

The ax value is stored a lot of ways and it seems hard to get them all
sign-extended at their origins. So for that, we use the
current_syscall_ret() to sign-extend it only for 32-bit tasks at the
time of the -ERESTART* comparisons.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

11 years agox86: ioremap, remove WARN_ON()
Ingo Molnar [Tue, 26 Feb 2008 08:30:32 +0000]
x86: ioremap, remove WARN_ON()

Signed-off-by: Ingo Molnar <mingo@elte.hu>

11 years agokeep rd->online and cpu_online_map in sync
Gregory Haskins [Mon, 10 Mar 2008 21:59:11 +0000]
keep rd->online and cpu_online_map in sync

It is possible to allow the root-domain cache of online cpus to
become out of sync with the global cpu_online_map.  This is because we
currently trigger removal of cpus too early in the notifier chain.
Other DOWN_PREPARE handlers may in fact run and reconfigure the
root-domain topology, thereby stomping on our own offline handling.

The end result is that rd->online may become out of sync with
cpu_online_map, which results in potential task misrouting.

So change the offline handling to be more tightly coupled with the
global offline process by triggering on CPU_DYING intead of
CPU_DOWN_PREPARE.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

11 years agoRevert "cpu hotplug: adjust root-domain->online span in response to hotplug event"
Gregory Haskins [Mon, 10 Mar 2008 20:52:41 +0000]
Revert "cpu hotplug: adjust root-domain->online span in response to hotplug event"

This reverts commit 393d94d98b19089ec172566e23557997931b137e.

Lets fix this right.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

11 years agoACPI: replace remaining __FUNCTION__ occurrences
Harvey Harrison [Thu, 6 Mar 2008 02:24:51 +0000]
ACPI: replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoACPI: Fix a duplicate log level
Jean Delvare [Wed, 27 Feb 2008 19:56:01 +0000]
ACPI: Fix a duplicate log level

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoRevert "ACPI: EC: Use proper handle for boot EC"
Len Brown [Tue, 11 Mar 2008 04:27:16 +0000]
Revert "ACPI: EC: Use proper handle for boot EC"

This reverts commit 208c70a45624400fafd7511b96bc426bf01f8f5e.

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

Signed-off-by: Len Brown <len.brown@intel.com>

11 years agoRDMA/iwcm: Don't access a cm_id after dropping reference
Steve Wise [Tue, 4 Mar 2008 22:44:52 +0000]
RDMA/iwcm: Don't access a cm_id after dropping reference

cm_work_handler() can access cm_id_priv after it drops its reference
by calling iwch_deref_id(), which might cause it to be freed.  The fix
is to look at whether IWCM_F_CALLBACK_DESTROY is set _before_ dropping
the reference.  Then if it was set, free the cm_id on this thread.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agoIB/iser: Handle iser_device allocation error gracefully
Arne Redlich [Tue, 4 Mar 2008 12:11:54 +0000]
IB/iser: Handle iser_device allocation error gracefully

"iser_device" allocation failure is "handled" with a BUG_ON() right
before dereferencing the NULL-pointer - fix this!

Signed-off-by: Arne Redlich <arne.redlich@xiranet.com>
Signed-off-by: Erez Zilber <erezz@voltaire.com>

11 years agoIB/iser: Fix list iteration bug
Arne Redlich [Tue, 4 Mar 2008 12:07:22 +0000]
IB/iser: Fix list iteration bug

The iteration through the list of "iser_device"s during device
lookup/creation is broken -- it might result in an infinite loop if
more than one HCA is used with iSER.  Fix this by using
list_for_each_entry() instead of the open-coded flawed list iteration
code.

Signed-off-by: Arne Redlich <arne.redlich@xiranet.com>
Signed-off-by: Erez Zilber <erezz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

11 years agoACPI: fix boot oops regression in thermal
Lin Ming [Thu, 28 Feb 2008 23:38:54 +0000]
ACPI: fix boot oops regression in thermal

Fix a memory overflow bug when copying
NULL internal package element object to external.

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

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

11 years ago[POWERPC] spufs: fix rescheduling of non-runnable contexts
Jeremy Kerr [Tue, 11 Mar 2008 01:46:18 +0000]
[POWERPC] spufs: fix rescheduling of non-runnable contexts

At present, we can hit the BUG_ON in __spu_update_sched_info by reading
the regs file of a context between two calls to spu_run. The
spu_release_saved called by spufs_regs_read() is resulting in the (now
non-runnable) context being placed back on the run queue, so the next
call to spu_run ends up in the bug condition.

This change uses the SPU_SCHED_SPU_RUN flag to only reschedule a context
if it's still in spu_run().

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

11 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 11 Mar 2008 01:45:51 +0000]
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] Add support for the RB500 PATA CompactFlash
  ahci: logical-bitwise and confusion in ahci_save_initial_config()
  libata: don't allow sysfs read access to force param
  ahci: add the Device IDs for nvidia MCP7B AHCI
  libata-sff: handle controllers w/o ctl register
  libata: allow LLDs w/o any reset method
  ata: replace remaining __FUNCTION__ occurrences

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Tue, 11 Mar 2008 01:45:23 +0000]
Merge git://git./linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB:Update mailing list information in documentation
  USB: fix ehci unlink regressions
  USB: new ftdi_sio device id
  USB: Remove __KERNEL__ check from non-exported gadget.h.
  USB: g_printer.h does not need to be "unifdef"ed.
  USB: fsl_usb2_udc: fix broken Kconfig
  USB: option: add novatel device ids
  USB: usbaudio: handle kcalloc failure
  USB: cypress_m8: add UPS Powercom (0d9f:0002)
  USB: drivers/usb/storage/sddr55.c: fix uninitialized var warnings
  USB: fix usb-serial generic recursive lock

11 years ago[POWERPC] spufs: don't (ab)use SCHED_IDLE
Jeremy Kerr [Tue, 4 Mar 2008 09:17:02 +0000]
[POWERPC] spufs: don't (ab)use SCHED_IDLE

commit 4ef11014 introduced a usage of SCHED_IDLE to detect when
a context is within spu_run.

Instead of SCHED_IDLE (which has other meaning), add a flag to
sched_flags to tell if a context should be running.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

11 years agofix BIOS PCI config cycle buglet causing ACPI boot regression
Ingo Molnar [Mon, 10 Mar 2008 17:04:34 +0000]
fix BIOS PCI config cycle buglet causing ACPI boot regression

I figured out another ACPI related regression today.

randconfig testing triggered an early boot-time hang on a laptop of mine
(32-bit x86, config attached) - the screen was scrolling ACPI AML
exceptions [with no serial port and no early debugging available].

v2.6.24 works fine on that laptop with the same .config, so after a few
hours of bisection (had to restart it 3 times - other regressions
interacted), it honed in on this commit:

10270d4838bdc493781f5a1cf2e90e9c34c9142f is first bad commit
|
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org>
| Date:   Wed Feb 13 09:56:14 2008 -0800
|
|     acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read()

reverting this commit ontop of -rc5 gave a correctly booting kernel.

But this commit fixes a real bug so the real question is, why did it
break the bootup?

After quite some head-scratching, the following change stood out:

-                               pci_id->bus = tu8;
+                               pci_id->bus = val;

pci_id->bus is defined as u16:

   struct acpi_pci_id {
           u16 segment;
           u16 bus;
   ...

and 'tu8' changed from u8 to u32. So previously we'd unconditionally
mask the return value of acpi_os_read_pci_configuration()
(raw_pci_read()) to 8 bits, but now we just trust whatever comes back
from the PCI access routines and only crop it to 16 bits.

But if the high 8 bits of that result contains any noise then we'll
write that into ACPI's PCI ID descriptor and confuse the heck out of the
rest of ACPI.

So lets check the PCI-BIOS code on that theory. We have this codepath
for 8-bit accesses (arch/x86/pci/pcbios.c:pci_bios_read()):

        switch (len) {
        case 1:
                __asm__("lcall *(%%esi); cld\n\t"
                        "jc 1f\n\t"
                        "xor %%ah, %%ah\n"
                        "1:"
                        : "=c" (*value),
                          "=a" (result)
                        : "1" (PCIBIOS_READ_CONFIG_BYTE),
                          "b" (bx),
                          "D" ((long)reg),
                          "S" (&pci_indirect));

Aha! The "=a" output constraint puts the full 32 bits of EAX into
*value. But if the BIOS's routines set any of the high bits to nonzero,
we'll return a value with more set in it than intended.

The other, more common PCI access methods (v1 and v2 PCI reads) clear
out the high bits already, for example pci_conf1_read() does:

        switch (len) {
        case 1:
                *value = inb(0xCFC + (reg & 3));

which explicitly converts the return byte up to 32 bits and zero-extends
it.

So zero-extending the result in the PCI-BIOS read routine fixes the
regression on my laptop. ( It might fix some other long-standing issues
we had with PCI-BIOS during the past decade ... ) Both 8-bit and 16-bit
accesses were buggy.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Tue, 11 Mar 2008 01:05:47 +0000]
Merge git://git./linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6:
  PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver
  PCI: rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Tue, 11 Mar 2008 01:04:00 +0000]
Merge git://git./linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  drivers: fix dma_get_required_mask
  firmware: provide stubs for the FW_LOADER=n case
  nozomi: fix initialization and early flow control access
  sysdev: fix problem with sysdev_class being re-registered

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
Linus Torvalds [Tue, 11 Mar 2008 01:03:20 +0000]
Merge git://git./linux/kernel/git/rusty/linux-2.6-for-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
  lguest: Do not append space to guests kernel command line
  lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem.
  lguest: Sanitize the lguest clock.
  lguest: fix __get_vm_area usage.
  lguest: make sure cpu is initialized before accessing it

11 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfashe...
Linus Torvalds [Tue, 11 Mar 2008 01:02:59 +0000]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/mfasheh/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
  ocfs2: Fix NULL pointer dereferences in o2net
  ocfs2/dlm: dlm_thread should not sleep while holding the dlm_spinlock
  ocfs2/dlm: Print message showing the recovery master
  ocfs2/dlm: Add missing dlm_lockres_put()s
  ocfs2/dlm: Add missing dlm_lockres_put()s in migration path
  ocfs2/dlm: Add missing dlm_lock_put()s
  ocfs2: Fix an endian bug in online resize.
  [PATCH] [OCFS2]: constify function pointer tables
  ocfs2: Fix endian bug in o2dlm protocol negotiation.
  ocfs2: Use dlm_print_one_lock_resource for lock resource print
  [PATCH] fs/ocfs2/dlm/dlmdomain.c: fix printk warning

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Tue, 11 Mar 2008 01:02:16 +0000]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] make watchdog/hpwdt.c:asminline_call() static
  [WATCHDOG] Remove volatiles from watchdog device structures
  [WATCHDOG] replace remaining __FUNCTION__ occurrences
  [WATCHDOG] hpwdt: Use dmi_walk() instead of own copy
  [WATCHDOG] Fix return value warning in hpwdt
  [WATCHDOG] Fix declaration of struct smbios_entry_point in hpwdt
  [WATCHDOG] it8712f_wdt support for 16-bit timeout values, WDIOC_GETSTATUS

11 years agofbdev: add BF52x EZkit Display driver
Michael Hennerich [Mon, 10 Mar 2008 18:44:04 +0000]
fbdev: add BF52x EZkit Display driver

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoBF54x LQ043 Framebuffer driver: Update copyright on previously modified files
Michael Hennerich [Mon, 10 Mar 2008 18:44:03 +0000]
BF54x LQ043 Framebuffer driver: Update copyright on previously modified files

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoBF54x LQ043 Framebuffer driver: fix bug lcd_device_register API breakage
Bryan Wu [Mon, 10 Mar 2008 18:44:03 +0000]
BF54x LQ043 Framebuffer driver: fix bug lcd_device_register API breakage

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoBF54x LQ043 Framebuffer driver: fix bug NULL for gpio_request label is not allowed
Michael Hennerich [Mon, 10 Mar 2008 18:44:02 +0000]
BF54x LQ043 Framebuffer driver: fix bug NULL for gpio_request label is not allowed

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agostifb: fix crash A1439A CRX (Rattler) graphics card
Helge Deller [Mon, 10 Mar 2008 18:44:01 +0000]
stifb: fix crash A1439A CRX (Rattler) graphics card

Fix kernel crash when stifb driver is used with a A1439A CRX (Rattler)
graphics card.  (Reference:
http://thread.gmane.org/gmane.linux.ports.hppa/1834)

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agombxfb: fix incorrect argument type
Krzysztof Helt [Mon, 10 Mar 2008 18:44:00 +0000]
mbxfb: fix incorrect argument type

Fix wrong pointer type passed into the dev_dbg() function.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Mike Rapoport <mike@compulab.co.il>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoiov_iter_advance() fix
Nick Piggin [Mon, 10 Mar 2008 18:43:59 +0000]
iov_iter_advance() fix

iov_iter_advance() skips over zero-length iovecs, however it does not properly
terminate at the end of the iovec array.  Fix this by checking against
i->count before we skip a zero-length iov.

The bug was reproduced with a test program that continually randomly creates
iovs to writev.  The fix was also verified with the same program and also it
could verify that the correct data was contained in the file after each
writev.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Tested-by: "Kevin Coffman" <kwc@citi.umich.edu>
Cc: "Alexey Dobriyan" <adobriyan@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agorcu: move PREEMPT_RCU config option back under PREEMPT
Paul E. McKenney [Mon, 10 Mar 2008 18:43:57 +0000]
rcu: move PREEMPT_RCU config option back under PREEMPT

The original preemptible-RCU patch put the choice between classic and
preemptible RCU into kernel/Kconfig.preempt, which resulted in build failures
on machines not supporting CONFIG_PREEMPT.  This choice was therefore moved to
init/Kconfig, which worked, but placed the choice between classic and
preemptible RCU at the top level, a very obtuse choice indeed.

This patch changes from the Kconfig "choice" mechanism to a pair of booleans,
only one of which (CONFIG_PREEMPT_RCU) is user-visible, and is located in
kernel/Kconfig.preempt, where one would expect it to be.  The other
(CONFIG_CLASSIC_RCU) is in init/Kconfig so that it is available to all
architectures, hopefully avoiding build breakage.  Thanks to Roman Zippel for
suggesting this approach.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: Josh Triplett <josh@freedesktop.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoi8042: use SGI_HAS_I8042 to select SGI i8042 handlinig
Thomas Bogendoerfer [Mon, 10 Mar 2008 18:43:54 +0000]
i8042: use SGI_HAS_I8042 to select SGI i8042 handlinig

Use SGI_HAS_I8042 to select SGI i8042 handling

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agomodules: warn about suspicious return values from module's ->init() hook
Alexey Dobriyan [Mon, 10 Mar 2008 18:43:53 +0000]
modules: warn about suspicious return values from module's ->init() hook

Return value convention of module's init functions is 0/-E.  Sometimes,
e.g.  during forward-porting mistakes happen and buggy module created,
where result of comparison "workqueue != NULL" is propagated all the way up
to sys_init_module.  What happens is that some other module created
workqueue in question, our module created it again and module was
successfully loaded.

Or it could be some other bug.

Let's make such mistakes much more visible.  In retrospective, such
messages would noticeably shorten some of my head-scratching sessions.

Note, that dump_stack() is just a way to get attention from user.  Sample
message:

sys_init_module: 'foo'->init suspiciously returned 1, it should follow 0/-E convention
sys_init_module: loading module anyway...
Pid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5

Call Trace:
 [<ffffffff80254b05>] sys_init_module+0xe5/0x1d0
 [<ffffffff8020b39b>] system_call_after_swapgs+0x7b/0x80

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agomodules: fix module waiting for dependent modules' init
Rusty Russell [Mon, 10 Mar 2008 18:43:52 +0000]
modules: fix module waiting for dependent modules' init

Commit c9a3ba55 (module: wait for dependent modules doing init.) didn't quite
work because the waiter holds the module lock, meaning that the state of the
module it's waiting for cannot change.

Fortunately, it's fairly simple to update the state outside the lock and do
the wakeup.

Thanks to Jan Glauber for tracking this down and testing (qdio and qeth).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>