]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agotracing: use pointer error returns for __tracing_open
Steven Rostedt [Fri, 27 Feb 2009 05:12:38 +0000 (00:12 -0500)]
tracing: use pointer error returns for __tracing_open

Impact: fix compile warning and clean up

When I first wrote __tracing_open, instead of passing the error
code via the ERR_PTR macros, I lazily used a separate parameter
to hold the return for errors.

When Frederic Weisbecker updated that function, he used the Linux
kernel ERR_PTR for the returns. This caused the parameter return
to possibly not be initialized on error. gcc correctly pointed this
out with a warning.

This patch converts the entire function to use the Linux kernel
ERR_PTR macro methods.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years agonet: fix hp-plus build error
Randy Dunlap [Fri, 27 Feb 2009 05:02:19 +0000 (21:02 -0800)]
net: fix hp-plus build error

hp-plus needs to call __alloc_eip_netdev() instead of
__alloc_ei_netdev() since it is linked with 8390p.o.

Fixes this build error:
ERROR: "__alloc_ei_netdev" [drivers/net/hp-plus.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotracing: add protection around open use of current_tracer
Steven Rostedt [Fri, 27 Feb 2009 04:55:58 +0000 (23:55 -0500)]
tracing: add protection around open use of current_tracer

Impact: fix to possible race conditions

There's some uses of current_tracer that is not protected by the
trace_types_lock. There is a small chance that a sysadmin changes
the tracer while the current_tracer is being referenced.

If the race is hit, it is unlikely to cause any harm since the
tracers are constant and are not freed. But some strang side
effects may occur.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years agotracing: add tracer dependent options to options directory
Steven Rostedt [Fri, 27 Feb 2009 04:43:05 +0000 (23:43 -0500)]
tracing: add tracer dependent options to options directory

This patch adds the tracer dependent options dynamically to the
options directory when the tracer is activated. These options are
removed when the tracer is deactivated.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years ago[ARM] Kirkwood: register internal devices in a common place
Nicolas Pitre [Fri, 27 Feb 2009 03:55:59 +0000 (22:55 -0500)]
[ARM] Kirkwood: register internal devices in a common place

The RTC and the two XOR engines are internal to the chip, and therefore
always available since they don't depend on a particular board layout.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
16 years agotracing: add options directory and core option files
Steven Rostedt [Fri, 27 Feb 2009 03:19:12 +0000 (22:19 -0500)]
tracing: add options directory and core option files

This patch creates an options directory in the debugfs, that contains
the available tracing options. These files contain 1 or 0, where 1
is the option is enabled and 0 it is disabled.

Simply echoing in 1 will enable the option and 0 will disable it.
This patch only contains the core options, not the tracer options.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years ago[ARM] Kirkwood: remove unneeded includes from board setup files
Nicolas Pitre [Fri, 27 Feb 2009 02:35:59 +0000 (21:35 -0500)]
[ARM] Kirkwood: remove unneeded includes from board setup files

Signed-off-by: Nicolas Pitre <nico@marvell.com>
16 years ago[ARM] Kirkwood: add NAND support to the DB88F6281 board
Nicolas Pitre [Sun, 22 Feb 2009 17:56:33 +0000 (12:56 -0500)]
[ARM] Kirkwood: add NAND support to the DB88F6281 board

Signed-off-by: Nicolas Pitre <nico@marvell.com>
16 years agokeys: make procfiles per-user-namespace
Serge E. Hallyn [Fri, 27 Feb 2009 00:28:04 +0000 (18:28 -0600)]
keys: make procfiles per-user-namespace

Restrict the /proc/keys and /proc/key-users output to keys
belonging to the same user namespace as the reading task.

We may want to make this more complicated - so that any
keys in a user-namespace which is belongs to the reading
task are also shown.  But let's see if anyone wants that
first.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agokeys: skip keys from another user namespace
Serge E. Hallyn [Fri, 27 Feb 2009 00:27:55 +0000 (18:27 -0600)]
keys: skip keys from another user namespace

When listing keys, do not return keys belonging to the
same uid in another user namespace.  Otherwise uid 500
in another user namespace will return keyrings called
uid.500 for another user namespace.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agokeys: consider user namespace in key_permission
Serge E. Hallyn [Fri, 27 Feb 2009 00:27:47 +0000 (18:27 -0600)]
keys: consider user namespace in key_permission

If a key is owned by another user namespace, then treat the
key as though it is owned by both another uid and gid.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agokeys: distinguish per-uid keys in different namespaces
Serge E. Hallyn [Fri, 27 Feb 2009 00:27:38 +0000 (18:27 -0600)]
keys: distinguish per-uid keys in different namespaces

per-uid keys were looked by uid only.  Use the user namespace
to distinguish the same uid in different namespaces.

This does not address key_permission.  So a task can for instance
try to join a keyring owned by the same uid in another namespace.
That will be handled by a separate patch.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agoV4L/DVB (10696): Remove outdated README for the flexcop-driver
Uwe Bugla [Mon, 23 Feb 2009 13:56:11 +0000 (10:56 -0300)]
V4L/DVB (10696): Remove outdated README for the flexcop-driver

This patch removes an outdated README for the flexcop-driver.

Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (10695): Update Technisat card documentation
Uwe Bugla [Mon, 23 Feb 2009 13:54:20 +0000 (10:54 -0300)]
V4L/DVB (10695): Update Technisat card documentation

Fixes for documentation of Technisat-based cards

Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (10694): [PATCH] software IRQ watchdog for Flexcop B2C2 DVB PCI cards
Patrick Boettcher [Mon, 23 Feb 2009 09:27:16 +0000 (06:27 -0300)]
V4L/DVB (10694): [PATCH] software IRQ watchdog for Flexcop B2C2 DVB PCI cards

With (some) Technisat cards you cannot run multiple DVB applications
in parallel and switch the channel at the same time.

There seems to be a problem on the interfaces or even inside the flexcop-device
that can't handle interruption on the streaming interface.

This patch adds a watchdog to check whether data is supposed to come in
(streaming PIDs are requested) and if no data is seen within 400ms (default) it
resets the streaming/pid-filtering hardware.

This patch is urgently needed to support the rev 2.8 of the hardware and solves
problem occassionally seen on older hardware.

Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (10663): soc-camera: fix S_CROP breakage on PXA and SuperH
Guennadi Liakhovetski [Mon, 23 Feb 2009 15:11:25 +0000 (12:11 -0300)]
V4L/DVB (10663): soc-camera: fix S_CROP breakage on PXA and SuperH

Recent format-negotiation patches caused S_CROP breakage in pxa_camera.c
and sh_mobile_ceu_camera.c drivers, fix it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (10659): em28xx: register device to soundcard for sysfs
Nicola Soranzo [Thu, 19 Feb 2009 16:41:56 +0000 (13:41 -0300)]
V4L/DVB (10659): em28xx: register device to soundcard for sysfs

As explained in "Writing an ALSA driver" (T. Iwai), audio drivers should
set the struct device for the card before registering the card instance.
This will add the correct /sys/class/sound/cardN/device symlink, so HAL
can see the device and ConsoleKit sets its ACL permissions for the
logged-in user.

For em28xx audio capture cards found e.g. in Hauppauge WinTV-HVR-900 (R2),
this patch fixes errors like:

ALSA lib pcm_hw.c:1429:(_snd_pcm_hw_open) Invalid value for card
Error opening audio: Permission denied

when running mplayer as a normal user.

Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years ago[ARM] Kirkwood: SDIO driver registration for DB6281 and RD6281
Nicolas Pitre [Sat, 14 Feb 2009 08:15:55 +0000 (03:15 -0500)]
[ARM] Kirkwood: SDIO driver registration for DB6281 and RD6281

Signed-off-by: Nicolas Pitre <nico@marvell.com>
16 years ago[ARM] S3C64XX: Fix USB host clock mux list
Ben Dooks [Thu, 26 Feb 2009 23:00:34 +0000 (23:00 +0000)]
[ARM] S3C64XX: Fix USB host clock mux list

The clock list for the USB host bus clock was in the wrong order,
move clk_48m to position 0.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: Fix name of USB host clock.
Ben Dooks [Thu, 26 Feb 2009 23:00:33 +0000 (23:00 +0000)]
[ARM] S3C64XX: Fix name of USB host clock.

The usb-host-bus clock should be named usb-bus-host.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH
Ben Dooks [Thu, 26 Feb 2009 23:00:27 +0000 (23:00 +0000)]
[ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH

The USB OHCI host device expects the IRQ definition to be named
IRQ_USBH, so rename the S3C64XX IRQ header to match.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: Do gpiolib configuration earlier
Mark Brown [Fri, 23 Jan 2009 17:06:23 +0000 (17:06 +0000)]
[ARM] S3C64XX: Do gpiolib configuration earlier

arch_initcall() runs after the machine init function which means that
any configuration of GPIO pins must currently be done later on, for
example in callbacks from drivers. Move the initialisation earlier in
order to allow machines to configure GPIOs directly in their init
functions rather than having to have a callback invoked later on.

Some other ARM platforms use this method. Other solutions for this
include providing a special interface for setting up GPIOs en masse,
adding callbacks to do the GPIO configuration from devices and doing
the GPIO configuration implicitly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: Staticise s3c64xx_init_irq_eint()
Mark Brown [Fri, 23 Jan 2009 16:29:44 +0000 (16:29 +0000)]
[ARM] S3C64XX: Staticise s3c64xx_init_irq_eint()

It's an initcall and does not need to be exported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] SMDK6410: Declare iodesc table static
Mark Brown [Fri, 23 Jan 2009 16:29:43 +0000 (16:29 +0000)]
[ARM] SMDK6410: Declare iodesc table static

Shuts up a warning.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] SMDK6410: Correct I2C device name for WM8580
Mark Brown [Fri, 23 Jan 2009 16:29:41 +0000 (16:29 +0000)]
[ARM] SMDK6410: Correct I2C device name for WM8580

The WM8580 driver registers itself as "wm8580" rather than "WM8580".

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks()
Mark Brown [Mon, 26 Jan 2009 19:12:01 +0000 (19:12 +0000)]
[ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: Set GPIO pin when select IRQ_EINT type
Ben Dooks [Fri, 12 Dec 2008 00:24:33 +0000 (00:24 +0000)]
[ARM] S3C64XX: Set GPIO pin when select IRQ_EINT type

Set the GPIO pin mode to external interrupt when configuring
an IRQ_EINT's IRQ type.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years agoMerge git://git.infradead.org/mtd-2.6
Linus Torvalds [Thu, 26 Feb 2009 22:45:57 +0000 (14:45 -0800)]
Merge git://git.infradead.org/mtd-2.6

* git://git.infradead.org/mtd-2.6:
  [MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver.
  [JFFS2] fix mount crash caused by removed nodes
  [JFFS2] force the jffs2 GC daemon to behave a bit better
  [MTD] [MAPS] blackfin async requires complex mappings
  [MTD] [MAPS] blackfin: fix memory leak in error path
  [MTD] [MAPS] physmap: fix wrong free and del_mtd_{partition,device}
  [MTD] slram: Handle negative devlength correctly
  [MTD] map_rom has NULL erase pointer
  [MTD] [LPDDR] qinfo_probe depends on lpddr

16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfashe...
Linus Torvalds [Thu, 26 Feb 2009 22:45:42 +0000 (14:45 -0800)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
  ocfs2: add IO error check in ocfs2_get_sector()
  ocfs2: set gap to seperate entry and value when xattr in bucket
  ocfs2: lock the metaecc process for xattr bucket
  ocfs2: Use the right access_* method in ctime update of xattr.
  ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter
  ocfs2/dlm: Use ast_lock to protect ast_list
  ocfs2: Cleanup the lockname print in dlmglue.c
  ocfs2/dlm: Retract fix for race between purge and migrate
  ocfs2: Access and dirty the buffer_head in mark_written.

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Thu, 26 Feb 2009 22:45:25 +0000 (14:45 -0800)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/44x: Fix address decoding setup of PCI 2.x cells

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Thu, 26 Feb 2009 22:43:42 +0000 (14:43 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI: AMD 813x B2 devices do not need boot interrupt quirk
  PCI: Enable PCIe AER only after checking firmware support
  PCI: pciehp: Handle interrupts that happen during initialization.
  PCI: don't enable too many HT MSI mappings
  PCI: add some sysfs ABI docs
  PCI quirk: enable MSI on 8132

16 years agopowerpc/44x: Fix address decoding setup of PCI 2.x cells
Benjamin Herrenschmidt [Sun, 1 Feb 2009 14:24:18 +0000 (14:24 +0000)]
powerpc/44x: Fix address decoding setup of PCI 2.x cells

The PCI 2.x cells used on some 44x SoCs only let us configure the decode
for the low 32-bit of the incoming PLB addresses. The top 4 bits (this
is a 36-bit bus) are hard wired to different values depending on the
specific SoC in use. Our code used to work "by accident" until I added
support for the ISA memory holes and while at it added more validity
checking of the addresses.

This patch should bring it back to working condition. It still relies
on the device-tree being correct but that's somewhat a pre-requisite
for anything to work anyway.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years agoPCI: AMD 813x B2 devices do not need boot interrupt quirk
Stefan Assmann [Thu, 26 Feb 2009 18:46:48 +0000 (10:46 -0800)]
PCI: AMD 813x B2 devices do not need boot interrupt quirk

Turns out that the new AMD 813x devices do not need the
quirk_disable_amd_813x_boot_interrupt quirk to be run on them.  If it
is, no interrupts are seen on the PCI-X adapter.

From: Stefan Assmann <sassmann@novell.com>
Reported-by: Jamie Wellnitz <Jamie.Wellnitz@emulex.com>
Tested-by: Jamie Wellnitz <Jamie.Wellnitz@emulex.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Jesse Barnes <jbarnes@hobbes.lan>
16 years agofix warning in arch/x86/kernel/cpu/intel_cacheinfo.c
Ingo Molnar [Sat, 18 Oct 2008 19:24:45 +0000 (21:24 +0200)]
fix warning in arch/x86/kernel/cpu/intel_cacheinfo.c

fix this warning:

  arch/x86/kernel/cpu/intel_cacheinfo.c:139: warning: ‘k8_nb_id’ defined but not used
  arch/x86/kernel/cpu/intel_cacheinfo.c:527: warning: ‘free_cache_attributes’ defined but not used
  arch/x86/kernel/cpu/intel_cacheinfo.c:538: warning: ‘detect_cache_attributes’ defined but not used

Unused variables in the !CONFIG_SYSCTL case.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi.MX31: framebuffer driver
Guennadi Liakhovetski [Thu, 26 Feb 2009 20:34:28 +0000 (21:34 +0100)]
i.MX31: framebuffer driver

This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous
displays, vertical panning supported, no overlay support.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
16 years agoRevert "i.MX31: framebuffer driver"
Dan Williams [Thu, 26 Feb 2009 20:58:37 +0000 (13:58 -0700)]
Revert "i.MX31: framebuffer driver"

This reverts commit 86528da229a448577a8401a17c295883640d336c.

This version of the patch was tab-to-space corrupted before
application.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
16 years agosched_clock: cleanups
Peter Zijlstra [Thu, 26 Feb 2009 20:40:16 +0000 (21:40 +0100)]
sched_clock: cleanups

- remove superfluous checks in __update_sched_clock()
- skip sched_clock_tick() for sched_clock_stable
- reinstate the simple !HAVE_UNSTABLE_SCHED_CLOCK code to please the bloatwatch

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branch 'sched/clock' into tracing/ftrace
Ingo Molnar [Thu, 26 Feb 2009 20:21:59 +0000 (21:21 +0100)]
Merge branch 'sched/clock' into tracing/ftrace

Conflicts:
kernel/sched_clock.c

16 years agox86: set X86_FEATURE_TSC_RELIABLE
Ingo Molnar [Thu, 26 Feb 2009 19:16:58 +0000 (20:16 +0100)]
x86: set X86_FEATURE_TSC_RELIABLE

If the TSC is constant and non-stop, also set it reliable.

(We will turn this off in DMI quirks for multi-chassis systems)

The performance number on a 16-way Nehalem system running
32 tasks that context-switch between each other is significant:

   sched_clock_stable=0 sched_clock_stable=1
   ....................         ....................
   22.456925 million/sec        24.306972 million/sec   [+8.2%]

lmbench's "lat_ctx -s 0 2" goes from 0.63 microseconds to
0.59 microseconds - a 6.7% increase in context-switching
performance.

Perfstat of 1 million pipe context switches between two tasks:

 Performance counter stats for './pipe-test-1m':

       [before]           [after]
   ............      ............
   37621.421089      36436.848378    task clock ticks     (msecs)

              0                 0    CPU migrations       (events)
        2000274           2000189    context switches     (events)
            194               193    pagefaults           (events)
     8433799643        8171016416    CPU cycles           (events) -3.21%
     8370133368        8180999694    instructions         (events) -2.31%
        4158565           3895941    cache references     (events) -6.74%
          44312             46264    cache misses         (events)

    2349.287976       2279.362465    wall-time            (msecs)  -3.06%

The speedup comes straight from the reduction in the instruction
count. sched_clock_cpu() got simpler and the whole workload thus
executes faster.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: allow architectures to specify sched_clock_stable
Ingo Molnar [Thu, 26 Feb 2009 19:20:29 +0000 (20:20 +0100)]
sched: allow architectures to specify sched_clock_stable

Allow CONFIG_HAVE_UNSTABLE_SCHED_CLOCK architectures to still specify
that their sched_clock() implementation is reliable.

This will be used by x86 to switch on a faster sched_clock_cpu()
implementation on certain CPU types.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agolibertas: fix misuse of netdev_priv() and dev->ml_priv
Kiran Divekar [Fri, 20 Feb 2009 00:32:39 +0000 (19:32 -0500)]
libertas: fix misuse of netdev_priv() and dev->ml_priv

The mesh and radiotap interfaces need to use the same private data as
the main wifi interface.  If the main wifi interface uses netdev_priv(),
but the other interfaces ->ml_priv, there's no way to figure out where
the private data actually is in the WEXT handlers and netdevice
callbacks.  So make everything use ->ml_priv.

Fixes botched netdev_priv() conversion introduced by "netdevice
libertas: Fix directly reference of netdev->priv", though admittedly
libertas' use of ->priv was somewhat "special".

Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Tested-by: Chris Ball <cjb@laptop.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agox86: enable DMAR by default
Kyle McMartin [Thu, 26 Feb 2009 17:57:56 +0000 (12:57 -0500)]
x86: enable DMAR by default

Now that the obvious bugs have been worked out, specifically
the iwlagn issue, and the write buffer errata, DMAR should be safe
to turn back on by default. (We've had it on since those patches were
first written a few weeks ago, without any noticeable bug reports
(most have been due to the dma-api debug patchset.))

Signed-off-by: Kyle McMartin <kyle@redhat.com>
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years ago[MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver.
David Woodhouse [Thu, 26 Feb 2009 19:51:33 +0000 (04:51 +0900)]
[MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver.

We really don't want the BIOS flash mapping hacks to get automatically
loaded.

No idea why it isn't using pci_register_driver() though -- that should
be fine... and is even _present_ but disabled by #if 0.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
16 years agoocfs2: add IO error check in ocfs2_get_sector()
wengang wang [Fri, 13 Feb 2009 02:11:47 +0000 (10:11 +0800)]
ocfs2: add IO error check in ocfs2_get_sector()

Check for IO error in ocfs2_get_sector().

Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2: set gap to seperate entry and value when xattr in bucket
Tiger Yang [Fri, 20 Feb 2009 03:11:50 +0000 (11:11 +0800)]
ocfs2: set gap to seperate entry and value when xattr in bucket

This patch set a gap (4 bytes) between xattr entry and
name/value when xattr in bucket. This gap use to seperate
entry and name/value when a bucket is full. It had already
been set when xattr in inode/block.

Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2: lock the metaecc process for xattr bucket
Tao Ma [Wed, 25 Feb 2009 01:40:26 +0000 (17:40 -0800)]
ocfs2: lock the metaecc process for xattr bucket

For other metadata in ocfs2, metaecc is checked in ocfs2_read_blocks
with io_mutex held. While for xattr bucket, it is calculated by
the whole buckets. So we have to add a spin_lock to prevent multiple
processes calculating metaecc.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Tested-by: Tristan Ye <tristan.ye@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2: Use the right access_* method in ctime update of xattr.
Tao Ma [Mon, 16 Feb 2009 20:39:28 +0000 (04:39 +0800)]
ocfs2: Use the right access_* method in ctime update of xattr.

In ctime updating of xattr, it use the wrong type of access for
inode, so use ocfs2_journal_access_di instead.

Reported-and-Tested-by: Tristan Ye <tristan.ye@oracle.com>
Signed-off-by: Tao Ma <tao.ma@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter
Sunil Mushran [Tue, 3 Feb 2009 20:37:16 +0000 (12:37 -0800)]
ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter

In dlm_assert_master_handler(), if we get an incorrect assert master from a node
that, we reply with EINVAL asking the asserter to die. The problem is that an
assert is sent after so many hoops, it is invariably the node that thinks the
asserter is wrong, is actually wrong. So instead of killing the asserter, this
patch kills the assertee.

This patch papers over a race that is still being addressed.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2/dlm: Use ast_lock to protect ast_list
Sunil Mushran [Tue, 3 Feb 2009 20:37:15 +0000 (12:37 -0800)]
ocfs2/dlm: Use ast_lock to protect ast_list

The code was using dlm->spinlock instead of dlm->ast_lock to protect the
ast_list. This patch fixes the issue.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2: Cleanup the lockname print in dlmglue.c
Sunil Mushran [Tue, 3 Feb 2009 20:37:14 +0000 (12:37 -0800)]
ocfs2: Cleanup the lockname print in dlmglue.c

The dentry lock has a different format than other locks. This patch fixes
ocfs2_log_dlm_error() macro to make it print the dentry lock correctly.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2/dlm: Retract fix for race between purge and migrate
Sunil Mushran [Tue, 3 Feb 2009 20:37:13 +0000 (12:37 -0800)]
ocfs2/dlm: Retract fix for race between purge and migrate

Mainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay
the dlm_thread from sending the drop ref message if the lockres is being
migrated. The problem is that we make the dlm_thread wait for the migration
to complete. This causes a deadlock as dlm_thread also participates in the
lockres migration process.

A better fix for the original oss bugzilla#1012 is in testing.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agoocfs2: Access and dirty the buffer_head in mark_written.
Tao Ma [Thu, 8 Jan 2009 23:32:48 +0000 (07:32 +0800)]
ocfs2: Access and dirty the buffer_head in mark_written.

In __ocfs2_mark_extent_written, when we meet with the situation
of c_split_covers_rec, the old solution just replace the extent
record and forget to access and dirty the buffer_head. This will
cause a problem when the unwritten extent is in an extent block.
So access and dirty it.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
16 years agotime: ntp: fix bug in ntp_update_offset() & do_adjtimex(), fix
John Stultz [Thu, 26 Feb 2009 17:46:14 +0000 (09:46 -0800)]
time: ntp: fix bug in ntp_update_offset() & do_adjtimex(), fix

The time_status conditional was accidentally placed right after we clear
the checked time_status bits, which causes us to take the conditional
every time through. This fixes it by moving the conditional to before we
clear the time_status bits.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Cc: Clark Williams <williams@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
Linus Torvalds [Thu, 26 Feb 2009 18:37:00 +0000 (10:37 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable

* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
  Btrfs: try committing transaction before returning ENOSPC
  Btrfs: add better -ENOSPC handling

16 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Thu, 26 Feb 2009 18:36:35 +0000 (10:36 -0800)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  xen/blkfront: use blk_rq_map_sg to generate ring entries
  block: reduce stack footprint of blk_recount_segments()
  cciss: shorten 30s timeout on controller reset
  block: add documentation for register_blkdev()
  block: fix bogus gcc warning for uninitialized var usage

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Thu, 26 Feb 2009 18:36:19 +0000 (10:36 -0800)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc: Fix 64bit __copy_tofrom_user() regression
  powerpc: Fix 64bit memcpy() regression
  powerpc: Fix load/store float double alignment handler

16 years agoMake ieee1394_init a fs-initcall
Linus Torvalds [Thu, 26 Feb 2009 18:32:31 +0000 (10:32 -0800)]
Make ieee1394_init a fs-initcall

It needs to happen before any firewire driver actually registers itself,
and that was previously handled by having the Makefile list the core
ieee1394 files before the drivers.

But now there are firewire drivers in drivers/media, and the Makefile
games aren't enough.  So just make ieee1394_init happen earlier in the
init sequence, the way all other bus layers already do.

Reported-and-tested-by: Ingo Molnar <mingo@elte.hu>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Henrik Kurelid <henrik@kurelid.se>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Ben Backx <ben@bbackx.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agotracing: implement trace_clock_*() APIs
Ingo Molnar [Thu, 26 Feb 2009 17:47:11 +0000 (18:47 +0100)]
tracing: implement trace_clock_*() APIs

Impact: implement new tracing timestamp APIs

Add three trace clock variants, with differing scalability/precision
tradeoffs:

 -   local: CPU-local trace clock
 -  medium: scalable global clock with some jitter
 -  global: globally monotonic, serialized clock

Make the ring-buffer use the local trace clock internally.

Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched: sched_clock() improvement: use in_nmi()
Ingo Molnar [Mon, 12 May 2008 19:21:14 +0000 (21:21 +0200)]
sched: sched_clock() improvement: use in_nmi()

make sure we dont execute more complex sched_clock() code in NMI context.

Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotracing, genirq: add irq enter and exit trace events
Jason Baron [Thu, 26 Feb 2009 15:11:05 +0000 (10:11 -0500)]
tracing, genirq: add irq enter and exit trace events

Impact: add new tracepoints

Add them to the generic IRQ code, that way every architecture
gets these new tracepoints, not just x86.

Using Steve's new 'TRACE_FORMAT', I can get function graph
trace as follows using the original two IRQ tracepoints:

 3)               |    handle_IRQ_event() {
 3)               |    /* (irq_handler_entry) irq=28 handler=eth0 */
 3)               |    e1000_intr_msi() {
 3)   2.460 us    |      __napi_schedule();
 3)   9.416 us    |    }
 3)               |    /* (irq_handler_exit) irq=28 handler=eth0 return=handled */
 3) + 22.935 us   |  }

Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Mathieu Desnoyers <compudj@krystal.dyndns.org>
Cc: "Frank Ch. Eigler" <fche@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoALSA: hda - Add model=auto for STAC/IDT codecs
Takashi Iwai [Thu, 26 Feb 2009 15:50:43 +0000 (16:50 +0100)]
ALSA: hda - Add model=auto for STAC/IDT codecs

Added the model=auto to STAC/IDT codecs to use the BIOS default setup
explicitly.  It can be used to disable the device-specific model quirk
in the driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agox86: fix !ACPI build for es7000_32.c
Ingo Molnar [Thu, 26 Feb 2009 13:34:08 +0000 (14:34 +0100)]
x86: fix !ACPI build for es7000_32.c

arch/x86/kernel/apic/es7000_32.c:702: error: 'es7000_acpi_madt_oem_check_cluster' undeclared here (not in a function)

Provide a es7000_acpi_madt_oem_check_cluster() definition in the !ACPI
case too.

Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched_rt: don't start timer when rt bandwidth disabled
Hiroshi Shimamoto [Wed, 25 Feb 2009 17:59:26 +0000 (09:59 -0800)]
sched_rt: don't start timer when rt bandwidth disabled

Impact: fix incorrect condition check

No need to start rt bandwidth timer when rt bandwidth is disabled.
If this timer starts, it may stop at sched_rt_period_timer() on the first time.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: apic: simplify secondary CPU wakeup methods, fix
Ingo Molnar [Thu, 26 Feb 2009 13:10:10 +0000 (14:10 +0100)]
x86: apic: simplify secondary CPU wakeup methods, fix

Impact: build fix

init_deasserted is only available on SMP. Make the secondary-wakeup
function conditional on SMP.

Also clean up the file some.

Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotracing/core: make the per cpu trace files in per cpu directories
Frederic Weisbecker [Wed, 25 Feb 2009 23:41:38 +0000 (00:41 +0100)]
tracing/core: make the per cpu trace files in per cpu directories

Impact: restructure the VFS layout of per CPU trace buffers

The per cpu trace files are all in a single directory:
/debug/tracing/per_cpu. In case of a large number of cpu, the
content of this directory becomes messy so we create now one
directory per cpu inside /debug/tracing/per_cpu which contain
each their own trace_pipe and trace files.

Ie:

 /debug/tracing$ ls -R per_cpu
 per_cpu:
 cpu0  cpu1

 per_cpu/cpu0:
 trace  trace_pipe

 per_cpu/cpu1:
 trace  trace_pipe

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: apic: simplify secondary CPU wakeup methods
Ingo Molnar [Thu, 26 Feb 2009 12:51:40 +0000 (13:51 +0100)]
x86: apic: simplify secondary CPU wakeup methods

Impact: cleanup

- rename apic->wakeup_cpu  to apic->wakeup_secondary_cpu, to
  make it apparent that this is an SMP-only method

- handle NULL ->wakeup_secondary_cpus to mean the default INIT
  wakeup sequence - this allows simplification of the APIC
  driver templates.

Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agocpuacct: add a branch prediction
Li Zefan [Thu, 26 Feb 2009 07:40:15 +0000 (15:40 +0800)]
cpuacct: add a branch prediction

cpuacct_charge() is in fast-path, and checking of !cpuacct_susys.active
always returns false after cpuacct has been initialized at system boot.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Menage <menage@google.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branches 'sched/cleanups', 'sched/urgent' and 'linus' into sched/core
Ingo Molnar [Thu, 26 Feb 2009 12:22:13 +0000 (13:22 +0100)]
Merge branches 'sched/cleanups', 'sched/urgent' and 'linus' into sched/core

16 years agoALSA: hda - Clean up the input pin setup in automatic mode
Takashi Iwai [Thu, 26 Feb 2009 12:03:58 +0000 (13:03 +0100)]
ALSA: hda - Clean up the input pin setup in automatic mode

Clean up the input-pin setup in automatic mode in patch_realtek.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agox86: remove update_apic from x86_quirks, fix
Ingo Molnar [Thu, 26 Feb 2009 11:47:40 +0000 (12:47 +0100)]
x86: remove update_apic from x86_quirks, fix

Impact: build fix

wakeup_secondary_cpu_via_init(), the default platform method for
booting a secondary CPU, is always used on UP due to probe_32.c,
if CONFIG_X86_LOCAL_APIC is enabled but SMP is off.

So provide a UP wrapper inline as well.

Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoipv6: don't use tw net when accounting for recycled tw
Pavel Emelyanov [Thu, 26 Feb 2009 11:35:13 +0000 (03:35 -0800)]
ipv6: don't use tw net when accounting for recycled tw

We already have a valid net in that place, but this is not just a
cleanup - the tw pointer can be NULL there sometimes, thus causing
an oops in NET_NS=y case.

The same place in ipv4 code already works correctly using existing
net, rather than tw's one.

The bug exists since 2.6.27.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoASoC: wm8753 - Fix build error
Takashi Iwai [Thu, 26 Feb 2009 10:29:58 +0000 (11:29 +0100)]
ASoC: wm8753 - Fix build error

sound/soc/codecs/wm8753.c: In function 'wm8753_probe':
sound/soc/codecs/wm8753.c:1577: error: implicit declaration of function 'wm8753_add_controls'

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoxen/blkfront: use blk_rq_map_sg to generate ring entries
Jens Axboe [Tue, 24 Feb 2009 07:10:09 +0000 (08:10 +0100)]
xen/blkfront: use blk_rq_map_sg to generate ring entries

On occasion, the request will apparently have more segments than we
fit into the ring. Jens says:

> The second problem is that the block layer then appears to create one
> too many segments, but from the dump it has rq->nr_phys_segments ==
> BLKIF_MAX_SEGMENTS_PER_REQUEST. I suspect the latter is due to
> xen-blkfront not handling the merging on its own. It should check that
> the new page doesn't form part of the previous page. The
> rq_for_each_segment() iterates all single bits in the request, not dma
> segments. The "easiest" way to do this is to call blk_rq_map_sg() and
> then iterate the mapped sg list. That will give you what you are
> looking for.

> Here's a test patch, compiles but otherwise untested. I spent more
> time figuring out how to enable XEN than to code it up, so YMMV!
> Probably the sg list wants to be put inside the ring and only
> initialized on allocation, then you can get rid of the sg on stack and
> sg_init_table() loop call in the function. I'll leave that, and the
> testing, to you.

[Moved sg array into info structure, and initialize once. -J]

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
16 years agoblock: reduce stack footprint of blk_recount_segments()
Jens Axboe [Mon, 23 Feb 2009 08:03:10 +0000 (09:03 +0100)]
block: reduce stack footprint of blk_recount_segments()

blk_recalc_rq_segments() requires a request structure passed in, which
we don't have from blk_recount_segments(). So the latter allocates one on
the stack, using > 400 bytes of stack for that. This can cause us to spill
over one page of stack from ext4 at least:

 0)     4560     400   blk_recount_segments+0x43/0x62
 1)     4160      32   bio_phys_segments+0x1c/0x24
 2)     4128      32   blk_rq_bio_prep+0x2a/0xf9
 3)     4096      32   init_request_from_bio+0xf9/0xfe
 4)     4064     112   __make_request+0x33c/0x3f6
 5)     3952     144   generic_make_request+0x2d1/0x321
 6)     3808      64   submit_bio+0xb9/0xc3
 7)     3744      48   submit_bh+0xea/0x10e
 8)     3696     368   ext4_mb_init_cache+0x257/0xa6a [ext4]
 9)     3328     288   ext4_mb_regular_allocator+0x421/0xcd9 [ext4]
