]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years ago[SCSI] qla2xxx: Fix memory leak in error path
Anirban Chakraborty [Thu, 22 Jan 2009 17:45:28 +0000 (09:45 -0800)]
[SCSI] qla2xxx: Fix memory leak in error path

Reviewed-by: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] qla4xxx: do not reuse session when connecting to different target port
Mike Christie [Fri, 16 Jan 2009 18:36:52 +0000 (12:36 -0600)]
[SCSI] qla4xxx: do not reuse session when connecting to different target port

qla4xxx does not check the I_T nexus values correctly
so it ends up creating one session to the target. If
a portal should disappear or they should be reported
in different order the driver will think it is already
logged in when it could now be speaking to a different
target portal or accessing it through a different
initiator port (iscsi initiator port is not tied to
hardware and is just the initiator name plus isid
so you could end up with multiple ports through one
host).

This patch has the driver check the iscsi scsi port
values when matching sessions (we do not check
the initiator name because that is static). It results
in a portal from each target portal group getting
logged into instead of just one per target. In the future
the firmware should hopefully send us notification of other
sessions that are created to other portals within the
same tpgt and the sessions should have different isids.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] libiscsi: fix iscsi pool leak
Mike Christie [Fri, 16 Jan 2009 18:36:51 +0000 (12:36 -0600)]
[SCSI] libiscsi: fix iscsi pool leak

I am not sure what happened. It looks like we have always leaked
the q->queue that is allocated from the kfifo_init call. nab finally
noticed that we were leaking and this patch fixes it by adding a
kfree call to iscsi_pool_free. kfifo_free is not used per kfifo_init's
instructions to use kfree.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years agohrtimer: prevent negative expiry value after clock_was_set()
Thomas Gleixner [Sun, 25 Jan 2009 10:31:36 +0000 (11:31 +0100)]
hrtimer: prevent negative expiry value after clock_was_set()

Impact: prevent false positive WARN_ON() in clockevents_program_event()

clock_was_set() changes the base->offset of CLOCK_REALTIME and
enforces the reprogramming of the clockevent device to expire timers
which are based on CLOCK_REALTIME. If the clock change is large enough
then the subtraction of the timer expiry value and base->offset can
become negative which triggers the warning in
clockevents_program_event().

Check the subtraction result and set a negative value to 0.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17 years agoMerge branch 'linus' into timers/hrtimers
Thomas Gleixner [Sun, 25 Jan 2009 10:54:33 +0000 (11:54 +0100)]
Merge branch 'linus' into timers/hrtimers

17 years ago[NET] am79c961a: fix spin_lock usage
Uwe Kleine-König [Thu, 22 Jan 2009 22:29:42 +0000 (23:29 +0100)]
[NET] am79c961a: fix spin_lock usage

spin_lock functions take a pointer to the lock, not the lock itself.
This error was noticed by compiling ebsa110_defconfig for linux-rt where
the locking functions obviously are more picky about their arguments.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Roel Kluin <12o3l@tiscali.nl>
Cc: Steven Rostedt <srostedt@redhat.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agofirewire: core: optimize card shutdown
Stefan Richter [Sat, 24 Jan 2009 19:35:38 +0000 (20:35 +0100)]
firewire: core: optimize card shutdown

This fixes a regression by "firewire: keep highlevel drivers attached
during brief connection loss":  There were 2 seconds unnecessary waiting
added to the shutdown procedure of each controller.

We use card->link as status flag to signal the device handler that there
is no use to wait for a come-back.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years ago[ARM] omap: usb: thou shalt not provide empty release functions
Russell King [Sat, 24 Jan 2009 17:00:45 +0000 (17:00 +0000)]
[ARM] omap: usb: thou shalt not provide empty release functions

... for devices.  Doing so is a bug, plain and simple, and drives
GregKH round the bend.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms
Russell King [Sat, 24 Jan 2009 16:48:42 +0000 (16:48 +0000)]
[ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms

The driver was updated for OMAP34xx, but the Kconfig file was missed.
So this adds the missing parts from d99241c in Tony Lindgren's tree:

    Add watchdog timer support for TI OMAP3430.

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3
Madhusudhan Chikkature [Fri, 23 Jan 2009 00:05:23 +0000 (01:05 +0100)]
[ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3

Add omap hsmmc controller for 2430 and 34xx.

Note that this controller has different registers compared to
the earlier omap MMC controller, so sharing code currently is
not possible.

Various updates and fixes from linux-omap list have been
merged into this patch.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] clkdev: fix clock matching
Russell King [Sat, 24 Jan 2009 10:14:37 +0000 (10:14 +0000)]
[ARM] clkdev: fix clock matching

The old matching algorithm was too fuzzy, causing false positives.
For example, when asked for device D connection C1 and we only find
device D connection C2, we return that as a valid match despite the
connection names being different.

Change the algorithm such that:
  An entry with a NULL ID is assumed to be a wildcard.
  If an entry has a device ID, it must match
  If an entry has a connection ID, it must match

However, we maintain the order of precidence while still only doing
a single pass over all entries: dev+con > dev only > con only.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 5370/1: at91: fix rm9200 watchdog
Jean-Christop PLAGNIOL-VILLARD [Fri, 23 Jan 2009 09:06:07 +0000 (10:06 +0100)]
[ARM] 5370/1: at91: fix rm9200 watchdog

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix
David Brownell [Sun, 18 Jan 2009 16:29:10 +0000 (17:29 +0100)]
[ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix

From: David Brownell <dbrownell@users.sourceforge.net>
Subject: ARM/mach-davinci/usb.c buildfix

  CC      arch/arm/mach-davinci/usb.o
arch/arm/mach-davinci/usb.c:60: error: 'IRQ_USBINT' undeclared here (not in a function)
make[1]: *** [arch/arm/mach-davinci/usb.o] Error 1

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 5365/1: s3cmci: Use new include path of dma.h
Ramax Lo [Wed, 14 Jan 2009 01:13:47 +0000 (02:13 +0100)]
[ARM] 5365/1: s3cmci: Use new include path of dma.h

Since dma.h has been moved to arch/arm/mach-s3c2410/include/mach,
use the new include path.

Signed-off-by: Ramax Lo <ramaxlo@gmail.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] fix StrongARM-11x0 page copy implementation
Russell King [Sun, 18 Jan 2009 16:24:19 +0000 (16:24 +0000)]
[ARM] fix StrongARM-11x0 page copy implementation

Which had the 'from' and 'to' pages reversed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] omap: ensure OMAP drivers pass a struct device to clk_get()
Russell King [Sun, 18 Jan 2009 12:52:38 +0000 (12:52 +0000)]
[ARM] omap: ensure OMAP drivers pass a struct device to clk_get()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorder...
Stefan Richter [Tue, 20 Jan 2009 18:09:58 +0000 (19:09 +0100)]
ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others

