07 Mar, 2014

3 commits

  • If we know that first N areas are all in use, we can obviously skip
    them when searching for a free one. And that kind of hint is very
    easy to maintain.

    Signed-off-by: Al Viro
    Signed-off-by: Tejun Heo

    Al Viro
     
  • Current code keeps +-length for each area in chunk->map[]. It has
    several unpleasant consequences:
    * even if we know that first 50 areas are all in use, allocation
    still needs to go through all those areas just to sum their sizes, just
    to get the offset of free one.
    * freeing needs to find the array entry refering to the area
    in question; again, the need to sum the sizes until we reach the offset
    we are interested in. Note that offsets are monotonous, so simple
    binary search would do here.

    New data representation: array of pairs.
    Each pair is represented by one int - we use offset|1 for
    and offset for (we make sure that all offsets are even).
    In the end we put a sentry entry - . The first
    entry is ; it would be possible to store together the flag
    for Nth area and offset for N+1st, but that leads to much hairier code.

    In other words, where the old variant would have
    4, -8, -4, 4, -12, 100
    (4 bytes free, 8 in use, 4 in use, 4 free, 12 in use, 100 free) we store
    , , , , , ,
    i.e.
    0, 5, 13, 16, 21, 32, 133

    This commit switches to new data representation and takes care of a couple
    of low-hanging fruits in free_pcpu_area() - one is the switch to binary
    search, another is not doing two memmove() when one would do. Speeding
    the alloc side up (by keeping track of how many areas in the beginning are
    known to be all in use) also becomes possible - that'll be done in the next
    commit.

    Signed-off-by: Al Viro
    Signed-off-by: Tejun Heo

    Al Viro
     
  • ... and simplify the results a bit. Makes the next step easier
    to deal with - we will be changing the data representation for
    chunk->map[] and it's easier to do if the code in question is
    not split between pcpu_alloc_area() and pcpu_split_block().

    Signed-off-by: Al Viro
    Signed-off-by: Tejun Heo

    Al Viro
     

23 Feb, 2014

2 commits

  • Pull hwmon fix from Guenter Roeck:
    "Fix writing the minimum temperature in max1668 driver"

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (max1668) Fix writing the minimum temperature

    Linus Torvalds
     
  • Pull xfs fixes from Dave Chinner:
    "This is the first pull request I've had to do for you, so I'm still
    sorting things out. The reason I'm sending this and not Ben should be
    obvious from the first commit below - SGI has stepped down from the
    XFS maintainership role. As such, I'd like to take another
    opportunity to thank them for their many years of effort maintaining
    XFS and supporting the XFS community that they developed from the
    ground up.

    So I haven't had time to work things like signed tags into my
    workflows yet, so this is just a repo branch I'm asking you to pull
    from. And yes, I named the branch -rc4 because I wanted the fixes in
    rc4, not because the branch was for merging into -rc3. Probably not
    right, either.

    Anyway, I should have everything sorted out by the time the next merge
    window comes around. If there's anything that you don't like in the
    pull req, feel free to flame me unmercifully.

    The changes are fixes for recent regressions and important thinkos in
    verification code:

    - a log vector buffer alignment issue on ia32
    - timestamps on truncate got mangled
    - primary superblock CRC validation fixes and error message
    sanitisation"

    * 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs:
    xfs: limit superblock corruption errors to actual corruption
    xfs: skip verification on initial "guess" superblock read
    MAINTAINERS: SGI no longer maintaining XFS
    xfs: xfs_sb_read_verify() doesn't flag bad crcs on primary sb
    xfs: ensure correct log item buffer alignment
    xfs: ensure correct timestamp updates from truncate

    Linus Torvalds
     

22 Feb, 2014