10)     3040     160   ext4_mb_new_blocks+0x211/0x4b4 [ext4]
11)     2880     336   ext4_ext_get_blocks+0xb61/0xd45 [ext4]
12)     2544      96   ext4_get_blocks_wrap+0xf2/0x200 [ext4]
13)     2448      80   ext4_da_get_block_write+0x6e/0x16b [ext4]
14)     2368     352   mpage_da_map_blocks+0x7e/0x4b3 [ext4]
15)     2016     352   ext4_da_writepages+0x2ce/0x43c [ext4]
16)     1664      32   do_writepages+0x2d/0x3c
17)     1632     144   __writeback_single_inode+0x162/0x2cd
18)     1488      96   generic_sync_sb_inodes+0x1e3/0x32b
19)     1392      16   sync_sb_inodes+0xe/0x10
20)     1376      48   writeback_inodes+0x69/0xb3
21)     1328     208   balance_dirty_pages_ratelimited_nr+0x187/0x2f9
22)     1120     224   generic_file_buffered_write+0x1d4/0x2c4
23)      896     176   __generic_file_aio_write_nolock+0x35f/0x393
24)      720      80   generic_file_aio_write+0x6c/0xc8
25)      640      80   ext4_file_write+0xa9/0x137 [ext4]
26)      560     320   do_sync_write+0xf0/0x137
27)      240      48   vfs_write+0xb3/0x13c
28)      192      64   sys_write+0x4c/0x74
29)      128     128   system_call_fastpath+0x16/0x1b