Camcorders have a tendency to fail read requests to their config ROM and
write request to their FCP command register with ack_busy_X.  This has
become a problem with newer kernels and especially Panasonic camcorders,
causing AV/C in dvgrab and kino to fail.  Dvgrab for example frequently
logs "send oops"; kino reports loss of AV/C control.  I suspect that
lower CPU scheduling latencies in newer kernels made this issue more
prominent now.

According to
https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103
this can be fixed by configuring the FireWire controller for more
hardware retries for request transmission; these retries are evidently
more successful than libavc1394's own retry loop (typically 3 tries on
top of hardware retries).

Presumably the same issue has been reported at
https://bugzilla.redhat.com/show_bug.cgi?id=449252 and
https://bugzilla.redhat.com/show_bug.cgi?id=477279 .

Tested-by: Mathias Beilstein
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agofirewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic camcorders...
Stefan Richter [Tue, 20 Jan 2009 18:10:58 +0000 (19:10 +0100)]
firewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others

Camcorders have a tendency to fail read requests to their config ROM and
write request to their FCP command register with ack_busy_X.  This has
become a problem with newer kernels and especially Panasonic camcorders,
causing AV/C in dvgrab and kino to fail.  Dvgrab for example frequently
logs "send oops"; kino reports loss of AV/C control.  I suspect that
lower CPU scheduling latencies in newer kernels made this issue more
prominent now.

According to
https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103
this can be fixed by configuring the FireWire controller for more
hardware retries for request transmission; these retries are evidently
more successful than libavc1394's own retry loop (typically 3 tries on
top of hardware retries).

Presumably the same issue has been reported at
https://bugzilla.redhat.com/show_bug.cgi?id=449252 and
https://bugzilla.redhat.com/show_bug.cgi?id=477279 .

In a quick test with a JVC camcorder (which didn't malfunction like the
reported camcorders), this change decreased the number of ack_busy_X
from 16 in three runs of dvgrab to 4 in three runs of the same capture
duration.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agofirewire: ohci: change "context_stop: still active" log message
Stefan Richter [Mon, 5 Jan 2009 19:43:23 +0000 (20:43 +0100)]
firewire: ohci: change "context_stop: still active" log message

The present message is mostly just noise.  We only need to be notified
if the "active" flag does not go off before the retry loop terminates.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agocom20020: Fix allyesconfig build failure.
David S. Miller [Sat, 24 Jan 2009 06:28:48 +0000 (22:28 -0800)]
com20020: Fix allyesconfig build failure.

Reported by Stephen Rothwell.

Due to missing 'extern' in the com20020_netdev_ops declaration,
each file that includes linux/com20020.h gets another copy
defined in it's resulting object file.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agox86: filter CPU features dependent on unavailable CPUID levels
H. Peter Anvin [Sat, 24 Jan 2009 01:20:50 +0000 (17:20 -0800)]
x86: filter CPU features dependent on unavailable CPUID levels

Impact: Fixes potential crashes on misconfigured systems.

Some CPU features require specific CPUID levels to be available in
order to function, as they contain information about the operation of
a specific feature.  However, some BIOSes and virtualization software
provide the ability to mask CPUID levels in order to support legacy
operating systems.  We try to enable such CPUID levels when we know
how to do it, but for the remaining cases, filter out such CPU
features when there is no way for us to support them.

Do this in one place, in the CPUID code, with a table-driven approach.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
17 years agox86: handle PAT more like other CPU features
H. Peter Anvin [Fri, 23 Jan 2009 00:17:05 +0000 (16:17 -0800)]
x86: handle PAT more like other CPU features

Impact: Cleanup

When PAT was originally introduced, it was handled specially for a few
reasons:

- PAT bugs are hard to track down, so we wanted to maintain a
  whitelist of CPUs.
- The i386 and x86-64 CPUID code was not yet unified.

Both of these are now obsolete, so handle PAT like any other features,
including ordinary feature blacklisting due to known bugs.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
17 years agox86: clean up stray space in <asm/processor.h>
H. Peter Anvin [Sat, 24 Jan 2009 01:18:52 +0000 (17:18 -0800)]
x86: clean up stray space in <asm/processor.h>

Impact: Whitespace cleanup only

Clean up a stray space character in arch/x86/include/asm/processor.h.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
17 years agox86: ia32_signal: use {get|put}_user_try and catch
Hiroshi Shimamoto [Fri, 23 Jan 2009 23:50:38 +0000 (15:50 -0800)]
x86: ia32_signal: use {get|put}_user_try and catch

Impact: use new framework

Use {get|put}_user_try, catch, and _ex in arch/x86/ia32/ia32_signal.c.

Note: this patch contains "WARNING: line over 80 characters", because when
introducing new block I insert an indent to avoid mistakes by edit.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
17 years agox86: signal: use {get|put}_user_try and catch
Hiroshi Shimamoto [Fri, 23 Jan 2009 23:50:10 +0000 (15:50 -0800)]
x86: signal: use {get|put}_user_try and catch

Impact: use new framework

Use {get|put}_user_try, catch, and _ex in arch/x86/kernel/signal.c.

Note: this patch contains "WARNING: line over 80 characters", because when
introducing new block I insert an indent to avoid mistakes by edit.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
17 years agox86: uaccess: introduce try and catch framework
Hiroshi Shimamoto [Fri, 23 Jan 2009 23:49:41 +0000 (15:49 -0800)]
x86: uaccess: introduce try and catch framework

Impact: introduce new uaccess exception handling framework

Introduce {get|put}_user_try and {get|put}_user_catch as new uaccess exception
handling framework.
{get|put}_user_try begins exception block and {get|put}_user_catch(err) ends
the block and gets err if an exception occured in {get|put}_user_ex() in the
block. The exception is stored thread_info->uaccess_err.

The example usage of this framework is below;
int func()
{
int err = 0;

get_user_try {
get_user_ex(...);
get_user_ex(...);
:
} get_user_catch(err);

return err;
}