7 commits

  • Pull devicetree fixes from Grant Likely:
    "Device tree compatible match order bug fix

    This branch contains a bug fix for the way devicetree code identifies
    the type of device. Device drivers can contain a list of
    of_device_ids, but it more than one entry will match, then the device
    driver may choose the wrong one. Commit 105353145e, "match each node
    compatible against all given matches first", was queued for v3.14 but
    ended up causing other bugs. Commit 06b29e76a7 attempted to fix it
    but it had other bugs. Merely reverting the fix and waiting until
    v3.15 isn't a good option because there is code in v3.14 that depends
    on the revised behaviour to boot.

    This branch should finally fixes the problem correctly. This time
    instead of just hoping that the patch is correct, this branch also
    adds new testcases that validate the behaviour.

    The changes in this branch are larger than I would like for a -rc
    pull, but moving the test case data out of out of arch/arm so that it
    could be validated on other architectures was important"

    * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
    of: Add self test for of_match_node()
    of: Move testcase FDT data into drivers/of
    of: reimplement the matching method for __of_match_node()
    Revert "of: search the best compatible match first in __of_match_node()"

    Linus Torvalds
     
  • Pull watchdog fix from Wim Van Sebroeck:
    "It corrects the error code when no device was found for w83697hf_wdt"

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: w83697hf_wdt: return ENODEV if no device was found

    Linus Torvalds
     
  • Most WDT driver modules return ENODEV during modprobe if
    no valid device was found, but w83697hf_wdt returns EIO.

    Let w83697hf_wdt return ENODEV.

    Signed-off-by: Stanislav Kholmanskikh
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Stanislav Kholmanskikh
     
  • Pull sparc fixes from David Miller:
    "Three minor fixes from David Howells and Paul Gortmaker"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    Sparc: sparc_cpu_model isn't in asm/system.h any more [ver #2]
    sparc32: make copy_to/from_user_page() usable from modular code
    sparc32: fix build failure for arch_jump_label_transform

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:
    "These include two fixes for recent regressions related to ACPI, a
    cpufreq fix for breakage overlooked by a previous fix commit, two
    intel_pstate fixes for stuff added during the 3.13 cycle that need to
    go into -stable, three fixes for older bugs that also are -stable
    candidates, ACPI video blacklist changes related to BIOSes that behave
    in a special way on Windows 8, several build fixes for CONFIG_PM_SLEEP
    unset in ACPI drivers and an ACPI driver cleanup.

    Specifics:

    - Fix for a recent probing regression in the nouveau driver
    introduced by an ACPI change related to the handling of _DSM from
    Jiang Liu.

    - Fix for a dock station sysfs attribute that stopped working
    correctly after recent changes in the ACPI core.

    - cpufreq fix taking care of broken code related to CPU removal and
    overlooked by a previous recent fix in that area. From Viresh
    Kumar.

    - Two intel_pstate fixes related to Baytrail support added during the
    3.13 cycle (candidates for -stable) from Dirk Brandewie.

    - ACPI video fix removing duplicate brightness values from the _BCL
    table which makes its user space interface behave sanely. From
    Hans de Goede.

    - Fix for the powernow-k8 cpufreq driver making it initialize its
    per-CPU data structures correctly from Srivatsa S Bhat.

    - Fix for an obscure memory leak in the ACPI PCI interrupt allocation
    code (related to ISA) from Tomasz Nowicki.

    - ACPI video blacklist changes moving several systems that should use
    the native backlight interface instead of the ACPI one from the
    general ACPI _OSI blacklist the the ACPI video driver's blacklist
    where they belong. This consists of an ACPI video driver update
    from Aaron Lu and a revert of a previous commit adding systems to
    the ACPI _OSI blacklist requested by Takashi Iwai.

    - Several fixes for build issues in ACPI drivers occuring when
    CONFIG_PM_SLEEP is unset from Shuah Khan.

    - Fix for an sscanf() format string in the ACPI Smart Battery
    Subsystem (SBS) driver from Luis G.F"

    * tag 'pm+acpi-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    intel_pstate: Add support for Baytrail turbo P states
    intel_pstate: Use LFM bus ratio as min ratio/P state
    ACPI / nouveau: fix probing regression related to _DSM
    Revert "ACPI: Blacklist Win8 OSI for some HP laptop 2013 models"
    ACPI / video: Add systems that should favour native backlight interface
    ACPI / video: Filter the _BCL table for duplicate brightness values
    cpufreq: powernow-k8: Initialize per-cpu data-structures properly
    cpufreq: remove sysfs link when a cpu != policy->cpu, is removed
    ACPI / PCI: Fix memory leak in acpi_pci_irq_enable()
    ACPI / dock: Make 'docked' sysfs attribute work as documented
    ACPI / SBS: Fix incorrect sscanf() string
    ACPI / thermal: fix thermal driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / SBS: fix SBS driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / fan: fix fan driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / button: fix button driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / battery: fix battery driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / AC: fix AC driver compile error when CONFIG_PM_SLEEP is undefined

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:
    "The fixes are only for the ARM-SMMU driver. Here is the summary from
    Will Deacon:

    - Andreas Herrmann took the driver for a run with a real SATA
    controller, which caused the new mutex-based locking to explode
    since we require mappings in atomic context

    - Yifan fixed an issue with the page table creation, which then
    caused breakages with the way in which we flush descriptors out to
    the table walker

    - I ran the driver on a system where the SMMU is hooked into a
    coherent interconnect for table walks, and noticed a shareability
    mismatch between the CPU and the SMMU

    These issues are all fixed here and have been tested on both arm and
    arm64 based systems.

    Besides that I put a fix on-top to make the spinlock irq-safe, so that
    the code-paths can be used in the DMA-API"

    * tag 'iommu-fixes-v3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    arm/smmu: Use irqsafe spinlock for domain lock
    iommu/arm-smmu: fix compilation issue when !CONFIG_ARM_AMBA
    iommu/arm-smmu: set CBARn.BPSHCFG to NSH for s1-s2-bypass contexts
    iommu/arm-smmu: fix table flushing during initial allocations
    iommu/arm-smmu: really fix page table locking
    iommu/arm-smmu: fix pud/pmd entry fill sequence

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "This time we got a slightly higher volume than previous times, but all
    device-specific good fixes. Noticeable changes are fixes in davinci,
    and the removal of open-codes in HD-audio ca0132 driver. The rest are
    all small fixes and/or quirks"

    * tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Enable front audio jacks on one HP desktop model
    ALSA: hda/ca0132 - Fix recording from mode id 0x8
    ALSA: hda/ca0132 - setup/cleanup streams
    ALSA: hda - add headset mic detect quirks for two Dell laptops
    ALSA: usb-audio: work around KEF X300A firmware bug
    ASoC: max98090: make REVISION_ID readable
    ASoC: txx9aclc_ac97: Fix kernel crash on probe
    ASoC: max98090: sync regcache on entering STANDBY
    ASoC: blackfin: Fix machine driver Kconfig dependencies
    ASoC: da9055: Fix device registration of PMIC and CODEC devices
    ASoC: fsl-esai: fix ESAI TDM slot setting
    ASoC: fsl: fix pm support of machine drivers
    ASoC: rt5640: Add ACPI ID for Intel Baytrail
    ASoC: davinci-evm: Add pm callbacks to platform driver
    ASoC: davinci-mcasp: Consolidate pm_runtime_get/put() use in the driver
    ASoC: davinci-mcasp: Configure xxTDM, xxFMT and xxFMCT registers synchronously
    ASoC: davinci-mcasp: Harmonize the sub hw_params function names
    ASoC: samsung: Fix trivial typo
    ASoC: samsung: Remove invalid dependencies
    ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data

    Linus Torvalds
     