Split the segment counting out into a __blk_recalc_rq_segments() helper
to avoid allocating an onstack request just for checking the physical
segment count.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agocciss: shorten 30s timeout on controller reset
Jens Axboe [Mon, 23 Feb 2009 07:53:35 +0000 (08:53 +0100)]
cciss: shorten 30s timeout on controller reset

If reset_devices is set for kexec, then cciss will delay 30 seconds
since the old 5i controller _may_ need that long to recover. Replace
the long sleep with incremental sleep and tests to reduce the 30 seconds
to worst case for 5i, so that other controllers will proceed quickly.

Reviewed-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: add documentation for register_blkdev()
Márton Németh [Fri, 20 Feb 2009 07:12:51 +0000 (08:12 +0100)]
block: add documentation for register_blkdev()

Add documentation for register_blkdev() function and for the parameters.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: fix bogus gcc warning for uninitialized var usage
Jens Axboe [Thu, 19 Feb 2009 07:50:26 +0000 (08:50 +0100)]
block: fix bogus gcc warning for uninitialized var usage

Newer gcc throw this warning:

        fs/bio.c: In function ?bio_alloc_bioset?:
        fs/bio.c:305: warning: ?p? may be used uninitialized in this function

since it cannot figure out that 'p' is only ever used if 'bs' is non-NULL.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoALSA: sound/pci/hda: fix sparse warning: different signedness
Hannes Eder [Wed, 25 Feb 2009 21:28:45 +0000 (22:28 +0100)]
ALSA: sound/pci/hda: fix sparse warning: different signedness