Note: get_user_ex() is not clear the value when an exception occurs, it's
different from the behavior of __get_user(), but I think it doesn't matter.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
17 years agoASoC: improve I2C initialization code in CS4270 driver
Timur Tabi [Fri, 23 Jan 2009 22:31:19 +0000 (16:31 -0600)]
ASoC: improve I2C initialization code in CS4270 driver

Further improvements in the I2C initialization sequence of the CS4270 driver.
All ASoC initialization is now done in the I2C probe function.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agortl8187: Add termination packet to prevent stall
Larry Finger [Fri, 23 Jan 2009 17:46:32 +0000 (11:46 -0600)]
rtl8187: Add termination packet to prevent stall

The RTL8187 and RTL8187B devices can stall unless an explicit termination
packet is sent.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: fix rs_get_rate WARN_ON()
Abbas, Mohamed [Wed, 21 Jan 2009 18:58:02 +0000 (10:58 -0800)]
iwlwifi: fix rs_get_rate WARN_ON()

In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS]
this is filled with all support rate from assoc_resp.  If we associate
with G-band AP only supp_rates of G-band will be set the other band
supp_rates will be set to 0. If the user type this command
this will cause mac80211 to set to new channel, mac80211
does not disassociate in setting new channel, so the active
band is now A-band. then in handling the new essid mac80211 will
kick in the assoc steps which involve sending disassociation frame.
in this mac80211 will WARN_ON sta->supp_rates[A_BAND] == 0.

This fixes:
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822
http://www.kerneloops.org/searchweek.php?search=rs_get_rate

Signed-off-by: mohamed abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54usb: fix packet loss with first generation devices
Christian Lamparter [Tue, 20 Jan 2009 22:11:21 +0000 (23:11 +0100)]
p54usb: fix packet loss with first generation devices

Artur Skawina confirmed that the first generation devices needs the same
URB_ZERO_PACKET flag, in oder to finish the pending transfer properly.
The second generation has been successfully fixed by
"p54usb: fix random traffic stalls (LM87)" (43af18f06d5)

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoxen: handle highmem pages correctly when shrinking a domain
Ian Campbell [Fri, 23 Jan 2009 16:26:21 +0000 (16:26 +0000)]
xen: handle highmem pages correctly when shrinking a domain

Commit 1058a75f07b9bb8323fb5197be5526220f8b75cf ("xen: actually release
memory when shrinking domain") causes a crash if the page being released
is a highmem page.

If a page is highmem then there is no need to unmap it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, mm: fix pte_free()
Peter Zijlstra [Fri, 23 Jan 2009 16:37:49 +0000 (17:37 +0100)]
x86, mm: fix pte_free()

On -rt we were seeing spurious bad page states like:

Bad page state in process 'firefox'
page:c1bc2380 flags:0x40000000 mapping:c1bc2390 mapcount:0 count:0
Trying to fix it up, but a reboot is needed
Backtrace:
Pid: 503, comm: firefox Not tainted 2.6.26.8-rt13 #3
[<c043d0f3>] ? printk+0x14/0x19
[<c0272d4e>] bad_page+0x4e/0x79
[<c0273831>] free_hot_cold_page+0x5b/0x1d3
[<c02739f6>] free_hot_page+0xf/0x11
[<c0273a18>] __free_pages+0x20/0x2b
[<c027d170>] __pte_alloc+0x87/0x91
[<c027d25e>] handle_mm_fault+0xe4/0x733
[<c043f680>] ? rt_mutex_down_read_trylock+0x57/0x63
[<c043f680>] ? rt_mutex_down_read_trylock+0x57/0x63
[<c0218875>] do_page_fault+0x36f/0x88a

This is the case where a concurrent fault already installed the PTE and
we get to free the newly allocated one.

This is due to pgtable_page_ctor() doing the spin_lock_init(&page->ptl)
which is overlaid with the {private, mapping} struct.

union {
    struct {
        unsigned long private;
        struct address_space *mapping;
    };
    spinlock_t ptl;
    struct kmem_cache *slab;
    struct page *first_page;
};

Normally the spinlock is small enough to not stomp on page->mapping, but
PREEMPT_RT=y has huge 'spin'locks.

But lockdep kernels should also be able to trigger this splat, as the
lock tracking code grows the spinlock to cover page->mapping.

The obvious fix is calling pgtable_page_dtor() like the regular pte free
path __pte_free_tlb() does.

It seems all architectures except x86 and nm10300 already do this, and
nm10300 doesn't seem to use pgtable_page_ctor(), which suggests it
doesn't do SMP or simply doesnt do MMU at all or something.

Signed-off-by: Peter Zijlstra <a.p.zijlsta@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
17 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Fri, 23 Jan 2009 17:14:25 +0000 (18:14 +0100)]
Merge branch 'fix/asoc' into for-linus

17 years ago[S390] Add missing compat system call wrappers.
Michael Holzheu [Fri, 23 Jan 2009 15:40:27 +0000 (16:40 +0100)]
[S390] Add missing compat system call wrappers.

Add wrapper functions for the following compat system calls:
* readahead
* sendfile64
* tkill
* tgkill
* keyctl
This ensures that the high order bits of the parameter registers are correctly
sign extended.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] etr/stp: fix possible deadlock
Heiko Carstens [Fri, 23 Jan 2009 15:40:26 +0000 (16:40 +0100)]
[S390] etr/stp: fix possible deadlock

Precreate stop_machine threads in case the machine supports ETR/STP.
Otherwise we might deadlock if a time sync operation gets scheduled
and the creation of stop_machine threads would cause disk I/O.
This is just the minimal fix.
The real fix would be to only precreate stop_machine threads if
ETR/STP is actually used. But that would be a rather large and
complicated patch.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cputime: fix lowcore initialization on cpu hotplug
Heiko Carstens [Fri, 23 Jan 2009 15:40:25 +0000 (16:40 +0100)]
[S390] cputime: fix lowcore initialization on cpu hotplug

On (initial) cpu hotplug the lowcore values for user_timer and
system_timer don't get initialized like they would get on each
process schedule.
On initial start of secondary cpus this leads to the situation
where per thread user/system_timer values are larger than the
corresponding contents of the lowcore. When later calculating
time spent in user/system context the result can be negative.

So for cpu hotplug we should manually initialize lowcore values.

Fixes this bug:

