16 Apr, 2013

1 commit

  • We want to be able to use the utf16 functions that are currently present
    in the EFI variables code in platform-specific code as well. Move them to
    the kernel core, and in the process rename them to accurately describe what
    they do - they don't handle UTF16, only UCS2.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Matt Fleming

    Matthew Garrett
     

11 Apr, 2013

1 commit


09 Apr, 2013

1 commit

  • Let's not burden ia64 with checks in the common efivars code that we're not
    writing too much data to the variable store. That kind of thing is an x86
    firmware bug, plain and simple.

    efi_query_variable_store() provides platforms with a wrapper in which they can
    perform checks and workarounds for EFI variable storage bugs.

    Cc: H. Peter Anvin
    Cc: Matthew Garrett
    Signed-off-by: Matt Fleming

    Matt Fleming
     

23 Mar, 2013

1 commit


21 Mar, 2013

4 commits

  • Some firmware exhibits a bug where the same VariableName and
    VendorGuid values are returned on multiple invocations of
    GetNextVariableName(). See,

    https://bugzilla.kernel.org/show_bug.cgi?id=47631

    As a consequence of such a bug, Andre reports hitting the following
    WARN_ON() in the sysfs code after updating the BIOS on his, "Gigabyte
    Technology Co., Ltd. To be filled by O.E.M./Z77X-UD3H, BIOS F19e
    11/21/2012)" machine,

    [ 0.581554] EFI Variables Facility v0.08 2004-May-17
    [ 0.584914] ------------[ cut here ]------------
    [ 0.585639] WARNING: at /home/andre/linux/fs/sysfs/dir.c:536 sysfs_add_one+0xd4/0x100()
    [ 0.586381] Hardware name: To be filled by O.E.M.
    [ 0.587123] sysfs: cannot create duplicate filename '/firmware/efi/vars/SbAslBufferPtrVar-01f33c25-764d-43ea-aeea-6b5a41f3f3e8'
    [ 0.588694] Modules linked in:
    [ 0.589484] Pid: 1, comm: swapper/0 Not tainted 3.8.0+ #7
    [ 0.590280] Call Trace:
    [ 0.591066] [] ? sysfs_add_one+0xd4/0x100
    [ 0.591861] [] warn_slowpath_common+0x7f/0xc0
    [ 0.592650] [] warn_slowpath_fmt+0x4c/0x50
    [ 0.593429] [] ? strlcat+0x65/0x80
    [ 0.594203] [] sysfs_add_one+0xd4/0x100
    [ 0.594979] [] create_dir+0x78/0xd0
    [ 0.595753] [] sysfs_create_dir+0x86/0xe0
    [ 0.596532] [] kobject_add_internal+0x9c/0x220
    [ 0.597310] [] kobject_init_and_add+0x67/0x90
    [ 0.598083] [] ? efivar_create_sysfs_entry+0x61/0x1c0
    [ 0.598859] [] efivar_create_sysfs_entry+0x11b/0x1c0
    [ 0.599631] [] register_efivars+0xde/0x420
    [ 0.600395] [] ? edd_init+0x2f5/0x2f5
    [ 0.601150] [] efivars_init+0xb8/0x104
    [ 0.601903] [] do_one_initcall+0x12a/0x180
    [ 0.602659] [] kernel_init_freeable+0x13e/0x1c6
    [ 0.603418] [] ? loglevel+0x31/0x31
    [ 0.604183] [] ? rest_init+0x80/0x80
    [ 0.604936] [] kernel_init+0xe/0xf0
    [ 0.605681] [] ret_from_fork+0x7c/0xb0
    [ 0.606414] [] ? rest_init+0x80/0x80
    [ 0.607143] ---[ end trace 1609741ab737eb29 ]---

    There's not much we can do to work around and keep traversing the
    variable list once we hit this firmware bug. Our only solution is to
    terminate the loop because, as Lingzhu reports, some machines get
    stuck when they encounter duplicate names,

    > I had an IBM System x3100 M4 and x3850 X5 on which kernel would
    > get stuck in infinite loop creating duplicate sysfs files because,
    > for some reason, there are several duplicate boot entries in nvram
    > getting GetNextVariableName into a circle of iteration (with
    > period > 2).

    Also disable the workqueue, as efivar_update_sysfs_entries() uses
    GetNextVariableName() to figure out which variables have been created
    since the last iteration. That algorithm isn't going to work if
    GetNextVariableName() returns duplicates. Note that we don't disable
    EFI variable creation completely on the affected machines, it's just
    that any pstore dump-* files won't appear in sysfs until the next
    boot.

    Reported-by: Andre Heider
    Reported-by: Lingzhu Xiang
    Tested-by: Lingzhu Xiang
    Cc: Seiji Aguchi
    Cc:
    Signed-off-by: Matt Fleming

    Matt Fleming
     
  • It's not wise to assume VariableNameSize represents the length of
    VariableName, as not all firmware updates VariableNameSize in the same
    way (some don't update it at all if EFI_SUCCESS is returned). There
    are even implementations out there that update VariableNameSize with
    values that are both larger than the string returned in VariableName
    and smaller than the buffer passed to GetNextVariableName(), which
    resulted in the following bug report from Michael Schroeder,

    > On HP z220 system (firmware version 1.54), some EFI variables are
    > incorrectly named :
    >
    > ls -d /sys/firmware/efi/vars/*8be4d* | grep -v -- -8be returns
    > /sys/firmware/efi/vars/dbxDefault-pport8be4df61-93ca-11d2-aa0d-00e098032b8c
    > /sys/firmware/efi/vars/KEKDefault-pport8be4df61-93ca-11d2-aa0d-00e098032b8c
    > /sys/firmware/efi/vars/SecureBoot-pport8be4df61-93ca-11d2-aa0d-00e098032b8c
    > /sys/firmware/efi/vars/SetupMode-Information8be4df61-93ca-11d2-aa0d-00e098032b8c

    The issue here is that because we blindly use VariableNameSize without
    verifying its value, we can potentially read garbage values from the
    buffer containing VariableName if VariableNameSize is larger than the
    length of VariableName.

    Since VariableName is a string, we can calculate its size by searching
    for the terminating NULL character.

    Reported-by: Frederic Crozat
    Cc: Matthew Garrett
    Cc: Josh Boyer
    Cc: Michael Schroeder
    Cc: Lee, Chun-Yi
    Cc: Lingzhu Xiang
    Cc: Seiji Aguchi
    Signed-off-by: Matt Fleming

    Matt Fleming
     
  • We know that with some firmware implementations writing too much data to
    UEFI variables can lead to bricking machines. Recent changes attempt to
    address this issue, but for some it may still be prudent to avoid
    writing large amounts of data until the solution has been proven on a
    wide variety of hardware.

    Crash dumps or other data from pstore can potentially be a large data
    source. Add a pstore_module parameter to efivars to allow disabling its
    use as a backend for pstore. Also add a config option,
    CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE, to allow setting the default
    value of this paramter to true (i.e. disabled by default).

    Signed-off-by: Seth Forshee
    Cc: Josh Boyer
    Cc: Matthew Garrett
    Cc: Seiji Aguchi
    Cc: Tony Luck
    Cc:
    Signed-off-by: Matt Fleming

    Seth Forshee
     
  • Add a new option, CONFIG_EFI_VARS_PSTORE, which can be set to N to
    avoid using efivars as a backend to pstore, as some users may want to
    compile out the code completely.

    Set the default to Y to maintain backwards compatability, since this
    feature has always been enabled until now.

    Signed-off-by: Seth Forshee
    Cc: Josh Boyer
    Cc: Matthew Garrett
    Cc: Seiji Aguchi
    Cc: Tony Luck
    Cc:
    Signed-off-by: Matt Fleming

    Seth Forshee
     

11 Mar, 2013

1 commit


10 Mar, 2013

2 commits

  • Pull namespace bugfixes from Eric Biederman:
    "This is three simple fixes against 3.9-rc1. I have tested each of
    these fixes and verified they work correctly.

    The userns oops in key_change_session_keyring and the BUG_ON triggered
    by proc_ns_follow_link were found by Dave Jones.

    I am including the enhancement for mount to only trigger requests of
    filesystem modules here instead of delaying this for the 3.10 merge
    window because it is both trivial and the kind of change that tends to
    bit-rot if left untouched for two months."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    proc: Use nd_jump_link in proc_ns_follow_link
    fs: Limit sys_mount to only request filesystem modules (Part 2).
    fs: Limit sys_mount to only request filesystem modules.
    userns: Stop oopsing in key_change_session_keyring

    Linus Torvalds
     
  • There is a more complete atmel patch-series out by Nick Dyer that fixes
    this and other things, but in the meantime this is the minimal thing to
    get the touchscreen going on (at least my) Pixel Chromebook.

    Not that I want my dirty fingers near that beautiful screen, but it
    seems that a non-initialized touchscreen will also end up being a
    constant wakeup source, so you have to disable it to go to sleep. And
    it's easier to just fix the initialization sequence.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

09 Mar, 2013

23 commits

  • Update proc_ns_follow_link to use nd_jump_link instead of just
    manually updating nd.path.dentry.

    This fixes the BUG_ON(nd->inode != parent->d_inode) reported by Dave
    Jones and reproduced trivially with mkdir /proc/self/ns/uts/a.

    Sigh it looks like the VFS change to require use of nd_jump_link
    happend while proc_ns_follow_link was baking and since the common case
    of proc_ns_follow_link continued to work without problems the need for
    making this change was overlooked.

    Cc: stable@vger.kernel.org
    Signed-off-by: "Eric W. Biederman"

    Eric W. Biederman
     
  • Pull btrfs fixes from Chris Mason:
    "These are scattered fixes and one performance improvement. The
    biggest functional change is in how we throttle metadata changes. The
    new code bumps our average file creation rate up by ~13% in fs_mark,
    and lowers CPU usage.

    Stefan bisected out a regression in our allocation code that made
    balance loop on extents larger than 256MB."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: improve the delayed inode throttling
    Btrfs: fix a mismerge in btrfs_balance()
    Btrfs: enforce min_bytes parameter during extent allocation
    Btrfs: allow running defrag in parallel to administrative tasks
    Btrfs: avoid deadlock on transaction waiting list
    Btrfs: do not BUG_ON on aborted situation
    Btrfs: do not BUG_ON in prepare_to_reloc
    Btrfs: free all recorded tree blocks on error
    Btrfs: build up error handling for merge_reloc_roots
    Btrfs: check for NULL pointer in updating reloc roots
    Btrfs: fix unclosed transaction handler when the async transaction commitment fails
    Btrfs: fix wrong handle at error path of create_snapshot() when the commit fails
    Btrfs: use set_nlink if our i_nlink is 0

    Linus Torvalds
     
  • Add basic platform data to get the current upstream driver working
    with the 224s touchpad and 1664s touchscreen.
    We will be using NULL config so we will use the settings from the
    devices' NVRAMs.

    Signed-off-by: Benson Leung
    Tested-by: Olof Johansson
    Signed-off-by: Linus Torvalds

    Benson Leung
     
  • This same driver can be used by atmel based touchscreens and touchpads
    (buttonpads). Platform data may specify a device is a touchpad
    using the is_tp flag.

    This will cause the driver to perform some touchpad specific
    initializations, such as:
    * register input device name "Atmel maXTouch Touchpad" instead of
    Touchscreen.
    * register BTN_LEFT & BTN_TOOL_* event types.
    * register axis resolution (as a fixed constant, for now)
    * register BUTTONPAD property
    * process GPIO buttons using reportid T19

    Input event GPIO mapping is done by the platform data key_map array.

    key_map[x] should contain the KEY or BTN code to send when processing
    GPIOx from T19. To specify a GPIO as not an input source, populate
    with KEY_RESERVED, or 0.

    Signed-off-by: Daniel Kurtz
    Signed-off-by: Benson Leung
    Signed-off-by: Nick Dyer
    Tested-by: Olof Johansson
    Signed-off-by: Linus Torvalds

    Daniel Kurtz
     
  • Pull CIFS fixes from Steve French:
    "A small set of cifs fixes which includes one for a recent regression
    in the write path (pointed out by Anton), some fixes for rename
    problems and as promised for 3.9 removing the obsolete sockopt mount
    option (and the accompanying deprecation warning)."

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    CIFS: Fix missing of oplock_read value in smb30_values structure
    cifs: don't try to unlock pagecache page after releasing it
    cifs: remove the sockopt= mount option
    cifs: Check server capability before attempting silly rename
    cifs: Fix bug when checking error condition in cifs_rename_pending_delete()

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton.

    * emailed patches from Andrew Morton :
    alpha: boot: fix build breakage introduced by system.h disintegration
    memcg: initialize kmem-cache destroying work earlier
    Randy has moved
    ksm: fix m68k build: only NUMA needs pfn_to_nid
    dmi_scan: fix missing check for _DMI_ signature in smbios_present()
    Revert parts of "hlist: drop the node parameter from iterators"
    idr: remove WARN_ON_ONCE() on negative IDs
    mm/mempolicy.c: fix sp_node_init() argument ordering
    mm/mempolicy.c: fix wrong sp_node insertion
    ipc: don't allocate a copy larger than max
    ipc: fix potential oops when src msg > 4k w/ MSG_COPY

    Linus Torvalds
     
  • Commit ec2212088c42 ("Disintegrate asm/system.h for Alpha") removed the
    system.h include from boot/head.S, which puts the PAL_* asm constants
    out of scope.

    Include so we can get building again.

    Signed-off-by: Will Deacon
    Cc: David Rusling
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Will Deacon
     
  • Fix a warning from lockdep caused by calling cancel_work_sync() for
    uninitialized struct work. This path has been triggered by destructon
    kmem-cache hierarchy via destroying its root kmem-cache.

    cache ffff88003c072d80
    obj ffff88003b410000 cache ffff88003c072d80
    obj ffff88003b924000 cache ffff88003c20bd40
    INFO: trying to register non-static key.
    the code is fine but needs lockdep annotation.
    turning off the locking correctness validator.
    Pid: 2825, comm: insmod Tainted: G O 3.9.0-rc1-next-20130307+ #611
    Call Trace:
    __lock_acquire+0x16a2/0x1cb0
    lock_acquire+0x8a/0x120
    flush_work+0x38/0x2a0
    __cancel_work_timer+0x89/0xf0
    cancel_work_sync+0xb/0x10
    kmem_cache_destroy_memcg_children+0x81/0xb0
    kmem_cache_destroy+0xf/0xe0
    init_module+0xcb/0x1000 [kmem_test]
    do_one_initcall+0x11a/0x170
    load_module+0x19b0/0x2320
    SyS_init_module+0xc6/0xf0
    system_call_fastpath+0x16/0x1b

    Example module to demonstrate:

    #include
    #include
    #include
    #include

    int __init mod_init(void)
    {
    int size = 256;
    struct kmem_cache *cache;
    void *obj;
    struct page *page;

    cache = kmem_cache_create("kmem_cache_test", size, size, 0, NULL);
    if (!cache)
    return -ENOMEM;

    printk("cache %p\n", cache);

    obj = kmem_cache_alloc(cache, GFP_KERNEL);
    if (obj) {
    page = virt_to_head_page(obj);
    printk("obj %p cache %p\n", obj, page->slab_cache);
    kmem_cache_free(cache, obj);
    }

    flush_scheduled_work();

    obj = kmem_cache_alloc(cache, GFP_KERNEL);
    if (obj) {
    page = virt_to_head_page(obj);
    printk("obj %p cache %p\n", obj, page->slab_cache);
    kmem_cache_free(cache, obj);
    }

    kmem_cache_destroy(cache);

    return -EBUSY;
    }

    module_init(mod_init);
    MODULE_LICENSE("GPL");

    Signed-off-by: Konstantin Khlebnikov
    Cc: Glauber Costa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     
  • Update email address and CREDITS info. xenotime.net is defunct.

    Signed-off-by: Randy Dunlap
    Cc: Harry Wei
    Cc: Keiichi KII
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • A CONFIG_DISCONTIGMEM=y m68k config gave

    mm/ksm.c: In function `get_kpfn_nid':
    mm/ksm.c:492: error: implicit declaration of function `pfn_to_nid'

    linux/mmzone.h declares it for CONFIG_SPARSEMEM and CONFIG_FLATMEM, but
    expects the arch's asm/mmzone.h to declare it for CONFIG_DISCONTIGMEM
    (see arch/mips/include/asm/mmzone.h for example).

    Or perhaps it is only expected when CONFIG_NUMA=y: too much of a maze,
    and m68k got away without it so far, so fix the build in mm/ksm.c.

    Signed-off-by: Hugh Dickins
    Reported-by: Geert Uytterhoeven
    Cc: Petr Holasek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Commit 9f9c9cbb6057 ("drivers/firmware/dmi_scan.c: fetch dmi version
    from SMBIOS if it exists") hoisted the check for "_DMI_" into
    dmi_scan_machine(), which means that we don't bother to check for
    "_DMI_" at offset 16 in an SMBIOS entry. smbios_present() may also call
    dmi_present() for an address where we found "_SM_", if it failed further
    validation.

    Check for "_DMI_" in smbios_present() before calling dmi_present().

    [akpm@linux-foundation.org: fix build]
    Signed-off-by: Ben Hutchings
    Reported-by: Tim McGrath
    Tested-by: Tim Mcgrath
    Cc: Zhenzhong Duan
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Hutchings
     
  • Commit b67bfe0d42ca ("hlist: drop the node parameter from iterators")
    did a lot of nice changes but also contains two small hunks that seem to
    have slipped in accidentally and have no apparent connection to the
    intent of the patch.

    This reverts the two extraneous changes.

    Signed-off-by: Arnd Bergmann
    Cc: Peter Senna Tschudin
    Cc: Paul E. McKenney
    Cc: Sasha Levin
    Cc: Thomas Gleixner
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • idr_find(), idr_remove() and idr_replace() used to silently ignore the
    sign bit and perform lookup with the rest of the bits. The weird behavior
    has been changed such that negative IDs are treated as invalid. As the
    behavior change was subtle, WARN_ON_ONCE() was added in the hope of
    determining who's calling idr functions with negative IDs so that they can
    be examined for problems.

    Up until now, all two reported cases are ID number coming directly from
    userland and getting fed into idr_find() and the warnings seem to cause
    more problems than being helpful. Drop the WARN_ON_ONCE()s.

    Signed-off-by: Tejun Heo
    Reported-by:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • Currently, n_new is wrongly initialized. start and end parameter are
    inverted. Let's fix it.

    Signed-off-by: KOSAKI Motohiro
    Cc: Hillf Danton
    Cc: Sasha Levin
    Cc: Hugh Dickins
    Cc: Mel Gorman
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • n->end is accessed in sp_insert(). Thus it should be update
    before calling sp_insert(). This mistake may make kernel panic.

    Signed-off-by: Hillf Danton
    Signed-off-by: KOSAKI Motohiro
    Cc: Sasha Levin
    Cc: Hugh Dickins
    Cc: Mel Gorman
    Cc: Dave Jones
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hillf Danton
     
  • When MSG_COPY is set, a duplicate message must be allocated for the copy
    before locking the queue. However, the copy could not be larger than was
    sent which is limited to msg_ctlmax.

    Signed-off-by: Peter Hurley
    Acked-by: Stanislav Kinsbursky
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Hurley
     
  • If the src msg is > 4k, then dest->next points to the
    next allocated segment; resetting it just prior to dereferencing
    is bad.

    Signed-off-by: Peter Hurley
    Acked-by: Stanislav Kinsbursky
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Hurley
     
  • Pull tile architecture fixes from Chris Metcalf:
    "This fixes the bug that Al Viro spotted with the compat llseek code.
    I also fixed the compat syscall definitions to use the new syscall
    define macros to properly sign-extend their arguments."

    * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: properly use COMPAT_SYSCALL_DEFINEx
    tile: work around bug in the generic sys_llseek

    Linus Torvalds
     
  • Pull metag bugfixes from James Hogan:
    "A couple of fairly minor arch/metag integration fixes from v3.9-rc1:

    - remove SET_PERSONALITY(): use default definition like other arches
    now do.

    - inhibit NUMA balancing: like SH, NUMA is used for memories with
    different latencies. ARCH_WANT_VARIABLE_LOCALITY has been added
    for this purpose."

    * tag 'metag-for-v3.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
    metag: Inhibit NUMA balancing.
    metag: remove SET_PERSONALITY()

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "All are boring small fixes in various parts:
    - A few possible NULL-dereference or zero-division Oops fixes
    - Fix vmaster slave volume notification
    - Add codec ID for ALC233
    - Various fixes in several ASoC WM codecs
    - ASoC tegra i2c fix

    Sorry if you wanted a thrilling adventure with huge sharks :)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: ice1712: Initialize card->private_data properly
    ALSA: hda - Add support of new codec ALC233
    ALSA: hda/ca0132 - Avoid division by zero in dspxfr_one_seg()
    ALSA: hda - check NULL pointer when creating SPDIF PCM switch
    ALSA: hda - check NULL pointer when creating SPDIF controls
    ASoC: wm5102: Apply a SYSCLK patch for later revs
    ALSA: vmaster: Fix slave change notification
    ASoC: tegra: fix I2S bit count mask
    ALSA: seq: seq_oss_event: missing range checks
    ASoC: wm8350: Use jiffies rather than msecs in schedule_delayed_work()
    ASoC: wm5110: Correct OUT2/3 volume and switch names
    ASoC: wm5102: Correct OUT2 volume and switch names
    ASoC: wm8960: Fix ADC power bits
    ASoC: wm8960: Correct register 0 and 1 defaults

    Linus Torvalds
     
  • Pull HID fix from Jiri Kosina:
    "Bugfix for a long-standing bug in logitech-dj driver causing all sorts
    of random initialization problems, finally debugged by Benjamin
    Tissoires with help of Bob Bowles."

    * 'for-3.9/upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: logitech-dj: do not directly call hid_output_raw_report() during probe

    Linus Torvalds
     
  • Pull random fixes from Ted Ts'o:
    "Fix a circular locking dependency in random's collection of cputime
    used by a thread when it exits."

    * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:
    random: fix locking dependency with the tasklist_lock

    Linus Torvalds
     
  • It's "normal" - it can happen if the file descriptor you followed was
    opened with O_NOFOLLOW.

    Reported-by: Dave Jones
    Cc: Al Viro
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

08 Mar, 2013

6 commits

  • Pull x86 fixes from Peter Anvin:
    "Several boot fixes (MacBook, legacy EFI bootloaders), another
    please-don't-brick fix, and some minor stuff."

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Do not try to sync identity map for non-mapped pages
    x86, doc: Be explicit about what the x86 struct boot_params requires
    x86: Don't clear efi_info even if the sentinel hits
    x86, mm: Make sure to find a 2M free block for the first mapped area
    x86: Fix 32-bit *_cpu_data initializers
    efivarfs: return accurate error code in efivarfs_fill_super()
    efivars: efivarfs_valid_name() should handle pstore syntax
    efi: be more paranoid about available space when creating variables
    iommu, x86: Add DMA remap fault reason
    x86, smpboot: Remove unused variable

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Misc radeon, nouveau, mgag200 and intel fixes.

    The intel fixes should contain the fix for the touchpad on the
    Chromebook - hey I'm an input maintainer now!"

    Hate to pee on your parade, Dave, but I don't think being an input
    maintainer is necessarily something to strive for..

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (25 commits)
    drm/tegra: drop "select DRM_HDMI"
    drm: Documentation typo fixes
    drm/mgag200: Bug fix: Renesas board now selects native resolution.
    drm/mgag200: Reject modes that are too big for VRAM
    drm/mgag200: 'fbdev_list' in 'struct mga_fbdev' is not used
    drm/radeon: don't check mipmap alignment if MIP_ADDRESS is FMASK
    drm/radeon: skip MC reset as it's probably not hung
    drm/radeon: add primary dac adj quirk for R200 board
    drm/radeon: don't set hpd, afmt interrupts when interrupts are disabled
    drm/i915: Turn off hsync and vsync on ADPA when disabling crt
    drm/i915: Fix incorrect definition of ADPA HSYNC and VSYNC bits
    drm/i915: also disable south interrupts when handling them
    drm/i915: enable irqs earlier when resuming
    drm/i915: Increase the RC6p threshold.
    DRM/i915: On G45 enable cursor plane briefly after enabling the display plane.
    drm/nv50-: prevent some races between modesetting and page flipping
    drm/nouveau/i2c: drop parent refcount when creating ports
    drm/nv84: fix regression in page flipping
    drm/nouveau: Fix typo in init_idx_addr_latched().
    drm/nouveau: Disable AGP on PowerPC again.
    ...

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael J Wysocki:

    - Two fixes for the new intel_pstate driver from Dirk Brandewie.

    - Fix for incorrect usage of the .find_bridge() callback from struct
    acpi_bus_type in the USB core and subsequent removal of that callback
    from Rafael J Wysocki.

    - ACPI processor driver cleanups from Chen Gang and Syam Sidhardhan.

    - ACPI initialization and error messages fix from Joe Perches.

    - Operating Performance Points documentation improvement from Nishanth
    Menon.

    - Fixes for memory leaks and potential concurrency issues and sysfs
    attributes leaks during device removal in the core device PM QoS code
    from Rafael J Wysocki.

    - Calxeda Highbank cpufreq driver simplification from Emilio López.

    - cpufreq comment cleanup from Namhyung Kim.

    - Fix for a section mismatch in Calxeda Highbank interprocessor
    communication code from Mark Langsdorf (this is not a PM fix strictly
    speaking, but the code in question went in through the PM tree).

    * tag 'pm+acpi-3.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq / intel_pstate: Do not load on VM that does not report max P state.
    cpufreq / intel_pstate: Fix intel_pstate_init() error path
    ACPI / glue: Drop .find_bridge() callback from struct acpi_bus_type
    ACPI / glue: Add .match() callback to struct acpi_bus_type
    ACPI / porocessor: Beautify code, pr->id is u32 which is never < 0
    ACPI / processor: Remove redundant NULL check before kfree
    ACPI / Sleep: Avoid interleaved message on errors
    PM / QoS: Remove device PM QoS sysfs attributes at the right place
    PM / QoS: Fix concurrency issues and memory leaks in device PM QoS
    cpufreq: highbank: do not initialize array with a loop
    PM / OPP: improve introductory documentation
    cpufreq: Fix a typo in comment
    mailbox, pl320-ipc: remove __init from probe function

    Linus Torvalds
     
  • Commit ac24c2204a76e5b42aa103bf963ae0eda1b827f3 ("drm/tegra: Use generic
    HDMI infoframe helpers") added "select DRM_HDMI" to the DRM_TEGRA
    Kconfig entry. But there is no Kconfig symbol named DRM_HDMI. The select
    statement for that symbol is a nop. Drop it.

    What was needed to use HDMI functionality was to select HDMI (which this
    entry already did through depending on DRM) and to include linux/hdmi.h
    (which this commit also did).

    Signed-off-by: Paul Bolle
    Acked-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Paul Bolle
     
  • Signed-off-by: Christopher Harvey
    Signed-off-by: Dave Airlie

    Christopher Harvey
     
  • Renesas boards were consistently defaulting to the 1024x768 resolution,
    regardless of the native resolution of the monitor plugged in. It was
    determined that the EDID of the monitor was not being read. Since the
    DAC is a shared line, in order to read from or write to it we must take
    control of the DAC clock. This can be done by setting the proper
    register to one.

    This bug fix sets the register MGA1064_GEN_IO_CTL2 to one. The DAC
    control line can be used to determine whether or not a new monitor has
    been plugged in. But since the hotplug feature is not one we will
    support, it has been decided to simply leave the register set to one.

    Signed-off-by: Julia Lemire
    Signed-off-by: Dave Airlie

    Julia Lemire