Fix this sparse warning:
  sound/pci/hda/hda_codec.c:1544:19: warning: incorrect type in assignment (different signedness)
  sound/pci/hda/hda_codec.c:1544:19:    expected unsigned long *vals
  sound/pci/hda/hda_codec.c:1544:19:    got long *<noident>

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: sound/pci/emu10k1: fix sparse warning: different signedness
Hannes Eder [Wed, 25 Feb 2009 21:28:59 +0000 (22:28 +0100)]
ALSA: sound/pci/emu10k1: fix sparse warning: different signedness

Fix this sparse warnings:
  sound/pci/emu10k1/emu10k1_main.c:723:66: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:724:68: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:748:74: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:751:66: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:759:73: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:760:73: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:837:50: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:845:50: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:881:50: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:889:57: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:890:57: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:895:60: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:897:60: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:899:60: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:910:56: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:914:57: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:918:56: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:922:57: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:924:58: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:936:60: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:1073:60: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:1088:60: warning: incorrect type in argument 3 (different signedness)
  sound/pci/emu10k1/emu10k1_main.c:1093:58: warning: incorrect type in argument 3 (different signedness)

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: sound/drivers/vx: fix sparse warning: different signedness
Hannes Eder [Wed, 25 Feb 2009 21:29:15 +0000 (22:29 +0100)]
ALSA: sound/drivers/vx: fix sparse warning: different signedness