Kernel BUG at 000ec080 [verbose debug info unavailable]
fixpoint divide exception: 0009 [#1] PREEMPT SMP
Modules linked in:
CPU: 10 Not tainted 2.6.28 #4
Process sysctl (pid: 975, task: 3fa752e0, ksp: 3fbebca0)
Krnl PSW : 070c1000 800ec080 (show_stat+0x390/0x5fc)
           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0
Krnl GPRS: 7fffffff fefc7ce5 3faec080 003879ae
           00000001 01388000 7fffffff 01388000
           00000000 00000000 0049ad50 3fbebcf8
           01388000 002f51a8 800ec1fe 3fbebcf8
Krnl Code: 800ec0769001b188           stm     %r0,%r1,392(%r11)
           800ec07a9801b0c0           lm      %r0,%r1,192(%r11)
           800ec07e: 1d05               dr      %r0,%r5
          >800ec0809001b0c0           stm     %r0,%r1,192(%r11)
           800ec0845860b0c4           l       %r6,196(%r11)
           800ec088: 1806               lr      %r0,%r6
           800ec08a8c800001           srdl    %r8,1
           800ec08e: 1d87               dr      %r8,%r7
Call Trace:
([<00000000000ec1ee>] show_stat+0x4fe/0x5fc)
 [<00000000000c13e8>] seq_read+0xc4/0x3ac
 [<00000000000e4796>] proc_reg_read+0x6e/0x9c
 [<00000000000a6a44>] vfs_read+0x78/0x100
 [<00000000000a6ba8>] sys_read+0x40/0x80
 [<00000000000234a8>] sysc_do_restart+0x1a/0x1e

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] fix compat sigaltstack syscall table entry
Michael Holzheu [Fri, 23 Jan 2009 15:40:24 +0000 (16:40 +0100)]
[S390] fix compat sigaltstack syscall table entry

When 31 bit user space programs call sigaltstack on a 64 bit Linux
OS, the system call returns -1 with errno=EFAULT. The 31 bit pointer passed
to the system call is extended to 64 bit, but the high order bits are not
set to zero. The kernel detects the invalid user space pointer and
returns -EFAULT. To solve the problem, sys32_sigaltstack_wrapper()
instead of sys32_sigaltstack() has to be called. The wrapper function sets
the high order bits to zero.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] personality: fix personality loss on execve
Heiko Carstens [Fri, 23 Jan 2009 15:40:23 +0000 (16:40 +0100)]
[S390] personality: fix personality loss on execve

Use the personality() macro to mask out all bits that are not
relevant for the personality type.
The personality field contains bits for other things as well,
so without masking out the not relevalent bits the comparison
won't do what is expected.

Reported-by: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years agoASoC: Fix L3 bus handling in Kconfig
Mark Brown [Fri, 23 Jan 2009 15:34:54 +0000 (15:34 +0000)]
ASoC: Fix L3 bus handling in Kconfig

It has no external dependencies but needs to be selected for L3 based
codecs to work.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Include header file in cs4270 and wm9705
Mark Brown [Fri, 23 Jan 2009 15:07:45 +0000 (15:07 +0000)]
ASoC: Include header file in cs4270 and wm9705

Ensures that the DAI and socdev exported by the codec match up with
their exported prototype.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Fri, 23 Jan 2009 15:02:08 +0000 (15:02 +0000)]
Merge branch 'for-2.6.29' into for-2.6.30

17 years agoASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h
Peter Ujfalusi [Fri, 23 Jan 2009 08:08:35 +0000 (10:08 +0200)]
ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h

Typo fix.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Fix spurious codec driver dependencies
Mark Brown [Fri, 23 Jan 2009 14:53:58 +0000 (14:53 +0000)]
ASoC: Fix spurious codec driver dependencies

Kbuild ignores dependency from things that are themselves selected so
ASoC machine drivers need to ensure that the control bus is being built.
This also avoids issues where multiple buses are supported by a given
codec.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agopowerpc/4xx: Update multi-board PowerPC 4xx defconfigs
Josh Boyer [Fri, 23 Jan 2009 13:57:19 +0000 (08:57 -0500)]
powerpc/4xx: Update multi-board PowerPC 4xx defconfigs

Update the multi-board configs for 2.6.29-rc2

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years agoALSA: pcxhr - add support for gpio ports and minor bug fix
Markus Bollinger [Fri, 23 Jan 2009 13:45:41 +0000 (14:45 +0100)]
ALSA: pcxhr - add support for gpio ports and minor bug fix

- add support for gpio ports (2 GPI, 2 GPO) of pcxhr stereo cards
- minor bugfixes : allow setting clock to internal by the mixer
                   even if there is no stream (but monitoring)

Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agopowerpc/44x: Update PowerPC 44x defconfigs
Josh Boyer [Tue, 20 Jan 2009 18:03:05 +0000 (13:03 -0500)]
powerpc/44x: Update PowerPC 44x defconfigs

Update the 44x defconfigs for 2.6.29-rc2

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years agoALSA: hda - Fix wrong initial verb for AD1984 thinkpad model
Takashi Iwai [Fri, 23 Jan 2009 13:18:11 +0000 (14:18 +0100)]
ALSA: hda - Fix wrong initial verb for AD1984 thinkpad model

The docking mic-boost (0x25) has no mute bit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agouwb: lock rc->rsvs_lock with spin_lock_bh()
David Vrabel [Fri, 23 Jan 2009 12:57:20 +0000 (12:57 +0000)]
uwb: lock rc->rsvs_lock with spin_lock_bh()

rc->rsvs_lock may be taken in a timer so lock it with spin_lock_bh().

Signed-off-by: David Vrabel <david.vrabel@csr.com>
17 years agoALSA: hda - Fix invalid amp init for ALC268 codec
Takashi Iwai [Fri, 23 Jan 2009 11:53:09 +0000 (12:53 +0100)]
ALSA: hda - Fix invalid amp init for ALC268 codec

Fix some invalid AMP initializations for ALC268 codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoASoC: Configure SSP port PLL for Zylonite
Mark Brown [Fri, 23 Jan 2009 11:49:45 +0000 (11:49 +0000)]
ASoC: Configure SSP port PLL for Zylonite

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h
Mark Brown [Fri, 23 Jan 2009 11:40:26 +0000 (11:40 +0000)]
ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h

