1. 24 Mar, 2011 26 commits
  2. 23 Mar, 2011 14 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 4bbba111
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/Side
        ASoC: Support !REGULATOR build for sgtl5000
        ALSA: hda - VIA: Fix VT1708 can't build up Headphone control issue
        ALSA: hda - VIA: Correct stream names for VT1818S
        ALSA: hda - VIA: Fix codec type for VT1708BCE at the right timing
        ALSA: hda - VIA: Fix invalid A-A path volume adjust issue
        ALSA: hda - VIA: Add missing support for VT1718S in A-A path
        ALSA: hda - VIA: Fix independent headphone no sound issue
        ALSA: hda - VIA: Fix stereo mixer recording no sound issue
        ALSA: hda - Set EAPD for Realtek ALC665
        ALSA: usb - Remove trailing spaces from USB card name strings
        sound: read i_size with i_size_read()
        ASoC: Remove bogus check for register validity in debugfs write
        ASoC: mini2440: Fix uda134x codec problem.
      4bbba111
    • Cesar Eduardo Barros's avatar
      sys_swapon: fix inode locking · 2130781e
      Cesar Eduardo Barros authored
      A conflict between 52c50567 ("mm: swap: unlock swapfile inode mutex
      before closing file on bad swapfiles") and 83ef99be ("sys_swapon:
      remove did_down variable") caused a double unlock of the inode mutex
      (once in bad_swap: before the filp_close, once at the end just before
      returning).
      
      The patch which added the extra unlock cleared did_down to avoid
      unlocking twice, but the other patch removed the did_down variable.
      
      To fix, set inode to NULL after the first unlock, since it will be used
      after that point only for the final unlock.
      
      While checking this patch, I found a path which could unlock without
      locking, in case the same inode was added as a swapfile twice. To fix,
      move the setting of the inode variable further down, to just before
      claim_swapfile, which will lock the inode before doing anything else.
      
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Eric B Munson <emunson@mgebm.net>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarCesar Eduardo Barros <cesarb@cesarb.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2130781e
    • Heiko Carstens's avatar
      smp: add missing init.h include · 04948c7f
      Heiko Carstens authored
      Commit 34db18a0 ("smp: move smp setup functions to kernel/smp.c")
      causes this build error on s390 because of a missing init.h include:
      
        CC      arch/s390/kernel/asm-offsets.s
        In file included from /home2/heicarst/linux-2.6/arch/s390/include/asm/spinlock.h:14:0,
        from include/linux/spinlock.h:87,
        from include/linux/seqlock.h:29,
        from include/linux/time.h:8,
        from include/linux/timex.h:56,
        from include/linux/sched.h:57,
        from arch/s390/kernel/asm-offsets.c:10:
        include/linux/smp.h:117:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'setup_nr_cpu_ids'
        include/linux/smp.h:118:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'smp_init'
      
      Fix it by adding the include statement.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Acked-by: default avatarWANG Cong <amwang@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      04948c7f
    • Takashi Iwai's avatar
      Merge branch 'topic/asoc' into for-linus · ce24f58a
      Takashi Iwai authored
      ce24f58a
    • David Henningsson's avatar
      ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/Side · 5a882646
      David Henningsson authored
      Similar to commit 7e59e097, this patch
      avoids unnecessary volume control indices for more
      Realtek auto-parsers, e g the ALC66x family, on the "Surround" and "Side"
      controls.
      These indices cause these volume controls to be ignored by PulseAudio and
      vmaster and should be removed whenever possible.
      
      Cc: stable@kernel.org
      Reported-by: default avatarJan Losinski <losinski@wh2.tu-dresden.de>
      Signed-off-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5a882646
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · 6447f55d
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (66 commits)
        avr32: at32ap700x: fix typo in DMA master configuration
        dmaengine/dmatest: Pass timeout via module params
        dma: let IMX_DMA depend on IMX_HAVE_DMA_V1 instead of an explicit list of SoCs
        fsldma: make halt behave nicely on all supported controllers
        fsldma: reduce locking during descriptor cleanup
        fsldma: support async_tx dependencies and automatic unmapping
        fsldma: fix controller lockups
        fsldma: minor codingstyle and consistency fixes
        fsldma: improve link descriptor debugging
        fsldma: use channel name in printk output
        fsldma: move related helper functions near each other
        dmatest: fix automatic buffer unmap type
        drivers, pch_dma: Fix warning when CONFIG_PM=n.
        dmaengine/dw_dmac fix: use readl & writel instead of __raw_readl & __raw_writel
        avr32: at32ap700x: Specify DMA Flow Controller, Src and Dst msize
        dw_dmac: Setting Default Burst length for transfers as 16.
        dw_dmac: Allow src/dst msize & flow controller to be configured at runtime
        dw_dmac: Changing type of src_master and dest_master to u8.
        dw_dmac: Pass Channel Priority from platform_data
        dw_dmac: Pass Channel Allocation Order from platform_data
        ...
      6447f55d
    • Jean Delvare's avatar
      bloat-o-meter: include read-only data section in report · c50e3f51
      Jean Delvare authored
      I'm not sure why the read-only data section is excluded from the report,
      it seems as relevant as the other data sections (b and d).
      
      I've stripped the symbols starting with __mod_ as they can have their
      names dynamically generated and thus comparison between binaries is not
      possible.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Acked-by: default avatarNathan Lynch <ntl@pobox.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c50e3f51
    • Jim Keniston's avatar
      zlib: slim down zlib_deflate() workspace when possible · 565d76cb
      Jim Keniston authored
      Instead of always creating a huge (268K) deflate_workspace with the
      maximum compression parameters (windowBits=15, memLevel=8), allow the
      caller to obtain a smaller workspace by specifying smaller parameter
      values.
      
      For example, when capturing oops and panic reports to a medium with
      limited capacity, such as NVRAM, compression may be the only way to
      capture the whole report.  In this case, a small workspace (24K works
      fine) is a win, whether you allocate the workspace when you need it (i.e.,
      during an oops or panic) or at boot time.
      
      I've verified that this patch works with all accepted values of windowBits
      (positive and negative), memLevel, and compression level.
      Signed-off-by: default avatarJim Keniston <jkenisto@us.ibm.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: David Miller <davem@davemloft.net>
      Cc: Chris Mason <chris.mason@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      565d76cb
    • Andrey Vagin's avatar
      fs/devpts/inode.c: correctly check d_alloc_name() return code in devpts_pty_new() · b12d1259
      Andrey Vagin authored
      d_alloc_name return NULL in case error, but we expect errno in
      devpts_pty_new.
      
      Addresses http://bugzilla.openvz.org/show_bug.cgi?id=1758Signed-off-by: default avatarAndrey Vagin <avagin@openvz.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b12d1259
    • Roland Dreier's avatar
      aio: wake all waiters when destroying ctx · e91f90bb
      Roland Dreier authored
      The test program below will hang because io_getevents() uses
      add_wait_queue_exclusive(), which means the wake_up() in io_destroy() only
      wakes up one of the threads.  Fix this by using wake_up_all() in the aio
      code paths where we want to make sure no one gets stuck.
      
      	// t.c -- compile with gcc -lpthread -laio t.c
      
      	#include <libaio.h>
      	#include <pthread.h>
      	#include <stdio.h>
      	#include <unistd.h>
      
      	static const int nthr = 2;
      
      	void *getev(void *ctx)
      	{
      		struct io_event ev;
      		io_getevents(ctx, 1, 1, &ev, NULL);
      		printf("io_getevents returned\n");
      		return NULL;
      	}
      
      	int main(int argc, char *argv[])
      	{
      		io_context_t ctx = 0;
      		pthread_t thread[nthr];
      		int i;
      
      		io_setup(1024, &ctx);
      
      		for (i = 0; i < nthr; ++i)
      			pthread_create(&thread[i], NULL, getev, ctx);
      
      		sleep(1);
      
      		io_destroy(ctx);
      
      		for (i = 0; i < nthr; ++i)
      			pthread_join(thread[i], NULL);
      
      		return 0;
      	}
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e91f90bb
    • Alexander Gordeev's avatar
      pps: remove unreachable code · 77d1c8eb
      Alexander Gordeev authored
      Remove code enabled only when CONFIG_PREEMPT_RT is turned on because it is
      not used in the vanilla kernel.
      Signed-off-by: default avatarAlexander Gordeev <lasaine@lvk.cs.msu.su>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Rodolfo Giometti <giometti@linux.it>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      77d1c8eb
    • Stuart Swales's avatar
      adfs: add hexadecimal filetype suffix option · da23ef05
      Stuart Swales authored
      ADFS (FileCore) storage complies with the RISC OS filetype specification
      (12 bits of file type information is stored in the file load address,
      rather than using a file extension).  The existing driver largely ignores
      this information and does not present it to the end user.
      
      It is desirable that stored filetypes be made visible to the end user to
      facilitate a precise copy of data and metadata from a hard disc (or image
      thereof) into a RISC OS emulator (such as RPCEmu) or to a network share
      which can be accessed by real Acorn systems.
      
      This patch implements a per-mount filetype suffix option (use -o
      ftsuffix=1) to present any filetype as a ,xyz hexadecimal suffix on each
      file.  This type suffix is compatible with that used by RISC OS systems
      that access network servers using NFS client software and by RPCemu's host
      filing system.
      Signed-off-by: default avatarStuart Swales <stuart.swales.croftnuisk@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      da23ef05
    • Stuart Swales's avatar
      adfs: improve timestamp precision · 7a9730af
      Stuart Swales authored
      ADFS (FileCore) storage complies with the RISC OS timestamp specification
      (40-bit centiseconds since 01 Jan 1900 00:00:00).  It is desirable that
      stored timestamp precision be maintained to facilitate a precise copy of
      data and metadata from a hard disc (or image thereof) into a RISC OS
      emulator (such as RPCEmu).
      
      This patch implements a full-precision conversion from ADFS to Unix
      timestamp as the existing driver, for ease of calculation with old 32-bit
      compilers, uses the common trick of shifting the 40-bits representing
      centiseconds around into 32-bits representing seconds thereby losing
      precision.
      
      Signed-off-by: Stuart Swales<stuart.swales.croftnuisk@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a9730af
    • Stuart Swales's avatar
      adfs: fix E+/F+ dir size > 2048 crashing kernel · 2f09719a
      Stuart Swales authored
      Kernel crashes in fs/adfs module when accessing directories with a large
      number of objects on mounted Acorn ADFS E+/F+ format discs (or images) as
      the existing code writes off the end of the fixed array of struct
      buffer_head pointers.
      
      Additionally, each directory access that didn't crash would leak a buffer
      as nr_buffers was not adjusted correctly for E+/F+ discs (was always left
      as one less than required).
      
      The patch fixes this by allocating a dynamically-sized set of struct
      buffer_head pointers if necessary for the E+/F+ case (many directories
      still do in fact fit in 2048 bytes) and sets the correct nr_buffers so
      that all buffers are released.
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=26072
      
      Tested by tar'ing the contents of my RISC PC's E+ format 20Gb HDD which
      contains a number of large directories that previously crashed the kernel.
      Signed-off-by: default avatarStuart Swales <stuart.swales.croftnuisk@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f09719a