1. 24 3月, 2011 26 次提交
  2. 23 3月, 2011 14 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 4bbba111
      Linus Torvalds 提交于
      * '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
    • C
      sys_swapon: fix inode locking · 2130781e
      Cesar Eduardo Barros 提交于
      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: NCesar Eduardo Barros <cesarb@cesarb.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2130781e
    • H
      smp: add missing init.h include · 04948c7f
      Heiko Carstens 提交于
      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: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Acked-by: NWANG Cong <amwang@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      04948c7f
    • T
      Merge branch 'topic/asoc' into for-linus · ce24f58a
      Takashi Iwai 提交于
      ce24f58a
    • D
      ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/Side · 5a882646
      David Henningsson 提交于
      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: NJan Losinski <losinski@wh2.tu-dresden.de>
      Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5a882646
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · 6447f55d
      Linus Torvalds 提交于
      * '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
    • J
      bloat-o-meter: include read-only data section in report · c50e3f51
      Jean Delvare 提交于
      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: NJean Delvare <khali@linux-fr.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Acked-by: NNathan Lynch <ntl@pobox.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c50e3f51
    • J
      zlib: slim down zlib_deflate() workspace when possible · 565d76cb
      Jim Keniston 提交于
      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: NJim 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      565d76cb
    • A
      fs/devpts/inode.c: correctly check d_alloc_name() return code in devpts_pty_new() · b12d1259
      Andrey Vagin 提交于
      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: NAndrey Vagin <avagin@openvz.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b12d1259
    • R
      aio: wake all waiters when destroying ctx · e91f90bb
      Roland Dreier 提交于
      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: NRoland Dreier <roland@purestorage.com>
      Reviewed-by: NJeff Moyer <jmoyer@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e91f90bb
    • A
      pps: remove unreachable code · 77d1c8eb
      Alexander Gordeev 提交于
      Remove code enabled only when CONFIG_PREEMPT_RT is turned on because it is
      not used in the vanilla kernel.
      Signed-off-by: NAlexander Gordeev <lasaine@lvk.cs.msu.su>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Rodolfo Giometti <giometti@linux.it>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      77d1c8eb
    • S
      adfs: add hexadecimal filetype suffix option · da23ef05
      Stuart Swales 提交于
      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: NStuart Swales <stuart.swales.croftnuisk@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      da23ef05
    • S
      adfs: improve timestamp precision · 7a9730af
      Stuart Swales 提交于
      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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7a9730af
    • S
      adfs: fix E+/F+ dir size > 2048 crashing kernel · 2f09719a
      Stuart Swales 提交于
      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: NStuart Swales <stuart.swales.croftnuisk@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f09719a