pxa-regs.h and hardware.h are not intended for use directly in driver
code and references to them have been removed in other code - remove
them from the newly added e740 and e750 machine drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoALSA: hda - Fix invalid verbs for mic-boosts on AD1884*
Takashi Iwai [Fri, 23 Jan 2009 11:37:09 +0000 (12:37 +0100)]
ALSA: hda - Fix invalid verbs for mic-boosts on AD1884*

The mic-boosts (0x14 and 0x15) on AD1884* codecs are input-amps,
not output-amps.  Fix the invalid initialization verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Remove invalid amp initializations for AD1988* codecs
Takashi Iwai [Fri, 23 Jan 2009 11:35:25 +0000 (12:35 +0100)]
ALSA: hda - Remove invalid amp initializations for AD1988* codecs

The ADC widgets on AD1988* codecs have no amp controls.
Remove invalid initialization verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Fix initial verbs for mic-boosts on AD1981HD
Takashi Iwai [Fri, 23 Jan 2009 11:33:54 +0000 (12:33 +0100)]
ALSA: hda - Fix initial verbs for mic-boosts on AD1981HD

The mic boosts (NID 0x08 and 0x18) are input-amps, not output-amps.
Fix the initial verbs for them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoASoC: Fix merge with PXA tree
Mark Brown [Fri, 23 Jan 2009 11:23:32 +0000 (11:23 +0000)]
ASoC: Fix merge with PXA tree

Fix a merge issue caused by context overlap.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: remove stand-alone mode support from CS4270 codec driver
Timur Tabi [Fri, 23 Jan 2009 00:23:39 +0000 (18:23 -0600)]
ASoC: remove stand-alone mode support from CS4270 codec driver

The CS4270 supports stand-alone mode, where the codec is not connect to the
I2C or SPI buses.  Instead, input voltages configure the codec at power-on.
The CS4270 ASoC device driver has partial support for this mode, but the
code was never tested, and partial support doesn't help anyone.  It also made
the rest of the code more complicated than necessary.

[Removed redundant CS4270 dependency on I2C -- broonie]

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agox86: rename arch/x86/kernel/pci-swiotlb_64.c => pci-swiotlb.c
Ian Campbell [Fri, 23 Jan 2009 10:56:16 +0000 (10:56 +0000)]
x86: rename arch/x86/kernel/pci-swiotlb_64.c => pci-swiotlb.c

The file is used for 32 and 64 bit since:

  commit cfb80c9eae8c7ed8f2ee81090062d15ead51cbe8
  Author: Jeremy Fitzhardinge <jeremy@goop.org>
  Date:   Tue Dec 16 12:17:36 2008 -0800

    x86: unify pci iommu setup and allow swiotlb to compile for 32 bit

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: hda - Create "Input Source" control dynamically for STAC/IDT
Takashi Iwai [Fri, 23 Jan 2009 10:57:22 +0000 (11:57 +0100)]
ALSA: hda - Create "Input Source" control dynamically for STAC/IDT

Instead of fixed kcontrol_new element, build "Input Source" controls
dynamically.  If the number of input-source items is 0 or 1, we don't
need to create such a control.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 23 Jan 2009 10:55:52 +0000 (11:55 +0100)]
Merge branch 'fix/hda' into topic/hda

17 years agoALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs
Takashi Iwai [Fri, 23 Jan 2009 10:55:42 +0000 (11:55 +0100)]
ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs

The reference NID for the analog outputs of STAC/IDT codecs is set
to a fixed number 0x02.  But this isn't always correct and in many
codecs it points to a non-existing NID.

This patch fixes the initialization of the PCM reference NID taken
from the actually probed DAC list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agotracing/function-graph-tracer: various fixes and features
Frederic Weisbecker [Fri, 23 Jan 2009 01:04:53 +0000 (17:04 -0800)]
tracing/function-graph-tracer: various fixes and features

This patch brings various bugfixes:

- Drop the first irrelevant task switch on the very beginning of a trace.

- Drop the OVERHEAD word from the headers, the DURATION word is sufficient
  and will not overlap other columns.

- Make the headers fit well their respective columns whatever the
  selected options.

Ie, default options:

 # tracer: function_graph
 #
 # CPU  DURATION                  FUNCTION CALLS
 # |     |   |                     |   |   |   |

  1)   0.646 us    |                    }
  1)               |                    mem_cgroup_del_lru_list() {
  1)   0.624 us    |                      lookup_page_cgroup();
  1)   1.970 us    |                    }

 echo funcgraph-proc > trace_options

 # tracer: function_graph
 #
 # CPU  TASK/PID        DURATION                  FUNCTION CALLS
 # |    |    |           |   |                     |   |   |   |

  0)   bash-2937    |   0.895 us    |                }
  0)   bash-2937    |   0.888 us    |                __rcu_read_unlock();
  0)   bash-2937    |   0.864 us    |                conv_uni_to_pc();
  0)   bash-2937    |   1.015 us    |                __rcu_read_lock();

 echo nofuncgraph-cpu > trace_options
 echo nofuncgraph-proc > trace_options

 # tracer: function_graph
 #
 #   DURATION                  FUNCTION CALLS
 #    |   |                     |   |   |   |

   3.752 us    |                  native_pud_val();
   0.616 us    |                  native_pud_val();
   0.624 us    |                  native_pmd_val();

About features, one can now disable the duration (this will hide the
overhead too for convenient reasons and because on  doesn't need
overhead if it hasn't the duration):

 echo nofuncgraph-duration > trace_options

 # tracer: function_graph
 #
 #                FUNCTION CALLS
 #                |   |   |   |

           cap_vm_enough_memory() {
             __vm_enough_memory() {
               vm_acct_memory();
             }
           }
         }

And at last, an option to print the absolute time:

 //Restart from default options
 echo funcgraph-abstime > trace_options

 # tracer: function_graph
 #
 #      TIME       CPU  DURATION                  FUNCTION CALLS
 #       |         |     |   |                     |   |   |   |

   261.339774 |   1) + 42.823 us   |    }
   261.339775 |   1)   1.045 us    |    _spin_lock_irq();
   261.339777 |   1)   0.940 us    |    _spin_lock_irqsave();
   261.339778 |   1)   0.752 us    |    _spin_unlock_irqrestore();
   261.339780 |   1)   0.857 us    |    _spin_unlock_irq();
   261.339782 |   1)               |    flush_to_ldisc() {
   261.339783 |   1)               |      tty_ldisc_ref() {
   261.339783 |   1)               |        tty_ldisc_try() {
   261.339784 |   1)   1.075 us    |          _spin_lock_irqsave();
   261.339786 |   1)   0.842 us    |          _spin_unlock_irqrestore();
   261.339788 |   1)   4.211 us    |        }
   261.339788 |   1)   5.662 us    |      }

