07 Nov, 2009

1 commit


06 Nov, 2009

3 commits

  • Mark Brown
     
  • Added the missing clk_enable after acquiring the 'audio-bus' clock.

    Signed-off-by: Jassi Brar
    Signed-off-by: Mark Brown

    Jassi Brar
     
  • After DMA burst mode has been introduced in sound/soc/omap/omap-pcm.c,
    omap_pcm_prepare() unconditionally calls:

    omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16);
    omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16);

    Current implementation of those two functions found in
    arch/arm/plat-ompa/dma.c doesn't support OMAP_DMA_DATA_BURST_16 on OMAP1 at
    all, so they both end with BUG() on that machine. That results in
    ASoC being completely unusable, at least on my OMAP5910 based Amstrad Delta.

    The patch corrects the problem by not calling those two functions when run on
    OMAP1 class based machines.

    Created against linux-2.6.32-rc5.
    Tested on Amstrad Delta.

    Signed-off-by: Janusz Krzysztofik
    Acked-by: Jarkko Nikula
    Signed-off-by: Mark Brown

    Janusz Krzysztofik
     

04 Nov, 2009

8 commits

  • snd_soc_init_card() is always called as the last part of the CODEC probe
    function so we can factor it out into the core card setup rather than
    have each CODEC replicate the code to do the initialiastation. This will
    be required to support multiple CODECs per card.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • A fairly hefty change in diff terms but no actual code changes, will be
    used by the next commit.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • Signed-off-by: Mark Brown

    Mark Brown
     
  • Linus Torvalds
     
  • * 'for-linus' of git://github.com/at91linux/linux-2.6-at91:
    at91: at91sam9g45 family: identify several chip versions
    avr32: add two new at91 to cpu.h definition

    Linus Torvalds
     
  • cpu_is_xxx() macros are identifying generic at91sam9g45 chip. This patch adds
    the capacity to differentiate Engineering Samples and final lots through the
    inclusion of at91_cpu_fully_identify() and the related chip IDs with chip
    version field preserved.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Hans-Christian Egtvedt

    Nicolas Ferre
     
  • Somme common drivers will need those at91 cpu_is_xxx() definitions. As
    at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch
    that adds those chips to cpu.h in AVR32 architecture.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Haavard Skinnemoen

    Nicolas Ferre
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (38 commits)
    MIPS: O32: Fix ppoll
    MIPS: Oprofile: Rename cpu_type from godson2 to loongson2
    MIPS: Alchemy: Fix hang with high-frequency edge interrupts
    MIPS: TXx9: Fix spi-baseclk value
    MIPS: bcm63xx: Set the correct BCM3302 CPU name
    MIPS: Loongson 2: Set cpu_has_dc_aliases and cpu_icache_snoops_remote_store
    MIPS: Avoid potential hazard on Context register
    MIPS: Octeon: Use lockless interrupt controller operations when possible.
    MIPS: Octeon: Use write_{un,}lock_irq{restore,save} to set irq affinity
    MIPS: Set S-cache linesize to 64-bytes for MTI's S-cache
    MIPS: SMTC: Avoid queing multiple reschedule IPIs
    MIPS: GCMP: Avoid accessing registers when they are not present
    MIPS: GIC: Random fixes and enhancements.
    MIPS: CMP: Fix memory barriers for correct operation of amon_cpu_start
    MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands
    MIPS: SPRAM: Clean up support code a little
    MIPS: 1004K: Enable SPRAM support.
    MIPS: Malta: Enable PCI 2.1 compatibility in PIIX4
    MIPS: Kconfig: Fix duplicate default value for MIPS_L1_CACHE_SHIFT.
    MIPS: MTI: Fix accesses to device registers on MIPS boards
    ...

    Linus Torvalds
     

03 Nov, 2009