Fix this sparse warning:
  sound/drivers/vx/vx_uer.c:301:42: warning: incorrect type in argument 2 (different signedness)

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: sound/usb/usx2y: fix sparse warning: do-while statement is not a compound ...
Hannes Eder [Wed, 25 Feb 2009 21:28:26 +0000 (22:28 +0100)]
ALSA: sound/usb/usx2y: fix sparse warning: do-while statement is not a compound ...

Fix this sparse warning:
  sound/usb/usx2y/usbusx2y.c:231:33: warning: do-while statement is not a compound statement

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: sound/usb/usx2y: fix sparse warning: Should it be static?
Hannes Eder [Wed, 25 Feb 2009 21:26:48 +0000 (22:26 +0100)]
ALSA: sound/usb/usx2y: fix sparse warning: Should it be static?

Impact: Move declaration to header file.

Fix this sparse warning:
  sound/usb/usx2y/usx2yhwdeppcm.c:739:5: warning: symbol 'usX2Y_hwdep_pcm_new' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agosound/oss: fix sparse warning: symbol shadows an earlier one
Hannes Eder [Wed, 25 Feb 2009 21:29:47 +0000 (22:29 +0100)]
sound/oss: fix sparse warning: symbol shadows an earlier one

Impact: Move variable to a more inner scope.

Fix this sparse warning:
  sound/oss/sequencer.c:235:29: warning: symbol 'err' shadows an earlier one
  sound/oss/sequencer.c:215:13: originally declared here

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agosound/oss: fix sparse warnings: different signedness
Hannes Eder [Wed, 25 Feb 2009 21:29:29 +0000 (22:29 +0100)]
sound/oss: fix sparse warnings: different signedness

Impact: Change signature of 'set_volume_stereo' and 'set_volume_mono'.

Fix this sparse warnings:
  sound/oss/pss.c:545:42: warning: incorrect type in argument 2 (different signedness)
  sound/oss/pss.c:546:42: warning: incorrect type in argument 3 (different signedness)
  sound/oss/pss.c:554:59: warning: incorrect type in argument 2 (different signedness)
  sound/oss/pss.c:560:59: warning: incorrect type in argument 2 (different signedness)
  sound/oss/pss.c:566:59: warning: incorrect type in argument 2 (different signedness)

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agosound: virtuoso: add Xonar Essence STX support
Clemens Ladisch [Thu, 26 Feb 2009 08:27:20 +0000 (09:27 +0100)]
sound: virtuoso: add Xonar Essence STX support

Add support for the Asus Xonar Essence STX sound card.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agocrypto: api - Fix module load deadlock with fallback algorithms
Herbert Xu [Thu, 26 Feb 2009 06:06:31 +0000 (14:06 +0800)]
crypto: api - Fix module load deadlock with fallback algorithms

With the mandatory algorithm testing at registration, we have
now created a deadlock with algorithms requiring fallbacks.
This can happen if the module containing the algorithm requiring
fallback is loaded first, without the fallback module being loaded
first.  The system will then try to test the new algorithm, find
that it needs to load a fallback, and then try to load that.

As both algorithms share the same module alias, it can attempt
to load the original algorithm again and block indefinitely.

As algorithms requiring fallbacks are a special case, we can fix
this by giving them a different module alias than the rest.  Then
it's just a matter of using the right aliases according to what
algorithms we're trying to find.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
16 years agoACPI: introduce sysfs I/F for dynamic tables
Zhang Rui [Thu, 26 Feb 2009 03:27:23 +0000 (11:27 +0800)]
ACPI: introduce sysfs I/F for dynamic tables

SSDT tables may be loaded at runtime.
create sysfs I/F for these dynamic tables in
/sys/firmware/acpi/tables/dynamic/.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoext4: don't call jbd2_journal_force_commit_nested without journal
Eric Sandeen [Thu, 26 Feb 2009 05:57:35 +0000 (00:57 -0500)]
ext4: don't call jbd2_journal_force_commit_nested without journal

Running without a journal, I oopsed when I ran out of space,
because we called jbd2_journal_force_commit_nested() from
ext4_should_retry_alloc() without a journal.

This should take care of it, I think.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Reorder fs/Makefile so that ext2 root fs's are mounted using ext2
Theodore Ts'o [Sat, 28 Feb 2009 14:50:01 +0000 (09:50 -0500)]
ext4: Reorder fs/Makefile so that ext2 root fs's are mounted using ext2

In fs/Makefile, ext3 was placed before ext2 so that a root filesystem
that possessed a journal, it would be mounted as ext3 instead of ext2.
This was necessary because a cleanly unmounted ext3 filesystem was
fully backwards compatible with ext2, and could be mounted by ext2 ---
but it was desirable that it be mounted with ext3 so that the
journaling would be enabled.

The ext4 filesystem supports new incompatible features, so there is no
danger of an ext4 filesystem being mistaken for an ext2 filesystem.
At that point, the relative ordering of ext4 with respect to ext2
didn't matter until ext4 gained the ability to mount filesystems
without a journal starting in 2.6.29-rc1.  Now that this is the case,
given that ext4 is before ext2, it means that root filesystems that
were using the plain-jane ext2 format are getting mounted using the
ext4 filesystem driver, which is a change in behavior which could be
surprising to users.

It's doubtful that there are that many ext2-only root filesystem users
that would also have ext4 compiled into the kernel, but to adhere to
the principle of least surprise, the correct ordering in fs/Makefile
is ext3, followed by ext2, and finally ext4.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Remove duplicate call to ext4_commit_super() in ext4_freeze()
Theodore Ts'o [Sat, 28 Feb 2009 05:08:53 +0000 (00:08 -0500)]
ext4: Remove duplicate call to ext4_commit_super() in ext4_freeze()

Commit c4be0c1d added error checking to ext4_freeze() when calling
ext4_commit_super().  Unfortunately the patch failed to remove the
original call to ext4_commit_super(), with the net result that when
freezing the filesystem, the superblock gets written twice, the first
time without error checking.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agox86: don't compile vsmp_64 for 32bit
Yinghai Lu [Thu, 26 Feb 2009 05:20:50 +0000 (21:20 -0800)]
x86: don't compile vsmp_64 for 32bit

Impact: cleanup

that is only needed when CONFIG_X86_VSMP is defined with 64bit
also remove dead code about PCI, because CONFIG_X86_VSMP depends on PCI

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove update_apic from x86_quirks
Yinghai Lu [Thu, 26 Feb 2009 04:50:49 +0000 (20:50 -0800)]
x86: remove update_apic from x86_quirks

Impact: cleanup

x86_quirks->update_apic() calling looks crazy. so try to remove it:

 1. every apic take wakeup_cpu member directly
 2. separate es7000_apic to es7000_apic_cluster
 3. use uv_wakeup_cpu directly

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branches 'x86/apic', 'x86/defconfig', 'x86/memtest', 'x86/mm' and 'linus' into...
Ingo Molnar [Thu, 26 Feb 2009 05:31:32 +0000 (06:31 +0100)]
Merge branches 'x86/apic', 'x86/defconfig', 'x86/memtest', 'x86/mm' and 'linus' into x86/core

16 years agoMerge branches 'x86/urgent' and 'x86/pat' into x86/core
Ingo Molnar [Thu, 26 Feb 2009 05:31:23 +0000 (06:31 +0100)]
Merge branches 'x86/urgent' and 'x86/pat' into x86/core

Conflicts:
arch/x86/include/asm/pat.h

16 years agoMerge branch 'x86/urgent' into x86/core
Ingo Molnar [Thu, 26 Feb 2009 05:30:42 +0000 (06:30 +0100)]
Merge branch 'x86/urgent' into x86/core

Conflicts:
arch/x86/mach-voyager/voyager_smp.c

16 years agoMerge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc...
Ingo Molnar [Thu, 26 Feb 2009 03:22:20 +0000 (04:22 +0100)]
Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu

16 years agorcu: Teach RCU that idle task is not quiscent state at boot
Paul E. McKenney [Thu, 26 Feb 2009 02:03:42 +0000 (18:03 -0800)]
rcu: Teach RCU that idle task is not quiscent state at boot

This patch fixes a bug located by Vegard Nossum with the aid of
kmemcheck, updated based on review comments from Nick Piggin,
Ingo Molnar, and Andrew Morton.  And cleans up the variable-name
and function-name language.  ;-)