The format is seconds.usecs.

I guess no one needs the nanosec precision here, the main goal is to have
an overview about the general timings of events, and to see the place when
the trace switches from one cpu to another.

ie:

   274.874760 |   1)   0.676 us    |      _spin_unlock();
   274.874762 |   1)   0.609 us    |      native_load_sp0();
   274.874763 |   1)   0.602 us    |      native_load_tls();
   274.878739 |   0)   0.722 us    |                  }
   274.878740 |   0)   0.714 us    |                  native_pmd_val();
   274.878741 |   0)   0.730 us    |                  native_pmd_val();

Here there is a 4000 usecs difference when we switch the cpu.

Changes in V2:

- Completely fix the first pointless task switch.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotrace, lockdep: manual preempt count adding for local_bh_disable
Steven Rostedt [Fri, 23 Jan 2009 00:01:40 +0000 (19:01 -0500)]
trace, lockdep: manual preempt count adding for local_bh_disable

Impact: fix to preempt trace triggering lockdep check_flag failure

In local_bh_disable, the use of add_preempt_count causes the
preempt tracer to start recording the time preemption is off.
But because it already modified the preempt_count to show
softirqs disabled, and before it called the lockdep code to
handle this, it causes a state that lockdep can not handle.

The preempt tracer will reset the ring buffer on start of a trace,
and the ring buffer reset code does a spin_lock_irqsave. This
calls into lockdep and lockdep will fail when it detects the
invalid state of having softirqs disabled but the internal
current->softirqs_enabled is still set.

The fix is to manually add the SOFTIRQ_OFFSET to preempt count
and call the preempt tracer code outside the lockdep critical
area.

Thanks to Peter Zijlstra for suggesting this solution.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotrace: fix logic to start/stop counting
Steven Rostedt [Thu, 22 Jan 2009 19:26:15 +0000 (14:26 -0500)]
trace: fix logic to start/stop counting

The logic in the tracing_start/stop code prevents the WARN_ON
from ever detecting if a start/stop pair was mismatched.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotrace: remove internal irqsoff disabling for trace output
Steven Rostedt [Thu, 22 Jan 2009 16:18:06 +0000 (11:18 -0500)]
trace: remove internal irqsoff disabling for trace output

Impact: cleanup of duplicate features

The trace output disables the ring buffer and prevents tracing to
occur. The code in irqsoff to do the same thing is no longer needed.
This patch removes it.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'tracing/ftrace' into tracing/core
Ingo Molnar [Fri, 23 Jan 2009 10:10:03 +0000 (11:10 +0100)]
Merge branch 'tracing/ftrace' into tracing/core

17 years agox86, xen: fix hardirq.h merge fallout
Ingo Molnar [Fri, 23 Jan 2009 10:09:15 +0000 (11:09 +0100)]
x86, xen: fix hardirq.h merge fallout

Impact: build fix

This build error:

 arch/x86/xen/suspend.c:22: error: implicit declaration of function 'fix_to_virt'
 arch/x86/xen/suspend.c:22: error: 'FIX_PARAVIRT_BOOTMAP' undeclared (first use in this function)
 arch/x86/xen/suspend.c:22: error: (Each undeclared identifier is reported only once
 arch/x86/xen/suspend.c:22: error: for each function it appears in.)

triggers because the hardirq.h unification removed an implicit fixmap.h
include - on which arch/x86/xen/suspend.c depended. Add the fixmap.h
include explicitly.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc...
Ingo Molnar [Fri, 23 Jan 2009 09:06:18 +0000 (10:06 +0100)]
Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu

17 years agoALSA: hda - Add model=ref for Intel board with STAC9221
Takashi Iwai [Fri, 23 Jan 2009 08:09:43 +0000 (09:09 +0100)]
ALSA: hda - Add model=ref for Intel board with STAC9221

An intel board (8086:0204) works only with model=ref.

Reference: Novell bug #406529
https://bugzilla.novell.com/show_bug.cgi?id=406529

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoe1000e: drop lltx, remove unnecessary lock
Jesse Brandeburg [Mon, 19 Jan 2009 14:17:08 +0000 (14:17 +0000)]
e1000e: drop lltx, remove unnecessary lock

LLTX is deprecated and complicated, don't use it.  It was observed by Don Ash
<donash4@gmail.com> that e1000e was acquiring this lock in the NAPI cleanup
path.  This is obviously a bug, as this is a leftover from when e1000
supported multiple tx queues and fake netdevs.

another user reported this to us and tested routing with the 2.6.27 kernel and
this patch and reported a 3.5 % improvement in packets forwarded in a
multi-port test on 82571 parts.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Fri, 23 Jan 2009 07:13:52 +0000 (08:13 +0100)]
Merge branch 'fix/hda' into for-linus

17 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Fri, 23 Jan 2009 07:13:49 +0000 (08:13 +0100)]
Merge branch 'fix/asoc' into for-linus

17 years agoALSA: hda: add reference board SND_PCI_QUIRK
Matthew Ranostay [Fri, 23 Jan 2009 03:55:44 +0000 (22:55 -0500)]
ALSA: hda: add reference board SND_PCI_QUIRK

Add another LanParty reference board SND_PCI_QUIRK to quirk lists of
all codec families.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoAdd PCI DFI vendor ID
Matthew Ranostay [Wed, 21 Jan 2009 22:45:12 +0000 (17:45 -0500)]
Add PCI DFI vendor ID

Add a define for DFI PCI vendor id.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 23 Jan 2009 07:07:51 +0000 (08:07 +0100)]
Merge branch 'fix/hda' into topic/hda

17 years agoALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
Matthew Ranostay [Fri, 23 Jan 2009 01:53:29 +0000 (20:53 -0500)]
ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk

Some revisions of the 92hd8xxx codec's not supporting port power
downs in which the using of it causes capture and also randomly
playback streams to not function at all. Thus by disabling it by
default and adding a option to enable it manually will fix all issue
on current and future revisions.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda: revert change to 92hd83xxx power mapping
Matthew Ranostay [Fri, 23 Jan 2009 01:38:42 +0000 (20:38 -0500)]
ALSA: hda: revert change to 92hd83xxx power mapping