28 commits

  • * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: Remove some debug messages producing too much noise
    PM: Fix warning on suspend errors
    PM / Hibernate: Add newline to load_image() fail path
    PM / Hibernate: Fix error handling in save_image()
    PM / Hibernate: Fix blkdev refleaks
    PM / yenta: Split resume into early and late parts (rev. 4)

    Linus Torvalds
     
  • nr_processes() returns the sum of the per cpu counter process_counts for
    all online CPUs. This counter is incremented for the current CPU on
    fork() and decremented for the current CPU on exit(). Since a process
    does not necessarily fork and exit on the same CPU the process_count for
    an individual CPU can be either positive or negative and effectively has
    no meaning in isolation.

    Therefore calculating the sum of process_counts over only the online
    CPUs omits the processes which were started or stopped on any CPU which
    has since been unplugged. Only the sum of process_counts across all
    possible CPUs has meaning.

    The only caller of nr_processes() is proc_root_getattr() which
    calculates the number of links to /proc as
    stat->nlink = proc_root.nlink + nr_processes();

    You don't have to be all that unlucky for the nr_processes() to return a
    negative value leading to a negative number of links (or rather, an
    apparently enormous number of links). If this happens then you can get
    failures where things like "ls /proc" start to fail because they got an
    -EOVERFLOW from some stat() call.

    Example with some debugging inserted to show what goes on:
    # ps haux|wc -l
    nr_processes: CPU0: 90
    nr_processes: CPU1: 1030
    nr_processes: CPU2: -900
    nr_processes: CPU3: -136
    nr_processes: TOTAL: 84
    proc_root_getattr. nlink 12 + nr_processes() 84 = 96
    84
    # echo 0 >/sys/devices/system/cpu/cpu1/online
    # ps haux|wc -l
    nr_processes: CPU0: 85
    nr_processes: CPU2: -901
    nr_processes: CPU3: -137
    nr_processes: TOTAL: -953
    proc_root_getattr. nlink 12 + nr_processes() -953 = -941
    75
    # stat /proc/
    nr_processes: CPU0: 84
    nr_processes: CPU2: -901
    nr_processes: CPU3: -137
    nr_processes: TOTAL: -954
    proc_root_getattr. nlink 12 + nr_processes() -954 = -942
    File: `/proc/'
    Size: 0 Blocks: 0 IO Block: 1024 directory
    Device: 3h/3d Inode: 1 Links: 4294966354
    Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2009-11-03 09:06:55.000000000 +0000
    Modify: 2009-11-03 09:06:55.000000000 +0000
    Change: 2009-11-03 09:06:55.000000000 +0000

    I'm not 100% convinced that the per_cpu regions remain valid for offline
    CPUs, although my testing suggests that they do. If not then I think the
    correct solution would be to aggregate the process_count for a given CPU
    into a global base value in cpu_down().

    This bug appears to pre-date the transition to git and it looks like it
    may even have been present in linux-2.6.0-test7-bk3 since it looks like
    the code Rusty patched in http://lwn.net/Articles/64773/ was already
    wrong.

    Signed-off-by: Ian Campbell
    Cc: Andrew Morton
    Cc: Rusty Russell
    Signed-off-by: Linus Torvalds

    Ian Campbell
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: gpio-keys - use IRQF_SHARED
    Input: winbond-cir - select LEDS_TRIGGERS
    Input: i8042 - try to get stable CTR value when initializing
    Input: atkbd - add a quirk for OQO 01+ multimedia keys

    Linus Torvalds
     
  • * 'fixes-s3c-2632-rc5' of git://git.fluff.org/bjdooks/linux:
    ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c
    ARM: S3C2440: mini2440: Fix spare warnings
    ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c
    ARM: S3C2440: mini2440: Fix missing CONFIG_S3C_DEV_USB_HOST
    ARM: S3C24XX: arch/arm/plat-s3c24xx: Move dereference after NULL test
    ARM: S3C: Fix adc function exports
    ARM: S3C2410: Fix link if CONFIG_S3C2410_IOTIMING is not set
    ARM: S3C24XX: Introduce S3C2442B CPU
    ARM: S3C24XX: Define a macro to avoid compilation error
    ARM: S3C: Add info for supporting circular DMA buffers
    ARM: S3C64XX: Set rate of crystal mux
    ARM: S3C64XX: Fix S3C64XX_CLKDIV0_ARM_MASK value

    Linus Torvalds
     
  • * 'i2c-fixes' of git://git.fluff.org/bjdooks/linux:
    i2c-mpc: Do not generate STOP after read.
    i2c: imx: disable clock when it's possible to save power.
    i2c: imx: only imx1 needs disable delay
    i2c: imx: check busy bit when START/STOP

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
    nilfs2: add zero-fill for new btree node buffers
    nilfs2: fix irregular checkpoint creation due to data flush
    nilfs2: fix dirty page accounting leak causing hang at write

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    mac80211: check interface is down before type change
    cfg80211: fix NULL ptr deref
    libertas if_usb: Fix crash on 64-bit machines
    mac80211: fix reason code output endianness
    mac80211: fix addba timer
    ath9k: fix misplaced semicolon on rate control
    b43: Fix DMA TX bounce buffer copying
    mac80211: fix BSS leak
    rt73usb.c : more ids
    ipw2200: fix oops on missing firmware
    gre: Fix dev_addr clobbering for gretap
    sky2: set carrier off in probe
    net: fix sk_forward_alloc corruption
    pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
    r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames
    ibmtr: possible Read buffer overflow?
    net: Fix RPF to work with policy routing
    net: fix kmemcheck annotations
    e1000e: rework disable K1 at 1000Mbps for 82577/82578
    e1000e: config PHY via software after resets
    ...

    Linus Torvalds
     
  • pm_runtime_idle() is somewhat noisy. Remove debug prints.

    Signed-off-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Pavel Machek
     
  • Fixes the point where we need to complete the power transition when
    device suspend fails, so that we don't print warnings about devices
    added to the device hierarchy after a failing suspend.

    [rjw: Modified changelog.]

    Signed-off-by: Romit Dasgupta
    Signed-off-by: Rafael J. Wysocki

    Romit Dasgupta
     
  • Finish a line by \n when load_image fails in the middle of loading.

    Signed-off-by: Jiri Slaby
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Jiri Slaby
     
  • There are too many retval variables in save_image(). Thus error return
    value from snapshot_read_next() may be ignored and only part of the
    snapshot (successfully) written.

    Remove 'error' variable, invert the condition in the do-while loop
    and convert the loop to use only 'ret' variable.

    Switch the rest of the function to consider only 'ret'.

    Also make sure we end printed line by \n if an error occurs.

    Signed-off-by: Jiri Slaby
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Jiri Slaby
     
  • While cruising through the swsusp code I found few blkdev reference
    leaks of resume_bdev.

    swsusp_read: remove blkdev_put altogether. Some fail paths do
    not do that.
    swsusp_check: make sure we always put a reference on fail paths
    software_resume: all fail paths between swsusp_check and swsusp_read
    omit swsusp_close. Add it in those cases. And since
    swsusp_read doesn't drop the reference anymore, do
    it here unconditionally.

    [rjw: Fixed a small coding style issue.]

    Signed-off-by: Jiri Slaby
    Signed-off-by: Rafael J. Wysocki

    Jiri Slaby
     
  • Commit 0c570cdeb8fdfcb354a3e9cd81bfc6a09c19de0c
    (PM / yenta: Fix cardbus suspend/resume regression) caused resume to
    fail on systems with two CardBus bridges. While the exact nature
    of the failure is not known at the moment, it can be worked around by
    splitting the yenta resume into an early part, executed during the
    early phase of resume, that will only resume the socket and power it
    up if there was a card in it during suspend, and a late part,
    executed during "regular" resume, that will carry out all of the
    remaining yenta resume operations.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14334, which is a
    listed regression from 2.6.31.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Dominik Brodowski
    Reported-by: Stephen J. Gowdy
    Tested-by: Jose Marino

    Rafael J. Wysocki
     
  • There is nothing that disallows gpio-keys to share it's IRQ line
    w/ other drivers. Make it use IRQF_SHARED in request_irq().

    An example of other driver with which I'd like to share IRQ line
    for GPIO buttons is ledtrig-gpio.

    Signed-off-by: Dmitry Eremin-Solenikov
    Signed-off-by: Dmitry Torokhov

    Dmitry Eremin-Solenikov
     
  • drivers/input/misc/winbond-cir.c depends on LEDS_TRIGGERS so
    add an appropriate select to drivers/input/misc/Kconfig

    Signed-off-by: David Härdeman
    Signed-off-by: Andrew Morton
    Signed-off-by: Dmitry Torokhov

    David Härdeman
     
  • If user presses keys while i8042 is being initialized there is a chance
    that keyboard data will be mistaken for results of Read Control Register
    command causing futher troubles. Work around this issue by reading CTR
    several times and stop when we get matching results.

    Reported-and-tested-by: Dave Young
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Dmitry Torokhov
     
  • Adds missing initialization of newly allocated b-tree node buffers.
    This avoids garbage data to be mixed in b-tree node blocks.

    Signed-off-by: Ryusuke Konishi

    Ryusuke Konishi
     
  • When nilfs flushes out dirty data to reduce memory pressure, creation
    of checkpoints is wrongly postponed. This bug causes irregular
    checkpoint creation especially in small footprint systems.

    To correct this issue, a timer for the checkpoint creation has to be
    continued if a log writer does not create a checkpoint.

    This will do the correction.

    Signed-off-by: Ryusuke Konishi

    Ryusuke Konishi
     
  • Bruno Prémont and Dunphy, Bill noticed me that NILFS will certainly
    hang on ARM-based targets.

    I found this was caused by an underflow of dirty pages counter. A
    b-tree cache routine was marking page dirty without adjusting page
    account information.

    This fixes the dirty page accounting leak and resolves the hang on
    arm-based targets.

    Reported-by: Bruno Prémont
    Reported-by: Dunphy, Bill
    Signed-off-by: Ryusuke Konishi
    Tested-by: Bruno Prémont
    Cc: stable

    Ryusuke Konishi
     
  • David S. Miller
     
  • The driver always ends a read with a STOP condition which
    breaks subsequent I2C reads/writes in the same transaction as
    these expect to do a repeated START(ReSTART).

    This will also help I2C multimaster as the bus will not be released
    after the first read, but when the whole transaction ends.

    Signed-off-by: Joakim Tjernlund
    Signed-off-by: Ben Dooks

    Joakim Tjernlund
     
  • Enable clock before START, disable it after STOP.

    Signed-off-by: Richard Zhao
    Signed-off-by: Ben Dooks

    Richard Zhao
     
  • check cpu_is_mx1() when disable delay.

    Signed-off-by: Richard Zhao
    Signed-off-by: Ben Dooks

    Richard Zhao
     
  • The controller can't do anything else before it actually generates START/STOP.
    So we check busy bit to make sure START/STOP is successfully finished.

    If we don't check busy bit, START/STOP may fail on some fast CPUs.

    Signed-off-by: Richard Zhao
    Signed-off-by: Ben Dooks

    Richard Zhao
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    9p: fix readdir corner cases
    9p: fix readlink
    9p: fix a small bug in readdir for long directories

    Linus Torvalds
     
  • For some strange reason the netif_running() check
    ended up after the actual type change instead of
    before, potentially causing all kinds of problems
    if the interface is up while changing the type;
    one of the problems manifests itself as a warning:

    WARNING: at net/mac80211/iface.c:651 ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]()
    Hardware name: Aspire one
    Pid: 2596, comm: wpa_supplicant Tainted: G W 2.6.31-10-generic #32-Ubuntu
    Call Trace:
    [] warn_slowpath_common+0x6d/0xa0
    [] warn_slowpath_null+0x15/0x20
    [] ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]
    [] ieee80211_if_change_type+0x4a/0xc0 [mac80211]
    [] ieee80211_change_iface+0x61/0xa0 [mac80211]
    [] cfg80211_wext_siwmode+0xc7/0x120 [cfg80211]
    [] ioctl_standard_call+0x58/0xf0

    (http://www.kerneloops.org/searchweek.php?search=ieee80211_teardown_sdata)

    Cc: Arjan van de Ven
    Cc: stable@kernel.org
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • commit 211a4d12abf86fe0df4cd68fc6327cbb58f56f81
    Author: Johannes Berg
    Date: Tue Oct 20 15:08:53 2009 +0900

    cfg80211: sme: deauthenticate on assoc failure

    introduced a potential NULL pointer dereference that
    some people have been hitting for some reason -- the
    params.bssid pointer is not guaranteed to be non-NULL
    for what seems to be a race between various ways of
    reaching the same thing.

    While I'm trying to analyse the problem more let's
    first fix the crash. I think the real fix may be to
    avoid doing _anything_ if it ended up being NULL, but
    right now I'm not sure yet.

    I think
    http://bugzilla.kernel.org/show_bug.cgi?id=14342
    might also be this issue.

    Reported-by: Parag Warudkar
    Tested-by: Parag Warudkar
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg