13 Apr, 2012

26 commits

  • Pull trivial perf build failure fix from Thomas Gleixner.

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Fix getrusage() related build failure on glibc trunk

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "The itimer removal one is not strictly a fix, but I really wanted to
    avoid a rebase of the urgent ones."

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    Revert "clocksource: Load the ACPI PM clocksource asynchronously"
    clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()
    itimer: Use printk_once instead of WARN_ONCE
    nohz: Fix stale jiffies update in tick_nohz_restart()
    tick: Document TICK_ONESHOT config option
    proc: stats: Use arch_idle_time for idle and iowait times if available
    itimer: Schedule silent NULL pointer fixup in setitimer() for removal

    Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Use correct byte-sized register constraint in __add()
    x86: Use correct byte-sized register constraint in __xchg_op()
    x86: vsyscall: Use NULL instead 0 for a pointer argument

    Linus Torvalds
     
  • Merge fixes from Andrew Morton.

    * emailed from Andrew Morton : (14 patches)
    panic: fix stack dump print on direct call to panic()
    drivers/rtc/rtc-pl031.c: enable clock on all ST variants
    Revert "mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()"
    hugetlb: fix race condition in hugetlb_fault()
    drivers/rtc/rtc-twl.c: use static register while reading time
    drivers/rtc/rtc-s3c.c: add placeholder for driver private data
    drivers/rtc/rtc-s3c.c: fix compilation error
    MAINTAINERS: add PCDP console maintainer
    memcg: do not open code accesses to res_counter members
    drivers/rtc/rtc-efi.c: fix section mismatch warning
    drivers/rtc/rtc-r9701.c: reset registers if invalid values are detected
    drivers/char/random.c: fix boot id uniqueness race
    memcg: fix broken boolen expression
    memcg: fix up documentation on global LRU

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Fix bluetooth userland regression reported by Keith Packard, from
    Gustavo Padovan.

    2) Revert ath9k PS idle change, from Sujith Manoharan.

    3) Correct default TCP memory limits (again), from Eric Dumazet.

    4) Fix tcp_rcv_rtt_update() accidental use of unscaled RTT, from Neal
    Cardwell.

    5) We made a facility for layers like wireless to say how much tailroom
    they need in the SKB for link layer stuff such as wireless
    encryption etc., but TCP works hard to fill every SKB out to the end
    defeating this specification.

    This leads to every TCP packet getting reallocated by the wireless
    code in order to have the right amount of tailroom available.

    Fix TCP to only fill SKBs out to the real amount of data area it
    asked for during the allocation, this way it won't eat into the
    slack added for the device's tailroom needs.

    Reported by Marc Merlin and fixed by Eric Dumazet.

    6) Leaks, endian bugs, and new device IDs in bluetooth from Santosh
    Nayak, João Paulo Rechi Vita, Cho, Yu-Chen, Andrei Emeltchenko,
    AceLan Kao, and Andrei Emeltchenko.

    7) OOPS on tty_close fix in bluetooth's hci_ldisc from Johan Hovold.

    8) netfilter erroneously scales TCP window twice, fix from Changli Gao.

    9) Memleak fix in wext-core from Julia Lawall.

    10) Consistently handle invalid TCP packets in ipv4 vs. ipv6 conntrack,
    from Jozsef Kadlecsik.

    11) Validate IP header length properly in netfilter conntrack's
    ipv4_get_l4proto().

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (39 commits)
    NFC: Fix the LLCP Tx fragmentation loop
    rtlwifi: Add missing DMA buffer unmapping for PCI drivers
    rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine
    tcp: avoid order-1 allocations on wifi and tx path
    net: allow pskb_expand_head() to get maximum tailroom
    bridge: Do not send queries on multicast group leaves
    MAINTAINERS: Mark NATSEMI driver as orphan'd.
    tcp: fix tcp_rcv_rtt_update() use of an unscaled RTT sample
    tcp: restore correct limit
    Revert "ath9k: fix going to full-sleep on PS idle"
    rt2x00: Fix rfkill_polling register function.
    bcma: fix build error on MIPS; implicit pcibios_enable_device
    netfilter: nf_conntrack: fix incorrect logic in nf_conntrack_init_net
    netfilter: nf_ct_ipv4: packets with wrong ihl are invalid
    netfilter: nf_ct_ipv4: handle invalid IPv4 and IPv6 packets consistently
    net/wireless/wext-core.c: add missing kfree
    rtlwifi: Fix oops on rate-control failure
    mac80211: Convert WARN_ON to WARN_ON_ONCE
    rtlwifi: rtl8192de: Fix firmware initialization
    nl80211: ensure interface is up in various APIs
    ...

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Mostly exynos and intel.

    Intel has 3 regression fixers (more info in intel merge commit), along
    with some other make hw work fixes, exynos has some cleanups and an
    ioctl fix.

    A couple of radeon fixes, couple of build fixes, and a savage
    userspace interface possible overflow fix."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (23 commits)
    drm/exynos: fixed exynos broken ioctl
    drm/i915: clear fencing tracking state when retiring requests
    drm/exynos: fix to pointer manager member of struct exynos_drm_subdrv
    drm/exynos: fix struct for operation callback functions to driver name
    drm/exynos: use define instead of default_win member in struct mixer_context
    drm/exynos: rename s/HDMI_OVERLAY_NUMBER/MIXER_WIN_NR
    drm/exynos: remove unused codes in hdmi and mixer
    drm/exynos: remove unnecessary type conversion of hdmi and mixer
    drm/i915: make rc6 module parameter read-only
    drm/i915: implement ColorBlt w/a
    drm/i915/ringbuffer: Exclude last 2 cachlines of ring on 845g
    Revert "drm/i915: reenable gmbus on gen3+ again"
    drm/radeon: only add the mm i2c bus if the hw_i2c module param is set
    vgaarb.h: fix build warnings
    drm/i915: properly compute dp dithering for user-created modes
    drm/radeon/kms: fix DVO setup on some r4xx chips
    drm/savage: fix integer overflows in savage_bci_cmdbuf()
    drm/radeon: replace udelay with mdelay for long timeouts
    drm/i915: Finish any pending operations on the framebuffer before disabling
    drm/i915: Removed IVB forced enable of sprite dest key.
    ...

    Linus Torvalds
     
  • Pull a few more fixes for md from NeilBrown:
    "Two are tagged for -stable. They can cause an oops, but very rarely."

    * tag 'md-3.4-fixes' of git://neil.brown.name/md:
    md/bitmap: prevent bitmap_daemon_work running while initialising bitmap
    md/raid1,raid10: Fix calculation of 'vcnt' when processing error recovery.
    MD: Bitmap version cleanup.

    Linus Torvalds
     
  • Commit 6e6f0a1f0fa6 ("panic: don't print redundant backtraces on oops")
    causes a regression where no stack trace will be printed at all for the
    case where kernel code calls panic() directly while not processing an
    oops, and of course there are 100's of instances of this type of call.

    The original commit executed the check (!oops_in_progress), but this will
    always be false because just before the dump_stack() there is a call to
    bust_spinlocks(1), which does the following:

    void __attribute__((weak)) bust_spinlocks(int yes)
    {
    if (yes) {
    ++oops_in_progress;

    The proper way to resolve the problem that original commit tried to
    solve is to avoid printing a stack dump from panic() when the either of
    the following conditions is true:

    1) TAINT_DIE has been set (this is done by oops_end())
    This indicates and oops has already been printed.
    2) oops_in_progress > 1
    This guards against the rare case where panic() is invoked
    a second time, or in between oops_begin() and oops_end()

    Signed-off-by: Jason Wessel
    Cc: Andi Kleen
    Cc: [3.3+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jason Wessel
     
  • The ST variants of the PL031 all require bit 26 in the control register
    to be set before they work properly. Discovered this when testing on
    the Nomadik board where it would suprisingly just stand still.

    Signed-off-by: Linus Walleij
    Cc: Mian Yousaf Kaukab
    Cc: Alessandro Rubini
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Walleij
     
  • This reverts commit c38446cc65e1f2b3eb8630c53943b94c4f65f670.

    Before the commit, the code makes senses to me but not after the commit.
    The "nr_reclaimed" is the number of pages reclaimed by scanning through
    the memcg's lru lists. The "nr_to_reclaim" is the target value for the
    whole function. For example, we like to early break the reclaim if
    reclaimed 32 pages under direct reclaim (not DEF_PRIORITY).

    After the reverted commit, the target "nr_to_reclaim" is decremented each
    time by "nr_reclaimed" but we still use it to compare the "nr_reclaimed".
    It just doesn't make sense to me...

    Signed-off-by: Ying Han
    Acked-by: Hugh Dickins
    Cc: Rik van Riel
    Cc: Hillf Danton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ying Han
     
  • The race is as follows:

    Suppose a multi-threaded task forks a new process (on cpu A), thus
    bumping up the ref count on all the pages. While the fork is occurring
    (and thus we have marked all the PTEs as read-only), another thread in
    the original process (on cpu B) tries to write to a huge page, taking an
    access violation from the write-protect and calling hugetlb_cow(). Now,
    suppose the fork() fails. It will undo the COW and decrement the ref
    count on the pages, so the ref count on the huge page drops back to 1.
    Meanwhile hugetlb_cow() also decrements the ref count by one on the
    original page, since the original address space doesn't need it any
    more, having copied a new page to replace the original page. This
    leaves the ref count at zero, and when we call unlock_page(), we panic.

    fork on CPU A fault on CPU B
    ============= ==============
    ...
    down_write(&parent->mmap_sem);
    down_write_nested(&child->mmap_sem);
    ...
    while duplicating vmas
    if error
    break;
    ...
    up_write(&child->mmap_sem);
    up_write(&parent->mmap_sem); ...
    down_read(&parent->mmap_sem);
    ...
    lock_page(page);
    handle COW
    page_mapcount(old_page) == 2
    alloc and prepare new_page
    ...
    handle error
    page_remove_rmap(page);
    put_page(page);
    ...
    fold new_page into pte
    page_remove_rmap(page);
    put_page(page);
    ...
    oops ==> unlock_page(page);
    up_read(&parent->mmap_sem);

    The solution is to take an extra reference to the page while we are
    holding the lock on it.

    Signed-off-by: Chris Metcalf
    Cc: Hillf Danton
    Cc: Michal Hocko
    Cc: KAMEZAWA Hiroyuki
    Cc: Hugh Dickins
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Metcalf
     
  • RTC stores time and date in several registers. Due to the fact that
    these registers can't be read instantaneously, there is a chance that
    reading from counting registers gives an error of one minute, one hour,
    one day, etc.

    To address this issue, the RTC has hardware support to copy the RTC
    counting registers to static shadowed registers. The current
    implementation does not use this feature, and in a stress test, we can
    reproduce this error at a rate of around two times per 300000 readings.

    Fix the implementation to ensure that the right snapshot of time is
    captured.

    Signed-off-by: Konstantin Shlyakhovoy
    Signed-off-by: Nishanth Menon
    Cc: Alessandro Zummo
    Cc: Benoit Cousson
    Cc: linux-omap
    Acked-by: Mykola Oleksiienko
    Acked-by: Oleksandr Dmytryshyn
    Acked-by: Graeme Gregory
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Shlyakhovoy
     
  • Driver data field is a pointer, hence assigning that to an integer results
    in compilation warnings.

    Fixes following compilation warnings:

    drivers/rtc/rtc-s3c.c: In function `s3c_rtc_get_driver_data':
    drivers/rtc/rtc-s3c.c:452:3: warning: return makes integer from pointer without a cast [enabled by default]
    drivers/rtc/rtc-s3c.c: At top level:
    drivers/rtc/rtc-s3c.c:674:3: warning: initialization makes pointer from integer without a cast [enabled by default]
    drivers/rtc/rtc-s3c.c:674:3: warning: (near initialization for `s3c_rtc_dt_match[1].data') [enabled by default]
    drivers/rtc/rtc-s3c.c:677:3: warning: initialization makes pointer from integer without a cast [enabled by default]
    drivers/rtc/rtc-s3c.c:677:3: warning: (near initialization for `s3c_rtc_dt_match[2].data') [enabled by default]
    drivers/rtc/rtc-s3c.c:680:3: warning: initialization makes pointer from integer without a cast [enabled by default]
    drivers/rtc/rtc-s3c.c:680:3: warning: (near initialization for `s3c_rtc_dt_match[3].data') [enabled by default]

    Signed-off-by: Tushar Behera
    Cc: Heiko Stuebner
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tushar Behera
     
  • Fix this error:

    drivers/rtc/rtc-s3c.c: At top level:
    drivers/rtc/rtc-s3c.c:671:3: error: request for member `data' in something not a structure or union
    drivers/rtc/rtc-s3c.c:674:3: error: request for member `data' in something not a structure or union
    drivers/rtc/rtc-s3c.c:677:3: error: request for member `data' in something not a structure or union
    drivers/rtc/rtc-s3c.c:680:3: error: request for member `data' in something not a structure or union

    Signed-off-by: Tushar Behera
    Cc: Heiko Stuebner
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tushar Behera
     
  • Add missing maintainer info for PCDP console code.

    Signed-off-by: Khalid Aziz
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Khalid Aziz
     
  • We should use the accessor res_counter_read_u64 for that.

    Although a purely cosmetic change is sometimes better delayed, to avoid
    conflicting with other people's work, we are starting to have people
    touching this code as well, and reproducing the open code behavior
    because that's the standard =)

    Time to fix it, then.

    Signed-off-by: Glauber Costa
    Cc: Johannes Weiner
    Acked-by: Michal Hocko
    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Glauber Costa
     
  • efi_rtc_init() uses platform_driver_probe(), so there's no need to also
    set efi_rtc_driver's probe member (as it won't be used anyway). This
    fixes a modpost section mismatch warning (as efi_rtc_probe() validly is
    __init).

    Signed-off-by: Jan Beulich
    Cc: Matthew Garrett
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • hwclock refuses to set date/time if RTC registers contain invalid
    values. Check the date/time register values at probe time and
    initialize them to make hwclock happy.

    Signed-off-by: Andreas Dumberger
    Signed-off-by: Anatolij Gustschin
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Dumberger
     
  • /proc/sys/kernel/random/boot_id can be read concurrently by userspace
    processes. If two (or more) user-space processes concurrently read
    boot_id when sysctl_bootid is not yet assigned, a race can occur making
    boot_id differ between the reads. Because the whole point of the boot id
    is to be unique across a kernel execution, fix this by protecting this
    operation with a spinlock.

    Given that this operation is not frequently used, hitting the spinlock
    on each call should not be an issue.

    Signed-off-by: Mathieu Desnoyers
    Cc: "Theodore Ts'o"
    Cc: Matt Mackall
    Signed-off-by: Eric Dumazet
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • action != CPU_DEAD || action != CPU_DEAD_FROZEN is always true.

    Signed-off-by: Kirill A. Shutemov
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • In v3.3-rc1, the global LRU was removed in commit 925b7673cce3 ("mm:
    make per-memcg LRU lists exclusive"). The patch fixes up the memcg
    docs.

    I left the swap session to someone who has better understanding of
    'memory+swap'.

    Signed-off-by: Ying Han
    Acked-by: Michal Hocko
    Acked-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ying Han
     
  • Pull irqdomain bug fixes from Grant Likely:
    "This branch fixes a bug in irq_create_mapping() where an error return
    from irq_alloc_desc_from() gets ignored.

    It also removes irq_virq_count to fix a bug on powerpc where the
    irqdomain code does not find irqs allocated above the CONFIG_NR_IRQS
    boundary.

    The remaining patches get rid of an completely pointless export and
    fix some minor bugs in the irqdomain debug output."

    * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    irq_domain: Move irq_virq_count into NOMAP revmap
    irqdomain: Fix debugfs formatting
    irq_domain: correct the debugfs file name
    irq: Kill pointless irqd_to_hw export
    irq/irq_domain: Quit ignoring error returns from irq_alloc_desc_from().

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "Just a few small fixes..."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: da9052 - fix memory leak in da9052_onkey_probe()
    Input: gpio_mouse - use linux/gpio.h rather than asm/gpio.h
    Input: trackpoint - use psmouse_fmt() for messages
    Input: elantech - v4 is a clickpad, with only one button
    Input: elantech - reset touchpad before configuring it
    Input: sentelic - filter taps in absolute mode
    Input: tps6507x-ts - fix MODULE_ALIAS to match driver name

    Linus Torvalds
     
  • Pull vfs fixes from Al Viro:
    "Regression fix in mtdchar_open(), fix for a really old leak
    (almost never hit in practice - it's a b0rken failure exit in
    simple_fill_super()) and a typo fix in vfs.txt (misspelled
    method type)."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    typo fix in Documentation/filesystems/vfs.txt
    dentry leak in simple_fill_super() failure exit
    fix breakage in mtdchar_open(), sanitize failure exits

    Linus Torvalds
     
  • …msung into drm-intel-fixes

    * 'exynos-drm-fixes' of git://git.infradead.org/users/kmpark/linux-samsung:
    drm/exynos: fixed exynos broken ioctl
    drm/exynos: fix to pointer manager member of struct exynos_drm_subdrv
    drm/exynos: fix struct for operation callback functions to driver name
    drm/exynos: use define instead of default_win member in struct mixer_context
    drm/exynos: rename s/HDMI_OVERLAY_NUMBER/MIXER_WIN_NR
    drm/exynos: remove unused codes in hdmi and mixer
    drm/exynos: remove unnecessary type conversion of hdmi and mixer
    drm/exynos: add format list of plane
    drm/exynos: fixed duplicated page allocation bug.
    drm/exynos: fixed page align and code clean.

    Dave Airlie
     
  • … into drm-intel-fixes

    Daniel Vetter writes:
    3 regression fixes:
    - disable gmbus again, too broken for 3.4, we'll try again for 3.5
    - dp bandwidth computation fix, we've lost the 6bpc dithering flag
    sometimes, this is a 3.3 regression (maybe even earlier for some
    configurations).
    - fix resume regression caused by the gen2/3 fencing fix merged into -rc2.

    And a few other fixes:
    - gpu hang fix for i845 (Chris)
    - sprite fix (Armin Reese)
    - crtc disable vs. scanlinewait race fix (Chris)
    - rc6 module option read-only, it confused testers (Jesse)
    - fbc related blitter death hw workaround, note that we disable fbc on snb
    by default anyway.

    With these fixes we have one 3.4 regression outstanding: One of the
    cleanup patches for the interlaced support managed to confuse the lvds
    panel fitter when upscaling. The root-cause is still unclear, but test
    patches are awaiting feedback from the reporter.

    * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: clear fencing tracking state when retiring requests
    drm/i915: make rc6 module parameter read-only
    drm/i915: implement ColorBlt w/a
    drm/i915/ringbuffer: Exclude last 2 cachlines of ring on 845g
    Revert "drm/i915: reenable gmbus on gen3+ again"
    drm/i915: properly compute dp dithering for user-created modes
    drm/i915: Finish any pending operations on the framebuffer before disabling
    drm/i915: Removed IVB forced enable of sprite dest key.

    Dave Airlie
     

12 Apr, 2012

14 commits

  • …wireless into for-davem

    John W. Linville
     
  • this patch removes the pointer of uint64_t *edid. it should be just
    a uint64_t.

    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Inki Dae
     
  • This fixes a resume regression introduced in

    commit 7dd4906586274f3945f2aeaaa5a33b451c3b4bba
    Author: Chris Wilson
    Date: Wed Mar 21 10:48:18 2012 +0000

    drm/i915: Mark untiled BLT commands as fenced on gen2/3

    which fixed fencing tracking for untiled blt commands.

    A side effect of that patch was that now also untiled objects have a
    non-zero obj->last_fenced_seqno to track when a fence can be set up
    after a pipelined tiling change. Unfortunately this was only cleared
    by the fence setup and teardown code, resulting in tons of untiled but
    inactive objects with non-zero last_fenced_seqno.

    Now after resume we completely reset the seqno tracking, both on the
    driver side (by setting dev_priv->next_seqno = 1) and on the hw side
    (by allocating a new hws page, which contains the seqnos). Hilarity
    and indefinite waits ensued from the stale seqnos in
    obj->last_fenced_seqno from before the suspend.

    The fix is to properly clear the fencing tracking state like we
    already do for the normal gpu rendering while moving objects off the
    active list.

    Reported-and-tested-by: "Rafael J. Wysocki"
    Cc: Jiri Slaby
    Reviewed-by: Chris Wilson
    Signed-Off-by: Daniel Vetter

    Daniel Vetter
     
  • This patch replaces the old global setting of irq_virq_count that is only
    used by the NOMAP mapping and instead uses a revmap_data property so that
    the maximum NOMAP allocation can be set per NOMAP irq_domain.

    There is exactly one user of irq_virq_count in-tree right now: PS3.
    Also, irq_virq_count is only useful for the NOMAP mapping. So,
    instead of having a single global irq_virq_count values, this change
    drops it entirely and added a max_irq argument to irq_domain_add_nomap().
    That makes it a property of an individual nomap irq domain instead of
    a global system settting.

    Signed-off-by: Grant Likely
    Tested-by: Benjamin Herrenschmidt
    Cc: Thomas Gleixner
    Cc: Milton Miller

    Grant Likely
     
  • If a bitmap is added while the array is active, it is possible
    for bitmap_daemon_work to run while the bitmap is being
    initialised.
    This is particularly a problem if bitmap_daemon_work sees
    bitmap->filemap as non-NULL before it has been filled in properly.
    So hold bitmap_info.mutex while filling in ->filemap
    to prevent problems.

    This patch is suitable for any -stable kernel, though it might not
    apply cleanly before about 3.1.

    Cc: stable@vger.kernel.org
    Signed-off-by: NeilBrown

    NeilBrown
     
  • If r1bio->sectors % 8 != 0,then the memcmp and a later
    memcpy will omit the last bio_vec.

    This is suitable for any stable kernel since 3.1 when bad-block
    management was introduced.

    Cc: stable@vger.kernel.org
    Signed-off-by: majianpeng
    Signed-off-by: NeilBrown

    majianpeng
     
  • bitmap_new_disk_sb() would still create V3 bitmap superblock
    with host-endian layout.

    Perhaps I'm confused, but shouldn't bitmap_new_disk_sb() be
    creating a V4 bitmap superblock instead, that is portable,
    as per comment in bitmap.h?

    Signed-off-by: Andrei Warkentin
    Signed-off-by: NeilBrown

    Andrei Warkentin
     
  • The struct exynos_drm_manager has to exist for exynos drm sub driver
    using encoder and connector. If it isn't NULL to member of struct
    exynos_drm_subdrv, will create encoder and connector else will not. And
    the is_local member also doesn't need.

    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Joonyoung Shim
     
  • The mixer driver and hdmi driver have each operation callback functions
    and they is registered to hdmi common driver. Their struct names in hdmi
    common driver include display, manager and overlay. It confuses to
    appear whose operation and two driver cannot register same operation
    callback functions at the same time. Use their struct names to driver
    name.

    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Joonyoung Shim
     
  • The default_win member in struct mixer_context isn't change its value
    after initialized to 0, so it's better using to define.

    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Joonyoung Shim
     
  • HDMI_OVERLAY_NUMBER is specific of mixer driver and be used "windows
    layer" term in exynos user manaual, so rename it.

    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Joonyoung Shim
     
  • Some members in struct mixer_context aren't used and the define
    HDMI_OVERLAY_NUMBER is unused in hdmi driver, remove them.

    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Joonyoung Shim
     
  • When the void pointer type variable is assigned to the specific pointer
    type variable, don't need to do type conversion.

    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Joonyoung Shim
     
  • If, in drivers/input/misc/da9052_onkey.c::da9052_onkey_probe(), the
    call to either kzalloc() or input_allocate_device() fails then we will
    return -ENOMEM from the function without freeing the other allocation
    that may have succeeded, thus we leak either the memory allocated for
    'onkey' or the memory allocated for 'input_dev' if one succeeds and
    the other fails.
    Fix that by jumping to the 'err_free_mem' label at the end of the
    function that properly cleans up rather than returning directly.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Dmitry Torokhov

    Jesper Juhl