Port 0xe power mapping was incorrect set to 0x80 changed to the correct
value 0x40.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoDisable linux-omap version of menelaus
Kalle Valo [Thu, 22 Jan 2009 13:19:20 +0000 (15:19 +0200)]
Disable linux-omap version of menelaus

Fixes linker errors like this:

drivers/i2c/built-in.o: In function `menelaus_set_vdcdc':
lp5521.c:(.text+0x3910): multiple definition of `menelaus_set_vdcdc'
drivers/mfd/built-in.o:menelaus.c:(.text+0x95c): first defined here
drivers/i2c/built-in.o: In function `menelaus_set_vio':
lp5521.c:(.text+0x3990): multiple definition of `menelaus_set_vio'

Also remove drivers/i2c/chips/menelaus.c.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agon800-bt: include board-nokia.h
Kalle Valo [Thu, 22 Jan 2009 13:19:06 +0000 (15:19 +0200)]
n800-bt: include board-nokia.h

Fixes compilation error:

arch/arm/mach-omap2/board-n800-bt.c: In function 'n800_bt_init':
arch/arm/mach-omap2/board-n800-bt.c:36: error: 'OMAP_TAG_NOKIA_BT' undeclared (first use in this function)
arch/arm/mach-omap2/board-n800-bt.c:36: error: (Each undeclared identifier is reported only once
arch/arm/mach-omap2/board-n800-bt.c:36: error: for each function it appears in.)
arch/arm/mach-omap2/board-n800-bt.c:36: error: invalid application of 'sizeof' to incomplete type 'struct omap_bluetooth_config'

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agox86: make irq_cpustat_t fields conditional
Brian Gerst [Fri, 23 Jan 2009 02:03:32 +0000 (11:03 +0900)]
x86: make irq_cpustat_t fields conditional

Impact: shrink size of irq_cpustat_t when possible

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: merge hardirq_{32,64}.h into hardirq.h
Brian Gerst [Fri, 23 Jan 2009 02:03:31 +0000 (11:03 +0900)]
x86: merge hardirq_{32,64}.h into hardirq.h

Impact: cleanup

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: sync hardirq_{32,64}.h
Brian Gerst [Fri, 23 Jan 2009 02:03:31 +0000 (11:03 +0900)]
x86: sync hardirq_{32,64}.h

Impact: better code generation and removal of unused field for 32bit

In general, use the 64-bit version.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: remove include of apic.h from hardirq_64.h
Brian Gerst [Fri, 23 Jan 2009 02:03:29 +0000 (11:03 +0900)]
x86: remove include of apic.h from hardirq_64.h

Impact: cleanup

APIC definitions aren't needed here.  Remove the include and fix
up the fallout.

tj: added include to mce_intel_64.c.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: remove idle_timestamp from 32bit irq_cpustat_t
Brian Gerst [Fri, 23 Jan 2009 02:03:28 +0000 (11:03 +0900)]
x86: remove idle_timestamp from 32bit irq_cpustat_t

Impact: bogus irq_cpustat field removed

idle_timestamp is left over from the removed irqbalance code.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agoRevert "i2c: i2c-omap: Fix standard and fast mode prescalers"
Tony Lindgren [Fri, 23 Jan 2009 02:02:24 +0000 (18:02 -0800)]
Revert "i2c: i2c-omap: Fix standard and fast mode prescalers"

This reverts commit d3282b387ddc630393d6158e8d6cffb7b1d8a42a.

It breaks i2c on 2430 as noted by Kainan Cha.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM OMAP: Fix race in OMAP2/3 DMA IRQ handling
Juha Yrjölä [Wed, 21 Jan 2009 17:24:09 +0000 (19:24 +0200)]
ARM OMAP: Fix race in OMAP2/3 DMA IRQ handling

CSR must be cleared before invoking the callback.

If the callback function starts a new, fast DMA transfer on the same
channel, the completion status might lost if CSR is cleared after
the callback invocation.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoRevert "ARM: OMAP3: Enable writing to XCCR and RCCR McBSP registers for OMAP 2430...
Tony Lindgren [Thu, 22 Jan 2009 23:43:13 +0000 (15:43 -0800)]
Revert "ARM: OMAP3: Enable writing to XCCR and RCCR McBSP registers for OMAP 2430/34xx"

This reverts commit 3456ef483b5322ba4a7647f024e2c5b7846cd7e3.

This needs it's counterpart in in /sound/soc/omap/omap-mcbsp.c,
so let's try to get both of them merged in one series.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agosctp: Fix another socket race during accept/peeloff
Vlad Yasevich [Thu, 22 Jan 2009 22:53:23 +0000 (14:53 -0800)]
sctp: Fix another socket race during accept/peeloff

There is a race between sctp_rcv() and sctp_accept() where we
have moved the association from the listening socket to the
accepted socket, but sctp_rcv() processing cached the old
socket and continues to use it.

The easy solution is to check for the socket mismatch once we've
grabed the socket lock.  If we hit a mis-match, that means
that were are currently holding the lock on the listening socket,
but the association is refrencing a newly accepted socket.  We need
to drop the lock on the old socket and grab the lock on the new one.

A more proper solution might be to create accepted sockets when
the new association is established, similar to TCP.  That would
eliminate the race for 1-to-1 style sockets, but it would still
existing for 1-to-many sockets where a user wished to peeloff an
association.  For now, we'll live with this easy solution as
it addresses the problem.

Reported-by: Michal Hocko <mhocko@suse.cz>
Reported-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: Properly timestamp outgoing data chunks for rtx purposes
Vlad Yasevich [Thu, 22 Jan 2009 22:53:01 +0000 (14:53 -0800)]
sctp: Properly timestamp outgoing data chunks for rtx purposes

Recent changes to the retransmit code exposed a long standing
bug where it was possible for a chunk to be time stamped
after the retransmit timer was reset.  This caused a rare
situation where the retrnamist timer has expired, but
nothing was marked for retrnasmission because all of
timesamps on data were less then 1 rto ago.  As result,
the timer was never restarted since nothing was retransmitted,
and this resulted in a hung association that did couldn't
complete the data transfer.  The solution is to timestamp
the chunk when it's added to the packet for transmission
purposes.  After the packet is trsnmitted the rtx timer
is restarted.  This guarantees that when the timer expires,
there will be data to retransmit.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: Correctly start rtx timer on new packet transmissions.
Vlad Yasevich [Thu, 22 Jan 2009 22:52:43 +0000 (14:52 -0800)]
sctp: Correctly start rtx timer on new packet transmissions.