The boot CPU runs in the context of its idle thread during boot-up.
During this time, idle_cpu(0) will always return nonzero, which will
fool Classic and Hierarchical RCU into deciding that a large chunk of
the boot-up sequence is a big long quiescent state.  This in turn causes
RCU to prematurely end grace periods during this time.

This patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks()
function to ignore the idle task as a quiescent state until the
system has started up the scheduler in rest_init(), introducing a
new non-API function rcu_idle_now_means_idle() to inform RCU of this
transition.  RCU maintains an internal rcu_idle_cpu_truthful variable
to track this state, which is then used by rcu_check_callback() to
determine if it should believe idle_cpu().

Because this patch has the effect of disallowing RCU grace periods
during long stretches of the boot-up sequence, this patch also introduces
Josh Triplett's UP-only optimization that makes synchronize_rcu() be a
no-op if num_online_cpus() returns 1.  This allows boot-time code that
calls synchronize_rcu() to proceed normally.  Note, however, that RCU
callbacks registered by call_rcu() will likely queue up until later in
the boot sequence.  Although rcuclassic and rcutree can also use this
same optimization after boot completes, rcupreempt must restrict its
use of this optimization to the portion of the boot sequence before the
scheduler starts up, given that an rcupreempt RCU read-side critical
section may be preeempted.

In addition, this patch takes Nick Piggin's suggestion to make the
system_state global variable be __read_mostly.

Changes since v4:

o Changes the name of the introduced function and variable to
be less emotional.  ;-)

Changes since v3:

o WARN_ON(nr_context_switches() > 0) to verify that RCU
switches out of boot-time mode before the first context
switch, as suggested by Nick Piggin.

Changes since v2:

o Created rcu_blocking_is_gp() internal-to-RCU API that
determines whether a call to synchronize_rcu() is itself
a grace period.

o The definition of rcu_blocking_is_gp() for rcuclassic and
rcutree checks to see if but a single CPU is online.

o The definition of rcu_blocking_is_gp() for rcupreempt
checks to see both if but a single CPU is online and if
the system is still in early boot.

This allows rcupreempt to again work correctly if running
on a single CPU after booting is complete.

o Added check to rcupreempt's synchronize_sched() for there
being but one online CPU.

Tested all three variants both SMP and !SMP, booted fine, passed a short
rcutorture test on both x86 and Power.

Located-by: Vegard Nossum <vegard.nossum@gmail.com>
Tested-by: Vegard Nossum <vegard.nossum@gmail.com>
Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agopowerpc: Fix 64bit __copy_tofrom_user() regression
Mark Nelson [Wed, 25 Feb 2009 13:46:24 +0000 (13:46 +0000)]
powerpc: Fix 64bit __copy_tofrom_user() regression

This fixes a regression introduced by commit
a4e22f02f5b6518c1484faea1f88d81802b9feac ("powerpc: Update 64bit
__copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD").

The same bug that existed in the 64bit memcpy() also exists here so fix
it here too. The fix is the same as that applied to memcpy() with the
addition of fixes for the exception handling code required for
__copy_tofrom_user().

This stops us reading beyond the end of the source region we were told
to copy.

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc: Fix 64bit memcpy() regression
Mark Nelson [Wed, 25 Feb 2009 13:26:48 +0000 (13:26 +0000)]
powerpc: Fix 64bit memcpy() regression

This fixes a regression introduced by commit
25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 ("powerpc: Update 64bit memcpy()
using CPU_FTR_UNALIGNED_LD_STD").

This commit allowed CPUs that have the CPU_FTR_UNALIGNED_LD_STD CPU
feature bit present to do the memcpy() with unaligned load doubles. But,
along with this came a bug where our final load double would read bytes
beyond a page boundary and into the next (unmapped) page. This was caught
by enabling CONFIG_DEBUG_PAGEALLOC,

The fix was to read only the number of bytes that we need to store rather
than reading a full 8-byte doubleword and storing only a portion of that.

In order to minimise the amount of existing code touched we use the
original do_tail for the src_unaligned case.

Below is an example of the regression, as reported by Sachin Sant:

Unable to handle kernel paging request for data at address 0xc00000003f380000
Faulting instruction address: 0xc000000000039574
cpu 0x1: Vector: 300 (Data Access) at [c00000003baf3020]
    pc: c000000000039574: .memcpy+0x74/0x244
    lr: d00000000244916c: .ext3_xattr_get+0x288/0x2f4 [ext3]
    sp: c00000003baf32a0
   msr: 8000000000009032
   dar: c00000003f380000
 dsisr: 40000000
  current = 0xc00000003e54b010
  paca    = 0xc000000000a53680
    pid   = 1840, comm = readahead
enter ? for help
[link register   ] d00000000244916c .ext3_xattr_get+0x288/0x2f4 [ext3]
[c00000003baf32a0d000000002449104 .ext3_xattr_get+0x220/0x2f4 [ext3]
(unreliab
le)
[c00000003baf3390d00000000244a6e8 .ext3_xattr_security_get+0x40/0x5c [ext3]
[c00000003baf3400c000000000148154 .generic_getxattr+0x74/0x9c
[c00000003baf34a0c000000000333400 .inode_doinit_with_dentry+0x1c4/0x678
[c00000003baf3560c00000000032c6b0 .security_d_instantiate+0x50/0x68
[c00000003baf35e0c00000000013c818 .d_instantiate+0x78/0x9c
[c00000003baf3680c00000000013ced0 .d_splice_alias+0xf0/0x120
[c00000003baf3720d00000000243e05c .ext3_lookup+0xec/0x134 [ext3]
[c00000003baf37c0c000000000131e74 .do_lookup+0x110/0x260
[c00000003baf3880c000000000134ed0 .__link_path_walk+0xa98/0x1010
[c00000003baf3970c0000000001354a0 .path_walk+0x58/0xc4
[c00000003baf3a20c000000000135720 .do_path_lookup+0x138/0x1e4
[c00000003baf3ad0c00000000013645c .path_lookup_open+0x6c/0xc8
[c00000003baf3b70c000000000136780 .do_filp_open+0xcc/0x874
[c00000003baf3d10c0000000001251e0 .do_sys_open+0x80/0x140
[c00000003baf3dc0c00000000016aaec .compat_sys_open+0x24/0x38
[c00000003baf3e30c00000000000855c syscall_exit+0x0/0x40

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc: Fix load/store float double alignment handler
Michael Neuling [Thu, 19 Feb 2009 18:52:20 +0000 (18:52 +0000)]
powerpc: Fix load/store float double alignment handler

When we introduced VSX, we changed the way FPRs are stored in the
thread_struct.  Unfortunately we missed the load/store float double
alignment handler code when updating how we access FPRs in the
thread_struct.

Below fixes this and merges the little/big endian case.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>