Permalink
Switch branches/tags
Commits on Apr 7, 2010
  1. Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/l…

    torvalds committed Apr 7, 2010
    …inux/kernel/git/tip/linux-2.6-tip
    
    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf, x86: Enable Nehalem-EX support
      perf kmem: Fix breakage introduced by 5a0e3ad slab.h script
  2. Merge branch 'davinci-fixes-for-linus' of git://git.kernel.org/pub/sc…

    torvalds committed Apr 7, 2010
    …m/linux/kernel/git/khilman/linux-davinci
    
    * 'davinci-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci:
      davinci: fix compile warning: <mach/da8xx.h>: #include <linux/platform_device.h>
      davinci: DM365: fix duplicate default IRQ priorities
      davinci: edma: clear events in edma_start()
      davinci: da8xx/omap-l1: fix build error when CONFIG_DAVINCI_MUX is undefined
      davinci: timers: don't enable timer until clocksource is initialized
  3. Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    torvalds committed Apr 7, 2010
    …nux/kernel/git/x86/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
      x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards
      x86: Increase CONFIG_NODES_SHIFT max to 10
      ibft, x86: Change reserve_ibft_region() to find_ibft_region()
      x86, hpet: Fix bug in RTC emulation
      x86, hpet: Erratum workaround for read after write of HPET comparator
      bootmem, x86: Fix 32bit numa system without RAM on node 0
      nobootmem, x86: Fix 32bit numa system without RAM on node 0
      x86: Handle overlapping mptables
      x86: Make e820_remove_range to handle all covered case
      x86-32, resume: do a global tlb flush in S4 resume
  4. davinci: fix compile warning: <mach/da8xx.h>: #include <linux/platfor…

    Sergei Shtylyov committed with Kevin Hilman Mar 26, 2010
    …m_device.h>
    
    This hushes the following warning:
    
    arch/arm/mach-davinci/include/mach/da8xx.h:104: warning: ‘struct platform_device’
    declared inside parameter list
    arch/arm/mach-davinci/include/mach/da8xx.h:104: warning: its scope is only this
    definition or declaration, which is probably not what you want
    
    Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
  5. Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze

    torvalds committed Apr 7, 2010
    * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
      microblaze: Remove unused variable from ptrace
      microblaze: io.h: Add io big-endian function
      microblaze: Enable memory leak detector
      microblaze: Fix futex code
      microblaze: Fix ftrace_update_ftrace_func panic
  6. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Apr 7, 2010
    …/git/tiwai/sound-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: mixart: range checking proc file
      ALSA: hda - Fix a wrong array range check in patch_realtek.c
      ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
      ALSA: hda - Enable amplifiers on Acer Inspire 6530G
      ASoC: Only do WM8994 bias off transition from standby
      ASoC: Don't use DCS_DATAPATH_BUSY for WM hubs devices
      ASoC: Don't do runtime wm_hubs DC servo updates if using offset correction
      ASoC: Support second DC servo readback method for wm_hubs
      ASoC: Avoid wraparound in wm_hubs DC servo correction
      ALSA: echoaudio - Eliminate use after free
      ALSA: i2c: cleanup: change parameter to pointer
      ALSA: hda - Add MSI blacklist for Aopen MZ915-M
      ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code
      ALSA: hda - Update document about MSI and interrupts
      ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981
      ALSA: hda - Add missing printk argument in previous patch
      ASoC: Fix passing platform_data to ac97 bus users and fix a leak
      ALSA: hda - Fix ADC/MUX assignment of ALC269 codec
      ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()
      ASoC: wm8994: playback => capture
  7. Merge branch 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git…

    torvalds committed Apr 7, 2010
    …/tj/misc
    
    * 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:
      nodemask: include slab.h from drivers/base/node.c
  8. fs-cache: order the debugfs stats correctly

    dhowells committed with torvalds Apr 6, 2010
    Order the debugfs statistics correctly.  The values displayed through a
    seq_printf() statement should be in the same order as the names in the
    format string.
    
    In the 'Lookups' line, objects created ('crt=') and lookups timed out
    ('tmo=') have their values transposed.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  9. frv: fix kernel/user segment handling in NOMMU mode

    dhowells committed with torvalds Apr 6, 2010
    In NOMMU mode, the FRV segment handling is broken because KERNEL_DS ==
    USER_DS.  This causes tests of the following sort:
    
    	/* don't pin down non-user-based iovecs */
    	if (segment_eq(get_fs(), KERNEL_DS))
    		return NULL;
    
    to malfunction.
    
    To fix this, make USER_DS the top of RAM instead of the top of the non-IO
    address space, and make KERNEL_DS one more than the top of the non-IO
    address space.
    
    Also get rid of FRV's __addr_ok() as nothing uses it.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  10. frv: hide uncached_access() when pgprot_noncached is not #defined

    dhowells committed with torvalds Apr 6, 2010
    Hide uncached_access() when pgprot_noncached is not #defined.  This prevents
    the following warning:
    
    	  CC      drivers/char/mem.o
    	drivers/char/mem.c:229: warning: 'uncached_access' defined but not used
    
    Repairs d7d4d84 ("drivers/char/mem.c:
    cleanups").
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  11. rtc-mxc: multiple fixes in rtc-mxc probe method

    Vladimir Zapolskiy committed with torvalds Apr 6, 2010
    On exit paths in mxc_rtc_probe() method some resources are not freed
    correctly.
    
    This patch fixes:
    * unrequested memory region containing imx RTC registers
    * iounmap() isn't called on exit_free_pdata branch
    * clock get rate is called for freed clock source
    * clock isn't disabled on exit_put_clk branch
    
    To simplify the fix managed device resources are used.
    
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: Daniel Mack <daniel@caiaq.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  12. memcg: fix race in file_mapped accounting

    hkamezawa committed with torvalds Apr 6, 2010
    Presently, memcg's FILE_MAPPED accounting has following race with
    move_account (happens at rmdir()).
    
        increment page->mapcount (rmap.c)
        mem_cgroup_update_file_mapped()           move_account()
    					      lock_page_cgroup()
    					      check page_mapped() if
    					      page_mapped(page)>1 {
    						FILE_MAPPED -1 from old memcg
    						FILE_MAPPED +1 to old memcg
    					      }
    					      .....
    					      overwrite pc->mem_cgroup
    					      unlock_page_cgroup()
        lock_page_cgroup()
        FILE_MAPPED + 1 to pc->mem_cgroup
        unlock_page_cgroup()
    
    Then,
    	old memcg (-1 file mapped)
    	new memcg (+2 file mapped)
    
    This happens because move_account see page_mapped() which is not guarded
    by lock_page_cgroup().  This patch adds FILE_MAPPED flag to page_cgroup
    and move account information based on it.  Now, all checks are synchronous
    with lock_page_cgroup().
    
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Reviewed-by: Balbir Singh <balbir@in.ibm.com>
    Reviewed-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
    Cc: Andrea Righi <arighi@develer.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  13. pagemap: fix pfn calculation for hugepage

    Naoya-Horiguchi committed with torvalds Apr 6, 2010
    When we look into pagemap using page-types with option -p, the value of
    pfn for hugepages looks wrong (see below.) This is because pte was
    evaluated only once for one vma although it should be updated for each
    hugepage.  This patch fixes it.
    
      $ page-types -p 3277 -Nl -b huge
      voffset   offset  len     flags
      7f21e8a00 11e400  1       ___U___________H_G________________
      7f21e8a01 11e401  1ff     ________________TG________________
                   ^^^
      7f21e8c00 11e400  1       ___U___________H_G________________
      7f21e8c01 11e401  1ff     ________________TG________________
                   ^^^
    
    One hugepage contains 1 head page and 511 tail pages in x86_64 and each
    two lines represent each hugepage.  Voffset and offset mean virtual
    address and physical address in the page unit, respectively.  The
    different hugepages should not have the same offset value.
    
    With this patch applied:
    
      $ page-types -p 3386 -Nl -b huge
      voffset   offset   len    flags
      7fec7a600 112c00   1      ___UD__________H_G________________
      7fec7a601 112c01   1ff    ________________TG________________
                   ^^^
      7fec7a800 113200   1      ___UD__________H_G________________
      7fec7a801 113201   1ff    ________________TG________________
                   ^^^
                   OK
    
    More info:
    
    - This patch modifies walk_page_range()'s hugepage walker.  But the
      change only affects pagemap_read(), which is the only caller of hugepage
      callback.
    
    - Without this patch, hugetlb_entry() callback is called per vma, that
      doesn't match the natural expectation from its name.
    
    - With this patch, hugetlb_entry() is called per hugepte entry and the
      callback can become much simpler.
    
    Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Acked-by: Matt Mackall <mpm@selenic.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  14. ratelimit: fix the return value when __ratelimit() fails to acquire t…

    Yong Zhang committed with torvalds Apr 6, 2010
    …he lock
    
    The log of commit edaac8e ("ratelimit:
    Fix/allow use in atomic contexts"), indicates that we want to suppress the
    callback when the trylock fails.
    
    Signed-off-by: Yong Zhang <yong.zhang@windriver.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  15. kernel.h: fix wrong usage of __ratelimit()

    Yong Zhang committed with torvalds Apr 6, 2010
    When __ratelimit() returns 1 this means that we can go ahead.
    
    Signed-off-by: Yong Zhang <yong.zhang@windriver.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Joe Perches <joe@perches.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  16. ratelimit: annotate ___ratelimit()

    Yong Zhang committed with torvalds Apr 6, 2010
    To prevent from wrongly using the return value.
    
    [akpm@linux-foundation.org: fix spello]
    Signed-off-by: Yong Zhang <yong.zhang@windriver.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Dave Young <hidave.darkstar@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  17. /dev/mem: allow rewinding

    Eric Dumazet committed with torvalds Apr 6, 2010
    commit dcefafb ("/dev/mem: dont allow seek to last page") inadvertently
    disabled rewinding on /dev/mem.
    
    This broke x86info for example.
    
    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
    Acked-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  18. vfs: rename block_fsync() to blkdev_fsync()

    akpm00 committed with torvalds Apr 6, 2010
    Requested by hch, for consistency now it is exported.
    
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Anton Blanchard <anton@samba.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  19. raw: fsync method is now required

    antonblanchard committed with torvalds Apr 6, 2010
    Commit 148f948 (vfs: Introduce new
    helpers for syncing after writing to O_SYNC file or IS_SYNC inode) broke
    the raw driver.
    
    We now call through generic_file_aio_write -> generic_write_sync ->
    vfs_fsync_range.  vfs_fsync_range has:
    
            if (!fop || !fop->fsync) {
                    ret = -EINVAL;
                    goto out;
            }
    
    But drivers/char/raw.c doesn't set an fsync method.
    
    We have two options: fix it or remove the raw driver completely.  I'm
    happy to do either, the fact this has been broken for so long suggests it
    is rarely used.
    
    The patch below adds an fsync method to the raw driver.  My knowledge of
    the block layer is pretty sketchy so this could do with a once over.
    
    If we instead decide to remove the raw driver, this patch might still be
    useful as a backport to 2.6.33 and 2.6.32.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
    Tested-by: Jeff Moyer <jmoyer@redhat.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  20. mb862xxfb: update Valentin's email address

    virtuoso committed with torvalds Apr 6, 2010
    Since Valentin's email address @siemens.com is no longer valid, it's time
    to change it to the one that actually works so that I don't have to
    manually forward patches against mb862xx to him every time.
    
    Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
    Acked-by: Valentin Sitdikov <v.sitdikov@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  21. mb862xxfb: fix acceleration module license

    Randy Dunlap committed with torvalds Apr 6, 2010
    mb862xxfb_accel built as a separate module, but it does not have a
    MODULE_LICENSE, so it taints the kernel.  Add a MODULE_LICENSE to it (same
    as mb862xxfb license).
    
    mb862xxfb_accel: module license 'unspecified' taints kernel.
    
    Or should mb862xxfb_accel be built into the mb862xxfb binary file instead?
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Acked-by: Alexander Shishkin <virtuoso@slind.org>
    Cc: Valentin Sitdikov <v.sitdikov@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  22. mm: revert "vmscan: get_scan_ratio() cleanup"

    kosaki committed with torvalds Apr 6, 2010
    Shaohua Li reported his tmpfs streaming I/O test can lead to make oom.
    The test uses a 6G tmpfs in a system with 3G memory.  In the tmpfs, there
    are 6 copies of kernel source and the test does kbuild for each copy.  His
    investigation shows the test has a lot of rotated anon pages and quite few
    file pages, so get_scan_ratio calculates percent[0] (i.e.  scanning
    percent for anon) to be zero.  Actually the percent[0] shoule be a big
    value, but our calculation round it to zero.
    
    Although before commit 84b1849 ("vmscan: get_scan_ratio() cleanup") , we
    have the same problem too.  But the old logic can rescue percent[0]==0
    case only when priority==0.  It had hided the real issue.  I didn't think
    merely streaming io can makes percent[0]==0 && priority==0 situation.  but
    I was wrong.
    
    So, definitely we have to fix such tmpfs streaming io issue.  but anyway I
    revert the regression commit at first.
    
    This reverts commit 84b1849.
    
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Reported-by: Shaohua Li <shaohua.li@intel.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Minchan Kim <minchan.kim@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  23. devmem: handle class_create() failure

    antonblanchard committed with torvalds Apr 6, 2010
    I hit this when we had a bug in IDR for a few days.  Basically sysfs would
    fail to create new inodes since it uses an IDR and therefore class_create
    would fail.
    
    While we are unlikely to see this fail we may as well handle it instead of
    oopsing.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Reviewed-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  24. readahead: fix NULL filp dereference

    fengguang committed with torvalds Apr 6, 2010
    btrfs relocate_file_extent_cluster() calls us with NULL filp:
    
      [ 4005.426805] BUG: unable to handle kernel NULL pointer dereference at 00000021
      [ 4005.426818] IP: [<c109a130>] page_cache_sync_readahead+0x18/0x3e
    
    Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    Cc: Yan Zheng <yanzheng@21cn.com>
    Reported-by: Kirill A. Shutemov <kirill@shutemov.name>
    Tested-by: Kirill A. Shutemov <kirill@shutemov.name>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  25. device_attributes: add sysfs_attr_init() for dynamic attributes

    Wolfram Sang committed with torvalds Apr 6, 2010
    Made necessary by 6992f53 ("sysfs: Use
    one lockdep class per sysfs attribute").
    
    Prevents further "key xxx not in .data" bug-reports.  Although some
    attributes could probably be converted to static ones, this is left for
    people having hardware to test.
    
    Found by this semantic patch:
    
    @ init @
    type T;
    identifier A;
    @@
    
            T {
                    ...
                    struct device_attribute A;
                    ...
            };
    
    @ main extends init @
    expression E;
    statement S;
    identifier err;
    T *name;
    @@
    
            ... when != sysfs_attr_init(&name->A.attr);
    (
    +       sysfs_attr_init(&name->A.attr);
            if (device_create_file(E, &name->A))
                    S
    |
    +       sysfs_attr_init(&name->A.attr);
            err = device_create_file(E, &name->A);
    )
    
    While reviewing, I put the initialization to apropriate places.
    
    Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Greg KH <gregkh@suse.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Grant Likely <grant.likely@secretlab.ca>
    Cc: Mike Isely <isely@pobox.com>
    Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
    Cc: Sujith Thomas <sujith.thomas@intel.com>
    Cc: Matthew Garrett <mjg@redhat.com>
    Cc: Len Brown <len.brown@intel.com>
    Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  26. drivers/thermal/thermal_sys.c: fix 'key f70f4b50 not in .data' in the…

    sergey-senozhatsky committed with torvalds Apr 6, 2010
    …rmal_sys
    
    Initialize sysfs attributes before device_create_file call.
    
    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15548
    
    Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
    Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Greg KH <gregkh@suse.de>
    Cc: Zhang Rui <rui.zhang@intel.com>
    Cc: Len Brown <len.brown@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  27. cciss: unlock on error path

    error27 committed with torvalds Apr 6, 2010
    We take the spin_lock again in fail_all_cmds() so we need to unlock here.
    
    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Acked-by: Steve Cameron <scameron@beardog.cce.hp.com>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  28. mxser: spin_lock() => spin_lock_irq()

    error27 committed with torvalds Apr 6, 2010
    This should be spin_lock_irq() to match the spin_unlock_irq().  Originally
    it was a lock_kernel() but we switched everything to spin_lock_irq() last
    November.
    
    [akpm@linux-foundation.org: fix the MOXA_ASPP_MON case too (per Jiri)]
    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Cc: Jiri Slaby <jirislaby@gmail.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  29. omap hsmmc: fix a bug in card remove scenario

    Madhusudhan Chikkature committed with torvalds Apr 6, 2010
    The reset of data lines when the card is removed from the cage results in
    a failure.The failure is seen if the card is removed from the cage when TC
    is pending after a CMD with data received CC.The reset logic leaves the
    controller in a state where niether a TC is received nor DTO.
    
    The rest code can be safely removed here since it is taken care in the IRQ
    handler.
    
    Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
    Cc: Adrian Hunter <adrian.hunter@nokia.com>
    Cc: <linux-mmc@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  30. drivers/gpio/timbgpio.c: add missing unlock

    JuliaLawall committed with torvalds Apr 6, 2010
    In an error handling case the lock is not unlocked.  The return is
    converted to a goto, to share the unlock at the end of the function.
    
    A simplified version of the semantic patch that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    expression E1;
    identifier f;
    @@
    
    f (...) { <+...
    * spin_lock_irqsave (E1,...);
    ... when != E1
    * return ...;
    ...+> }
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia@diku.dk>
    Cc: <richard.rojfors@pelagicore.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  31. drivers/char/amiserial.c: add missing local_irq_restore

    JuliaLawall committed with torvalds Apr 6, 2010
    rs_init() is failing to restore interrupts on two error paths, and is
    incorrectly calling tty_unregister_driver() with local interrupts
    disabled.
    
    Fix these things by disabling interrupts later, after the reauest_irq()
    calls.
    
    A simplified version of the semantic patch that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    expression E1;
    identifier f;
    @@
    
    f (...) { <+...
    * local_irq_save (E1,...);
    ... when != E1
    * return ...;
    ...+> }
    // </smpl>
    
    [akpm@linux-foundation.org: reimplement the fix]
    Signed-off-by: Julia Lawall <julia@diku.dk>
    Cc: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  32. fbdev: rename imacfb.txt to efifb.txt and change imacfb to efifb.

    Justin P. Mattock committed with torvalds Apr 6, 2010
    Rename imacfb.txt to efifb.txt since imacfb was moved to efifb,and change
    imacfb to efifb.
    
    Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  33. vesafb: use platform_driver_probe() instead of platform_driver_regist…

    Jan Beulich committed with torvalds Apr 6, 2010
    …er()
    
    Commit c2e1303 ("platform-drivers: move
    probe to .devinit.text in drivers/video") introduced a huge amount of
    section mismatch warnings in vesafb code.  Rather than converting all of
    the annotations, do the obvious and revert the __init -> __devinit change,
    and use the recommended (in that patch) alternative to calling
    platform_driver_register(): vesafb depends on information obtained from by
    kernel at boot time, cannot be a module, and no post-boot devices can ever
    show up.
    
    Signed-off-by: Jan Beulich <jbeulich@novell.com>
    Cc: Greg KH <greg@kroah.com>
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  34. include/linux/kfifo.h: fix INIT_KFIFO()

    Alphix committed with torvalds Apr 6, 2010
    DECLARE_KFIFO creates a union with a struct kfifo and a buffer array with
    size [size + sizeof(struct kfifo)].
    
    INIT_KFIFO then sets the buffer pointer in struct kfifo to point to the
    beginning of the buffer array which means that the first call to kfifo_in
    will overwrite members of the struct kfifo.
    
    Signed-off-by: David Härdeman <david@hardeman.nu>
    Acked-by: Stefani Seibold <stefani@seibold.net>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  35. mm: avoid null-pointer deref in sync_mm_rss()

    hkamezawa committed with torvalds Apr 6, 2010
    - We weren't zeroing p->rss_stat[] at fork()
    
    - Consequently sync_mm_rss() was dereferencing tsk->mm for kernel
      threads and was oopsing.
    
    - Make __sync_task_rss_stat() static, too.
    
    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15648
    
    [akpm@linux-foundation.org: remove the BUG_ON(!mm->rss)]
    Reported-by: Troels Liebe Bentsen <tlb@rapanden.dk>
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Minchan Kim <minchan.kim@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>