21 Feb, 2014

13 commits

  • * pm-cpufreq:
    intel_pstate: Add support for Baytrail turbo P states
    intel_pstate: Use LFM bus ratio as min ratio/P state
    cpufreq: powernow-k8: Initialize per-cpu data-structures properly
    cpufreq: remove sysfs link when a cpu != policy->cpu, is removed

    Rafael J. Wysocki
     
  • * acpi-pm:
    ACPI / thermal: fix thermal driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / SBS: fix SBS driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / fan: fix fan driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / button: fix button driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / battery: fix battery driver compile error when CONFIG_PM_SLEEP is undefined
    ACPI / AC: fix AC driver compile error when CONFIG_PM_SLEEP is undefined

    * acpi-video:
    Revert "ACPI: Blacklist Win8 OSI for some HP laptop 2013 models"
    ACPI / video: Add systems that should favour native backlight interface
    ACPI / video: Filter the _BCL table for duplicate brightness values

    Rafael J. Wysocki
     
  • * acpi-cleanup:
    ACPI / SBS: Fix incorrect sscanf() string

    * acpi-dock:
    ACPI / dock: Make 'docked' sysfs attribute work as documented

    * acpi-pci:
    ACPI / PCI: Fix memory leak in acpi_pci_irq_enable()

    * acpi-dsm:
    ACPI / nouveau: fix probing regression related to _DSM

    Rafael J. Wysocki
     
  • A documentation update exposed the existance of the turbo ratio
    register. Update baytrail support to use the turbo range.

    Signed-off-by: Dirk Brandewie
    Cc: 3.13+ # 3.13+
    Signed-off-by: Rafael J. Wysocki

    Dirk Brandewie
     
  • LFM (max efficiency ratio) is the max frequency at minimum voltage
    supported by the processor. Using LFM as the minimum P state
    increases performmance without affecting power. By not using P states
    below LFM we avoid using P states that are less power efficient.

    Signed-off-by: Dirk Brandewie
    Cc: 3.13+ # 3.13+
    Signed-off-by: Rafael J. Wysocki

    Dirk Brandewie
     
  • Pull PCI updates from Bjorn Helgaas:
    "The most interesting thing here is the change to enable INTx (by
    clearing PCI_COMMAND_INTX_DISABLE) if the BIOS left INTx disabled.
    Apparently the Baytrail BIOS does this, which means EHCI doesn't work.

    Also, fix an AHCI MSI regression and other issues with the recent MSI
    changes. This also adds pci_enable_msi_exact() and
    pci_enable_msix_exact(), which aren't regression fixes, but will keep
    us from touching drivers twice (once to stop using the deprecated
    pci_enable_msi(), etc., and again to use the *_exact() variants).

    There's also a minor MVEBU fix.

    Summary:

    MSI:
    - Fix AHCI single-MSI fallback (Alexander Gordeev)
    - Fix populate_msi_sysfs() error paths (Greg Kroah-Hartman)
    - Fix htmldocs problem (Masanari Iida)
    - Add pci_enable_msi_exact() and pci_enable_msix_exact() (Alexander Gordeev)
    - Update documentation (Alexander Gordeev)

    Miscellaneous:
    - mvebu: expose device ID & revision via lspci (Andrew Lunn)
    - Enable INTx if the BIOS left them disabled (Bjorn Helgaas)"

    * tag 'pci-v3.14-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    ahci: Fix broken fallback to single MSI mode
    PCI: Enable INTx if BIOS left them disabled
    PCI/MSI: Add pci_enable_msi_exact() and pci_enable_msix_exact()
    PCI/MSI: Fix cut-and-paste errors in documentation
    PCI/MSI: Add pci_enable_msi() documentation back
    PCI/MSI: Fix pci_msix_vec_count() htmldocs failure
    PCI/MSI: Fix leak of msi_attrs
    PCI/MSI: Check kmalloc() return value, fix leak of name
    PCI: mvebu: Use Device ID and revision from underlying endpoint

    Linus Torvalds
     
  • Fix regression caused by commit b072e53, which breaks loading nouveau
    driver on optimus laptops.

    On some platforms, ACPI _DSM method (nouveau_op_dsm_muid, function 0)
    has special requirements on the fourth parameter, which is different
    from ACPI specifications. So revert to the private implementation
    to check availability of _DSM functions instead of using common
    acpi_check_dsm() interface.

    Fixes: b072e53b0a27 (ACPI / nouveau: replace open-coded _DSM code with helper functions)
    Reported-and-tested-by: Maarten Lankhorst
    [rjw: Subject]
    Signed-off-by: Jiang Liu
    Signed-off-by: Rafael J. Wysocki

    Jiang Liu
     
  • Pull libata fixes from Tejun Heo:
    "Various device specific fixes. Nothing too interesting"

    * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci: disable NCQ on Samsung pci-e SSDs on macbooks
    ata: sata_mv: Cleanup only the initialized ports
    sata_sil: apply MOD15WRITE quirk to TOSHIBA MK2561GSYN
    ata: enable quirk from jmicron JMB350 for JMB394
    ATA: SATA_MV: Add missing Kconfig select statememnt
    ata: pata_imx: Check the return value from clk_prepare_enable()

    Linus Torvalds
     
  • Pull cgroup fixes from Tejun Heo:
    "Quite a few fixes this time.

    Three locking fixes, all marked for -stable. A couple error path
    fixes and some misc fixes. Hugh found a bug in memcg offlining
    sequence and we thought we could fix that from cgroup core side but
    that turned out to be insufficient and got reverted. A different fix
    has been applied to -mm"

    * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: update cgroup_enable_task_cg_lists() to grab siglock
    Revert "cgroup: use an ordered workqueue for cgroup destruction"
    cgroup: protect modifications to cgroup_idr with cgroup_mutex
    cgroup: fix locking in cgroup_cfts_commit()
    cgroup: fix error return from cgroup_create()
    cgroup: fix error return value in cgroup_mount()
    cgroup: use an ordered workqueue for cgroup destruction
    nfs: include xattr.h from fs/nfs/nfs3proc.c
    cpuset: update MAINTAINERS entry
    arm, pm, vmpressure: add missing slab.h includes

    Linus Torvalds
     
  • Pull workqueue fixes from Tejun Heo:
    "Two workqueue fixes. One for an unlikely but possible critical bug
    during kworker shutdown and the other to make lockdep names a bit more
    descriptive"

    * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: ensure @task is valid across kthread_stop()
    workqueue: add args to workqueue lockdep name

    Linus Torvalds
     
  • Pull DMA-mapping fixes from Marek Szyprowski:
    "This contains fixes for incorrect atomic test in dma-mapping subsystem
    for ARM and x86 architecture"

    * 'fixes-for-v3.14' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    x86: dma-mapping: fix GFP_ATOMIC macro usage
    ARM: dma-mapping: fix GFP_ATOMIC macro usage

    Linus Torvalds
     
  • Signed-off-by: Brian Campbell
    Signed-off-by: Linus Torvalds

    Brian Campbell
     
  • sparc_cpu_model isn't in asm/system.h any more, so remove a comment
    about it.

    Signed-off-by: David Howells
    cc: "David S. Miller"
    cc: sparclinux@vger.kernel.org
    Signed-off-by: David S. Miller

    David Howells
     