Commit 62aeaff5ccd96462b7077046357a6d7886175a57
(sctp: Start T3-RTX timer when fast retransmitting lowest TSN)
introduced a regression where it was possible to forcibly
restart the sctp retransmit timer at the transmission of any
new chunk.  This resulted in much longer timeout times and
sometimes hung sctp connections.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: Fix crc32c calculations on big-endian arhes.
Vlad Yasevich [Thu, 22 Jan 2009 22:52:23 +0000 (14:52 -0800)]
sctp: Fix crc32c calculations on big-endian arhes.

crc32c algorithm provides a byteswaped result.  On little-endian
arches, the result ends up in big-endian/network byte order.
On big-endinan arches, the result ends up in little-endian
order and needs to be byte swapped again.  Thus calling cpu_to_le32
gives the right output.

Tested-by: Jukka Taimisto <jukka.taimisto@mail.suomi.net>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoxen: actually release memory when shrinking domain
Dan Magenheimer [Thu, 22 Jan 2009 22:36:08 +0000 (14:36 -0800)]
xen: actually release memory when shrinking domain

Fix this:

> It appears that in the upstream balloon driver,
> the call to HYPERVISOR_update_va_mapping is missing
> from decrease_reservation.  I think as a result,
> the balloon driver is eating memory but not
> releasing it to Xen, thus rendering the balloon
> driver essentially useless.  (Can be observed via xentop.)

Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: add pte_set_flags/clear_flags for pte flag manipulation
Jeremy Fitzhardinge [Thu, 22 Jan 2009 22:24:22 +0000 (14:24 -0800)]
x86: add pte_set_flags/clear_flags for pte flag manipulation

It's not necessary to deconstruct and reconstruct a pte every time its
flags are being updated.  Introduce pte_set_flags and pte_clear_flags
to set and clear flags in a pte.  This allows the flag manipulation
code to be inlined, and avoids calls via paravirt-ops.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86/pvops: remove pte_flags pvop
Jeremy Fitzhardinge [Thu, 22 Jan 2009 22:24:16 +0000 (14:24 -0800)]
x86/pvops: remove pte_flags pvop

pte_flags() was introduced as a new pvop in order to extract just the
flags portion of a pte, which is a potentially cheaper operation than
extracting the page number as well.  It turns out this operation is
not needed, because simply using a mask to extract the flags from a
pte is sufficient for all current users.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agophy: Add suspend/resume support to SMSC PHYs
Steve Glendinning [Thu, 22 Jan 2009 22:07:43 +0000 (14:07 -0800)]
phy: Add suspend/resume support to SMSC PHYs

All supported SMSC PHYs implement the standard "power down" bit 11 of
BMCR, so this patch adds support using the generic genphy_{suspend,resume}
functions.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoau1000: reorder functions
Florian Fainelli [Thu, 22 Jan 2009 22:06:25 +0000 (14:06 -0800)]
au1000: reorder functions

This patch reorders functions so that we do longer need
forward declarations.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetns: ipmr: enable namespace support in ipv4 multicast routing code
Benjamin Thery [Thu, 22 Jan 2009 04:56:23 +0000 (04:56 +0000)]
netns: ipmr: enable namespace support in ipv4 multicast routing code

This last patch makes the appropriate changes to use and propagate the
network namespace where needed in IPv4 multicast routing code.

This consists mainly in replacing all the remaining init_net occurences
with current netns pointer retrieved from sockets, net devices or
mfc_caches depending on the routines' contexts.

Some routines receive a new 'struct net' parameter to propagate the current
netns:
* vif_add/vif_delete
* ipmr_new_tunnel
* mroute_clean_tables
* ipmr_cache_find
* ipmr_cache_report
* ipmr_cache_unresolved
* ipmr_mfc_add/ipmr_mfc_delete
* ipmr_get_route
* rt_fill_info (in route.c)

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetns: ipmr: declare ipmr /proc/net entries per-namespace
Benjamin Thery [Thu, 22 Jan 2009 04:56:22 +0000 (04:56 +0000)]
netns: ipmr: declare ipmr /proc/net entries per-namespace

Declare IPv4 multicast forwarding /proc/net entries per-namespace:
/proc/net/ip_mr_vif
/proc/net/ip_mr_cache

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetns: ipmr: declare reg_vif_num per-namespace
Benjamin Thery [Thu, 22 Jan 2009 04:56:21 +0000 (04:56 +0000)]
netns: ipmr: declare reg_vif_num per-namespace

Preliminary work to make IPv4 multicast routing netns-aware.

Declare variable 'reg_vif_num' per-namespace, move into struct netns_ipv4.

At the moment, this variable is only referenced in init_net.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetns: ipmr: declare mroute_do_assert and mroute_do_pim per-namespace
Benjamin Thery [Thu, 22 Jan 2009 04:56:20 +0000 (04:56 +0000)]
netns: ipmr: declare mroute_do_assert and mroute_do_pim per-namespace

Preliminary work to make IPv4 multicast routing netns-aware.

Declare IPv multicast routing variables 'mroute_do_assert' and
'mroute_do_pim' per-namespace in struct netns_ipv4.

At the moment, these variables are only referenced in init_net.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetns: ipmr: declare counter cache_resolve_queue_len per-namespace
Benjamin Thery [Thu, 22 Jan 2009 04:56:19 +0000 (04:56 +0000)]
netns: ipmr: declare counter cache_resolve_queue_len per-namespace

Preliminary work to make IPv4 multicast routing netns-aware.

Declare variable cache_resolve_queue_len per-namespace: move it into
struct netns_ipv4.

This variable counts the number of unresolved cache entries queued in the
list mfc_unres_queue. This list is kept global to all netns as the number
of entries per namespace is limited to 10 (hardcoded in routine
ipmr_cache_unresolved).
Entries belonging to different namespaces in mfc_unres_queue will be
identified by matching the mfc_net member introduced previously in
struct mfc_cache.

Keeping this list global to all netns, also allows us to keep a single
timer (ipmr_expire_timer) to handle their expiration.
In some places cache_resolve_queue_len value was tested for arming
or deleting the timer. These tests were equivalent to testing
mfc_unres_queue value instead and are replaced in this patch.

At the moment, cache_resolve_queue_len is only referenced in init_net.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>