20 Feb, 2014

13 commits

  • As the lock might be used through DMA-API which is allowed
    in interrupt context.

    Signed-off-by: Joerg Roedel
    Acked-by: Will Deacon

    Joerg Roedel
     
  • Adds a selftest function for the of_match_node function. of_match_node
    is supposed to handle precedence for the compatible property as well as
    the name and device_type values. This patch adds some test case data and
    a function that makes sure each test node matches against the correct
    entry of an of_device_id table.

    This code was written to verify the new of_match_node() implementation
    that is an earlier part of this series.

    Signed-off-by: Grant Likely
    Cc: Kevin Hao

    Grant Likely
     
  • The testcase data is usable by any platform. This patch moves it into
    the drivers/of directory so it can be included by any architecture.

    Using the test cases requires manually adding #include
    to the end of the boards .dtsi file and enabling CONFIG_OF_SELFTEST. Not
    pretty though. A useful project would be to make the testcase code
    easier to execute.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • In the current implementation of __of_match_node(), it will compare
    each given match entry against all the node's compatible strings
    with of_device_is_compatible().

    To achieve multiple compatible strings per node with ordering from
    specific to generic, this requires given matches to be ordered from
    specific to generic. For most of the drivers this is not true and
    also an alphabetical ordering is more sane there.

    Therefore, we define a following priority order for the match, and
    then scan all the entries to find the best match.
    1. specific compatible && type && name
    2. specific compatible && type
    3. specific compatible && name
    4. specific compatible
    5. general compatible && type && name
    6. general compatible && type
    7. general compatible && name
    8. general compatible
    9. type && name
    10. type
    11. name

    v5: Fix nested locking bug
    v4: Short-circuit failure cases instead of mucking with score, and
    remove extra __of_device_is_compatible() wrapper stub.
    Move scoring logic directly into __of_device_is_compatible()
    v3: Also need to bail out when there does have a compatible member in match
    entry, but it doesn't match with the device node's compatible.
    v2: Fix the bug such as we get the same score for the following two match
    entries with the empty node 'name2 { };'
    struct of_device_id matches[] = {
    {.name = "name2", },
    {.name = "name2", .type = "type1", },
    {}
    };

    Signed-off-by: Kevin Hao
    [grant.likely: added v4 changes]
    Signed-off-by: Grant Likely
    Tested-by: Paul Gortmaker
    Tested-by: Stephen Chivers
    Tested-by: Sachin Kamat

    Kevin Hao
     
  • The front headphone and mic jackes on a HP desktop model (Vendor Id:
    0x111d76c7 Subsystem Id: 0x103c2b17) can not work, the codec on this
    machine has 8 physical ports, 6 of them are routed to rear jackes
    and all of them work very well, while the remaining 2 ports are
    routed to front headphone and mic jackes, but the corresponding
    pin complex node are not defined correctly.

    After apply this fix, the front audio jackes can work very well.

    [trivial fix of enum definition by tiwai]

    BugLink: https://bugs.launchpad.net/bugs/1282369
    Cc: David Henningsson
    Tested-by: Gerald Yang
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • …nie/sound into for-linus

    ASoC: Fixes for v3.14

    A few fixes, all driver speccific ones. The DaVinci ones aren't as
    clear as they should be from the subject lines on the commits but they
    fix issues which will prevent correct operation in some use cases and
    only affect that particular driver so are reasonably safe.

    Takashi Iwai
     
  • While copy_to/from_user_page() users are uncommon, there is one in
    drivers/staging/lustre/lustre/libcfs/linux/linux-curproc.c which leads
    to the following:

    ERROR: "sparc32_cachetlb_ops" [drivers/staging/lustre/lustre/libcfs/libcfs.ko] undefined!

    during routine allmodconfig build coverage. The reason this happens
    is as follows:

    In arch/sparc/include/asm/cacheflush_32.h we have:

    #define flush_cache_page(vma,addr,pfn) \
    sparc32_cachetlb_ops->cache_page(vma, addr)

    #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
    do { \
    flush_cache_page(vma, vaddr, page_to_pfn(page));\
    memcpy(dst, src, len); \
    } while (0)
    #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
    do { \
    flush_cache_page(vma, vaddr, page_to_pfn(page));\
    memcpy(dst, src, len); \
    } while (0)

    However, sparc32_cachetlb_ops isn't exported and hence the error.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     
  • In arch/sparc/Kernel/Makefile, we see:

    obj-$(CONFIG_SPARC64) += jump_label.o

    However, the Kconfig selects HAVE_ARCH_JUMP_LABEL unconditionally
    for all SPARC. This in turn leads to the following failure when
    doing allmodconfig coverage builds:

    kernel/built-in.o: In function `__jump_label_update':
    jump_label.c:(.text+0x8560c): undefined reference to `arch_jump_label_transform'
    kernel/built-in.o: In function `arch_jump_label_transform_static':
    (.text+0x85cf4): undefined reference to `arch_jump_label_transform'
    make: *** [vmlinux] Error 1

    Change HAVE_ARCH_JUMP_LABEL to be conditional on SPARC64 so that it
    matches the Makefile.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     
  • This reverts commit 2d4054d84224 (ACPI: Blacklist Win8 OSI for some HP
    laptop 2013 models) that is not necessary any more after previous
    commit 1811fcb029fa (ACPI / video: Add systems that should favour native
    backlight interface).

    Requested-by: Takashi Iwai
    Tested-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Some system's ACPI video backlight control interface is broken and the
    native backlight control interface should be used by default. This patch
    sets the use_native_backlight parameter to true for those systems so
    that video backlight control interface will not be created. For detailed
    models that are added here, reference the following list.

    Note that the user specified kernel cmdline option will always have the
    highest priority, i.e. if use_native_backlight=0 is specified and the
    system is in the DMI table, the video module will not skip registering
    backlight interface for it.

    Thinkpad T430s:
    Reported-by: Theodore Tso
    Reported-and-tested-by: Peter Weber
    References: https://bugzilla.kernel.org/show_bug.cgi?id=51231
    Thinkpad X230:
    Reported-and-tested-by: Igor Gnatenko
    References: https://bugzilla.kernel.org/show_bug.cgi?id=51231
    ThinkPad X1 Carbon:
    Reported-and-tested-by: Igor Gnatenko
    Lenovo Yoga 13:
    Reported-by: Lennart Poettering
    Reported-and-tested-by: Kevin Smith
    References: https://bugzilla.kernel.org/show_bug.cgi?id=63811
    Dell Inspiron 7520:
    Reported-by: Rinat Ibragimov
    Acer Aspire 5733Z:
    Reported-by:
    References: https://bugzilla.kernel.org/show_bug.cgi?id=62941
    Acer Aspire V5-431:
    Reported-by: Thomas Christensen
    References: https://bugzilla.kernel.org/show_bug.cgi?id=68751
    HP ProBook 4340s:
    Reported-and-tested-by: Vladimir Sherenkov
    References: http://redmine.russianfedora.pro/issues/1258
    HP EliteBook/ProBook 2013 models, ZBook and some others:
    Provided-by: Takashi Iwai
    Signed-off-by: Aaron Lu
    Tested-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Aaron Lu
     
  • Some devices have duplicate entries in there brightness levels table, ie
    on my Dell Latitude E6430 the table looks like this:

    [ 3.686060] acpi backlight index 0, val 80
    [ 3.686095] acpi backlight index 1, val 50
    [ 3.686122] acpi backlight index 2, val 5
    [ 3.686147] acpi backlight index 3, val 5
    [ 3.686172] acpi backlight index 4, val 5
    [ 3.686197] acpi backlight index 5, val 5
    [ 3.686223] acpi backlight index 6, val 5
    [ 3.686248] acpi backlight index 7, val 5
    [ 3.686273] acpi backlight index 8, val 6
    [ 3.686332] acpi backlight index 9, val 7
    [ 3.686356] acpi backlight index 10, val 8
    [ 3.686380] acpi backlight index 11, val 9
    etc.

    Notice that brightness values 0-5 are all mapped to 5. This means that
    if userspace writes any value between 0 and 5 to the brightness sysfs attribute
    and then reads it, it will always return 0, which is somewhat unexpected.

    This is a problem for ie gnome-settings-daemon, which uses read-modify-write
    logic when the users presses the brightness up or down keys. This is done
    this way to take brightness changes from other sources into account.

    On this specific laptop what happens once the brightness has been set to 0,
    is that gsd reads 0, adds 5, writes 5, and on the next brightness up key press
    again reads 0, so things get stuck at the lowest brightness setting.

    Filtering out the duplicate table entries, makes any write to brightness
    read back as the written value as one would expect, fixing this.

    Signed-off-by: Hans de Goede
    Reviewed-by: Aaron Lu
    Cc: All applicable
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     
  • Pull NFS client bugfixes from Trond Myklebust:
    "Highlights include stable fixes for the following bugs:

    - General performance regression due to NFS_INO_INVALID_LABEL being
    set when the server doesn't support labeled NFS
    - Hang in the RPC code due to a socket out-of-buffer race
    - Infinite loop when trying to establish the NFSv4 lease
    - Use-after-free bug in the RPCSEC gss code.
    - nfs4_select_rw_stateid is returning with a non-zero error value on
    success

    Other bug fixes:

    - Potential memory scribble in the RPC bi-directional RPC code
    - Pipe version reference leak
    - Use the correct net namespace in the new NFSv4 migration code"

    * tag 'nfs-for-3.14-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFS fix error return in nfs4_select_rw_stateid
    NFSv4: Use the correct net namespace in nfs4_update_server
    SUNRPC: Fix a pipe_version reference leak
    SUNRPC: Ensure that gss_auth isn't freed before its upcall messages
    SUNRPC: Fix potential memory scribble in xprt_free_bc_request()
    SUNRPC: Fix races in xs_nospace()
    SUNRPC: Don't create a gss auth cache unless rpc.gssd is running
    NFS: Do not set NFS_INO_INVALID_LABEL unless server supports labeled NFS

    Linus Torvalds
     
  • Pull MFD fixes from Lee Jones:
    "Couple of small issues solved:
    - Suspend/Resume call-backs require CONFIG_PM_SLEEP
    - Some drivers written for 32bit architectures fail when compiled
    with a 64bit compiler. The fixes will future proof the drivers"

    * tag 'mfd-fixes-3.14-1' of git://git.linaro.org/people/lee.jones/mfd:
    mfd: sec-core: sec_pmic_{suspend,resume}() should depend on CONFIG_PM_SLEEP
    mfd: max14577: max14577_{suspend,resume}() should depend on CONFIG_PM_SLEEP
    mfd: tps65217: Naturalise cross-architecture discrepancies
    mfd: wm8994-core: Naturalise cross-architecture discrepancies
    mfd: max8998: Naturalise cross-architecture discrepancies
    mfd: max8997: Naturalise cross-architecture discrepancies

    Linus Torvalds
     

19 Feb, 2014

2 commits