1. 27 Jun, 2013 1 commit
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 1a506e47
      Linus Torvalds authored
      Pull i915 drm fixes from Dave Airlie:
       "These should be the last two fixes for i915, one is for a fence leak
        killing X on some older GPUs, and one is a late regression partial
        revert for an swiotlb/xen/i915 interaction, Konrad has promised to
        figure out the proper answer, and this patch is the best thing to do
        at this stage to avoid regressing"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: make compact dma scatter lists creation work with SWIOTLB backend.
        drm/i915: Restore fences after resume and GPU resets
      1a506e47
  2. 26 Jun, 2013 8 commits
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 34a08681
      Linus Torvalds authored
      Pull regulator fix from Mark Brown:
       "Fix module loading for tps6586x.
      
        A simple one liner fix to make module loading work for distros
        (product specific kernels tend to have things built in)"
      
      * tag 'regulator-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        mfd: tps6586x: correct device name of the regulator cell
      34a08681
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 6b935ca2
      Linus Torvalds authored
      Pull GPIO regression fix from Grant Likely:
       "It took a while to work out the correct solution to this regression.
        It is sorted now.  This branch was constructed and tested by Tony.
        I've verified that it builds and signed the tag"
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
        gpio/omap: don't use linear domain mapping for OMAP1
      6b935ca2
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.10-late' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 687058ae
      Linus Torvalds authored
      Pull late power management and ACPI fixes from Rafael Wysocki:
       "Sorry about the timing of this, but ACPI-based docking stations with
        PCI devices on them and ATA bays would be hardly usable with 3.10
        without it.  We've been working on these fixes for the last couple of
        weeks and everyone involved appears to be reasonably comfortable with
        them now.
      
        The PM part is one fix for a cpufreq regression introduced recently
      
         - Fix for an ACPI dock regression introduced by the recent rework of
           the ACPI-based PCI hotplug code (acpiphp) that caused it to be
           initialized before the ACPI dock driver, which is incorrect (ACPI
           dock has to be initialized before acpiphp so that acpiphp can
           register PCI devices on docking stations with it for PCI hotplug on
           re-dock to work).  From Jiang Liu.
      
         - Fix for PCI resources allocation in the ACPI-based PCI hotplug code
           (acpiphp) that makes it use the same PCI resources assignment rules
           during runtime hotplug that are used during boot (the BIOS' choices
           are now respected in both cases).  This prevents PCI resource
           allocation failures during hotplug from happening in some cases.
           From Jiang Liu.
      
         - Fix for ordering and synchronization issues during hot-removal of
           PCI devices on docking stations.  It makes the ACPI dock code carry
           out the PCI devices removal synchronously during undock instead of
           spawning a separate asynchronous work item to remove each of them
           without even bothering to wait for all those work items to
           complete.  The hot-addition part is changed analogously.
      
         - Fix for a regression (introduced a few releases ago) that removed
           the code to register a hotplug notificaion handler for for ATA
           ports/devices inadvertently which prevented ATA bays hotplug from
           working.  The missing code is added back with some improvements.
           From Aaron Lu.
      
         - Fix for a recent cpufreq regression causing a NULL pointer
           dereference to trigger in od_set_powersave_bias() in some
           situations from Jacob Shin"
      
      * tag 'pm+acpi-3.10-late' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: fix NULL pointer deference at od_set_powersave_bias()
        libata-acpi: add back ACPI based hotplug functionality
        ACPI / dock / PCI: Synchronous handling of dock events for PCI devices
        PCI / ACPI: Use boot-time resource allocation rules during hotplug
        ACPI / dock: Initialize ACPI dock subsystem upfront
      687058ae
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 54faf77d
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Three small fixlets"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hw_breakpoint: Use cpu_possible_mask in {reserve,release}_bp_slot()
        hw_breakpoint: Fix cpu check in task_bp_pinned(cpu)
        kprobes: Fix arch_prepare_kprobe to handle copy insn failures
      54faf77d
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · e3ff9114
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Another round of ARM fixes.  Largest one is the second half of the
        PJ4B fix which was pushed in the previous -rc - this one was delayed
        because its original caused a build regression while trying to fix a
        regression!
      
        As ever, noMMU gets forgotten when fixing problems on MMU, so we have
        a noMMU fix for a previous fix included in this set.
      
        A couple of fixes from Lorenzo for problems with the ARM DT CPU code,
        and a one liner to remove the buggy 'wait for interrupt' with FA526
        cores"
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7773/1: PJ4B: Add support for errata 4742
        ARM: 7772/1: Fix missing flush_kernel_dcache_page() for noMMU
        ARM: 7763/1: kernel: fix __cpu_logical_map default initialization
        ARM: 7762/1: kernel: fix arm_dt_init_cpu_maps() to skip non-cpu nodes
        ARM: 7760/1: cpu_fa526_do_idle: remove WFI
      e3ff9114
    • Linus Torvalds's avatar
      Merge tag 'critical_fix_for_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rwlove/fcoe · de6e1317
      Linus Torvalds authored
      Pull FCoE fix from Robert W Love:
       "This patch fixes a critical bug that was introduced in 3.9 related to
        VLAN tagging FCoE frames"
      
      * tag 'critical_fix_for_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rwlove/fcoe:
        fcoe: Use correct API to set vlan tag for FCoE Ethertype skbs
      de6e1317
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 78750f19
      Linus Torvalds authored
      Pull Ceph fix from Sage Weil:
       "This fixes another problem with using v2 images on 3.10 due to the
        order in which fields are read from the image header.
      
        Hopefully this is the last one"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        rbd: fetch object order before using it
      78750f19
    • Javier Martinez Canillas's avatar
      gpio/omap: don't use linear domain mapping for OMAP1 · 397eada9
      Javier Martinez Canillas authored
      Commit ede4d7a5 ("gpio/omap: convert gpio irq domain to linear mapping")
      converted the OMAP GPIO driver to use a linear mapping for the GPIO IRQ
      domain instead of using a legacy mapping. Not using a legacy mapping has
      a number of benefits but it requires the platform to support SPARSE_IRQ
      which currently is not supported on OMAP1.
      
      So this change caused a regression on OMAP1 platforms [1].
      
      Since this issue is not present on all OMAP2+ platforms, there is no need to
      revert the driver to use legacy domain mapping for all the platforms.
      
      [1]: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg89005.htmlSigned-off-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      397eada9
  3. 25 Jun, 2013 11 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-fixes' · 45e00374
      Rafael J. Wysocki authored
      * pm-fixes:
        cpufreq: fix NULL pointer deference at od_set_powersave_bias()
      45e00374
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-fixes' · 96c9ddae
      Rafael J. Wysocki authored
      * acpi-fixes:
        libata-acpi: add back ACPI based hotplug functionality
        ACPI / dock / PCI: Synchronous handling of dock events for PCI devices
        PCI / ACPI: Use boot-time resource allocation rules during hotplug
        ACPI / dock: Initialize ACPI dock subsystem upfront
      96c9ddae
    • Jacob Shin's avatar
      cpufreq: fix NULL pointer deference at od_set_powersave_bias() · c2837558
      Jacob Shin authored
      When initializing the default powersave_bias value, we need to first
      make sure that this policy is running the ondemand governor.
      Reported-and-tested-by: default avatarTim Gardner <tim.gardner@canonical.com>
      Signed-off-by: default avatarJacob Shin <jacob.shin@amd.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c2837558
    • Josh Durgin's avatar
      rbd: fetch object order before using it · 1617e40c
      Josh Durgin authored
      rbd_dev_v2_header_onetime() fetches striping information, and
      checks whether the image can be read by compariing the stripe unit
      to the object size. It determines the object size by shifting
      the object order, which is 0 at this point since it has not been
      read yet. Move the call to get the image size and object order
      before rbd_dev_v2_header_onetime() so it is set before use.
      Signed-off-by: default avatarJosh Durgin <josh.durgin@inktank.com>
      Reviewed-by: default avatarSage Weil <sage@inktank.com>
      1617e40c
    • Robert Love's avatar
      fcoe: Use correct API to set vlan tag for FCoE Ethertype skbs · 2884d423
      Robert Love authored
      fcoe_xmit was coded such that it would skip the vlan net device/layer
      and instead set some vlan flags and transmit on the real net device.
      The real net device has code that would add the vlan tag for fcoe skbs.
      This avoids some extra processing for data frames and provides a small
      performance improvement.
      
      Since fcoe_xmit was not using the vlan net device, __vlan_put_tag
      within the real net device's xmit routine was ultimately being
      called to set the vlan tag.
      
      With the below change the behavior of __vlan_put_tag changed slightly,
      it now sets the skb->protocol = vlan_proto. vlan_proto was not a field
      being set by fcoe_xmit, so the skb->protocol is now not being set to
      ETH_P_8021Q, as it should be.
      
      This patch converts fcoe_xmit to use the vlan_put_tag routine which
      will tag the skb and fcoe will continue to transmit fcoe skbs on the
      real net device.
      
      For reference, the below change was the one that altered the
      __vlan_put_tag behavior.
      
        commit 86a9bad3
        Author: Patrick McHardy <kaber@trash.net>
        Date:   Fri Apr 19 02:04:30 2013 +0000
      
            net: vlan: add protocol argument to packet tagging functions
      
            Add a protocol argument to the VLAN packet tagging functions. In case of HW
            tagging, we need that protocol available in the ndo_start_xmit functions,
            so it is stored in a new field in the skb. The new field fits into a hole
            (on 64 bit) and doesn't increase the sks's size.
      Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Acked-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      2884d423
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 1e876e3b
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "A couple of last-minute fixes: a build regression for !SMP, a recent
        memory detection patch caused kdump to break, a regression in regard
        to sscanf vs reboot from FCP, and two fixes in the DMA mapping code
        for PCI"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/ipl: Fix FCP WWPN and LUN format strings for read
        s390/mem_detect: fix memory hole handling
        s390/dma: support debug_dma_mapping_error
        s390/dma: fix mapping_error detection
        s390/irq: Only define synchronize_irq() on SMP
      1e876e3b
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · ad465470
      Linus Torvalds authored
      Pull powerpc bugfix from Ben Herrenschmidt:
       "This is a fix for a regression causing a freescale "83xx" based
        platforms to crash on boot due to some PCI breakage"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/pci: Fix boot panic on mpc83xx (regression)
      ad465470
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 5dbc7469
      Linus Torvalds authored
      Pull fuse bugfix from Miklos Szeredi:
       "This fixes a race between fallocate() and truncate()"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: hold i_mutex in fuse_file_fallocate()
      5dbc7469
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · f97f7d2d
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A few last minute SPI updates: fix a missized allocation and use
        atomic allocations in atomic context in the PXA driver, and fix the
        checking of return codes in the S3C64xx driver which caused spurious
        errors under heavy load."
      
      * tag 'spi-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi/pxa2xx: fix memory corruption due to wrong size used in devm_kzalloc()
        spi/pxa2xx: use GFP_ATOMIC in sg table allocation
        spi: s3c64xx: Fix pm_runtime_get_sync() return value check
      f97f7d2d
    • Konrad Rzeszutek Wilk's avatar
      drm/i915: make compact dma scatter lists creation work with SWIOTLB backend. · 426729dc
      Konrad Rzeszutek Wilk authored
      Git commit 90797e6d
      ("drm/i915: create compact dma scatter lists for gem objects") makes
      certain assumptions about the under laying DMA API that are not always
      correct.
      
      On a ThinkPad X230 with an Intel HD 4000 with Xen during the bootup
      I see:
      
      [drm:intel_pipe_set_base] *ERROR* pin & fence failed
      [drm:intel_crtc_set_config] *ERROR* failed to set mode on [CRTC:3], err = -28
      
      Bit of debugging traced it down to dma_map_sg failing (in
      i915_gem_gtt_prepare_object) as some of the SG entries were huge (3MB).
      
      That unfortunately are sizes that the SWIOTLB is incapable of handling -
      the maximum it can handle is a an entry of 512KB of virtual contiguous
      memory for its bounce buffer. (See IO_TLB_SEGSIZE).
      
      Previous to the above mention git commit the SG entries were of 4KB, and
      the code introduced by above git commit squashed the CPU contiguous PFNs
      in one big virtual address provided to DMA API.
      
      This patch is a simple semi-revert - were we emulate the old behavior
      if we detect that SWIOTLB is online. If it is not online then we continue
      on with the new compact scatter gather mechanism.
      
      An alternative solution would be for the the '.get_pages' and the
      i915_gem_gtt_prepare_object to retry with smaller max gap of the
      amount of PFNs that can be combined together - but with this issue
      discovered during rc7 that might be too risky.
      Reported-and-Tested-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      CC: Imre Deak <imre.deak@intel.com>
      CC: Daniel Vetter <daniel.vetter@ffwll.ch>
      CC: David Airlie <airlied@linux.ie>
      CC: <dri-devel@lists.freedesktop.org>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      426729dc
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2013-06-24' of... · 0d20299d
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2013-06-24' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
      
      One remaining regression fix for i915. I've left it in -fixes for more
      than a week since it's in tricky code, and it took us a few kernel
      releases to notice the regression at all. The fence leak is especially
      annoying on gen2/3 and will kill userspace there quickly. For extra
      paranoia we've added a WARN in -next to catch this, things seem to be
      solid now.
      
      * tag 'drm-intel-fixes-2013-06-24' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: Restore fences after resume and GPU resets
      0d20299d
  4. 24 Jun, 2013 14 commits
    • Aaron Lu's avatar
      libata-acpi: add back ACPI based hotplug functionality · 44521527
      Aaron Lu authored
      Commit 30dcf76a "libata: migrate ACPI code over to new bindings"
      mistakenly dropped the code to register hotplug notificaion handler
      for ATA port/devices, causing regression for people using ATA bay,
      as kernel bug #59871 shows.
      
      Fix this by adding back the hotplug notification handler registration
      code.  Since this code has to be run once and notification needs to
      be installed on every ATA port/devices handle no matter if there is
      actual device attached, we can't do this in binding time for ATA
      device ACPI handle, as the binding only occurs when a SCSI device is
      created, i.e. there is device attached.  So introduce the
      ata_acpi_hotplug_init() function to loop scan all ATA ACPI handles
      and if it is available, install the notificaion handler for it during
      ATA init time.
      
      With the ATA ACPI handle binding to SCSI device tree, it is possible
      now that when the SCSI hotplug work removes the SCSI device, the ACPI
      unbind function will find that the corresponding ACPI device has
      already been deleted by dock driver, causing a scaring message like:
      [  128.263966] scsi 4:0:0:0: Oops, 'acpi_handle' corrupt
      Fix this by waiting for SCSI hotplug task finish in our notificaion
      handler, so that the removal of ACPI device done in ACPI unbind
      function triggered by the removal of SCSI device is run earlier when
      ACPI device is still available.
      
      [rjw: Rebased]
      References: https://bugzilla.kernel.org/show_bug.cgi?id=59871Reported-bisected-and-tested-by: default avatarDirk Griesbach <spamthis@freenet.de>
      Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Cc: 3.6+ <stable@vger.kernel.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      44521527
    • Rojhalat Ibrahim's avatar
      powerpc/pci: Fix boot panic on mpc83xx (regression) · b37e1613
      Rojhalat Ibrahim authored
      The following commit caused a fatal oops when booting on mpc83xx with
      a non-express PCI bus (regardless of whether a PCI device is present):
      
      commit 50d8f87d
      Author: Rojhalat Ibrahim <imr@rtschenk.de>
      Date:   Mon Apr 8 10:15:28 2013 +0200
      
          powerpc/fsl-pci Make PCIe hotplug work with Freescale PCIe controllers
      
          Up to now the PCIe link status on Freescale PCIe controllers was only
          checked once at boot time. So hotplug did not work. With this patch the
          link status is checked on every config read. PCIe devices not present at
          boot time are found after doing 'echo 1 >/sys/bus/pci/rescan'.
      Signed-off-by: default avatarRojhalat Ibrahim <imr@rtschenk.de>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      
      This patch fixes the issue by calling setup_indirect_pci for all device types.
      fsl_indirect_read_config is now only used for booke/86xx PCIe controllers.
      Reported-by: default avatarMichael Guntsche <mike@it-loops.com>
      Cc: Scott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarRojhalat Ibrahim <imr@rtschenk.de>
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      b37e1613
    • Gregory CLEMENT's avatar
      ARM: 7773/1: PJ4B: Add support for errata 4742 · 3e0a07f8
      Gregory CLEMENT authored
      This commit fixes the regression on Armada 370 (the kernal hang during
      boot) introduced by the commit: "ARM: 7691/1: mm: kill unused
      TLB_CAN_READ_FROM_L1_CACHE and use ALT_SMP instead".
      
      When coming out of either a Wait for Interrupt (WFI) or a Wait for
      Event (WFE) IDLE states, a specific timing sensitivity exists between
      the retiring WFI/WFE instructions and the newly issued subsequent
      instructions. This sensitivity can result in a CPU hang scenario.  The
      workaround is to insert either a Data Synchronization Barrier (DSB) or
      Data Memory Barrier (DMB) command immediately after the WFI/WFE
      instruction.
      
      This commit was based on the work of Lior Amsalem, but heavily
      modified to apply the errata fix dynamically according to the
      processor type thanks to the suggestions of Russell King and Nicolas
      Pitre.
      Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
      Reviewed-by: default avatarWill Deacon <will.deacon@arm.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Tested-by: default avatarWilly Tarreau <w@1wt.eu>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      3e0a07f8
    • Simon Baatz's avatar
      ARM: 7772/1: Fix missing flush_kernel_dcache_page() for noMMU · 63384fd0
      Simon Baatz authored
      Commit 1bc39742 (ARM: 7755/1: handle user space mapped pages in
      flush_kernel_dcache_page) moved the implementation of
      flush_kernel_dcache_page() into mm/flush.c but did not implement it
      on noMMU ARM.
      Signed-off-by: default avatarSimon Baatz <gmbnomis@gmail.com>
      Acked-by: default avatarKevin Hilman <khilman@linaro.org>
      Cc: <stable@vger.kernel.org> # 3.2+: 1bc39742: ARM: 7755/1
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      63384fd0
    • Lorenzo Pieralisi's avatar
      ARM: 7763/1: kernel: fix __cpu_logical_map default initialization · 18d7f152
      Lorenzo Pieralisi authored
      The __cpu_logical_map array is statically initialized to 0, which is a valid
      MPIDR value. To prevent issues with the current implementation, this patch
      defines an MPIDR_INVALID value, and statically initializes the
      __cpu_logical_map[] array to it. Entries in the arm_dt_init_cpu_maps()
      tmp_map array used to stash DT reg properties while parsing DT are initialized
      with the MPIDR_INVALID value as well for consistency.
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      18d7f152
    • Lorenzo Pieralisi's avatar
      ARM: 7762/1: kernel: fix arm_dt_init_cpu_maps() to skip non-cpu nodes · 1ba9bf0a
      Lorenzo Pieralisi authored
      The introduction of the cpu-map topology node in the cpus node implies
      that cpus node might have children that are not cpu nodes. The DT
      parsing code needs updating otherwise it would check for cpu nodes
      properties in nodes that are not required to contain them, resulting
      in warnings that have no bearing on bindings defined in the dts source file.
      
      Cc: <stable@vger.kernel.org> [3.8+]
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      1ba9bf0a
    • Jonas Jensen's avatar
      ARM: 7760/1: cpu_fa526_do_idle: remove WFI · 8182a34d
      Jonas Jensen authored
      As it was already suggested by Russell King and Arnd Bergmann:
      
      https://lkml.org/lkml/2013/5/16/133
      
      moxart and gemini seem to be the only platforms using CPU_FA526,
      and instead of pointing arm_pm_idle to an empty function from
      platform code, it makes sense to remove WFI code from the processor
      specific idle function.
      
      Applies to arm-soc/for-next (and 3.10-rc1).
      
      Changes since v1:
      
      1. remove WFI but make sure cpu_fa526_do_idle do not fall through
         to cpu_fa526_dcache_clean_area
      
      Note: moxart boots and prints to UART without this patch, but input is broken.
      Signed-off-by: default avatarJonas Jensen <jonas.jensen@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      8182a34d
    • Marc Dietrich's avatar
      mfd: tps6586x: correct device name of the regulator cell · ec8da805
      Marc Dietrich authored
      Change the device name of the regulator function to the one chosen for
      MODULE_ALIAS. This fixes kernel auto-module loading for the regulator function.
      Signed-off-by: default avatarMarc Dietrich <marvin24@gmx.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      ec8da805
    • Mark Brown's avatar
    • Mark Brown's avatar
      2f5a5c1b
    • Rafael J. Wysocki's avatar
      ACPI / dock / PCI: Synchronous handling of dock events for PCI devices · 21a31013
      Rafael J. Wysocki authored
      The interactions between the ACPI dock driver and the ACPI-based PCI
      hotplug (acpiphp) are currently problematic because of ordering
      issues during hot-remove operations.
      
      First of all, the current ACPI glue code expects that physical
      devices will always be deleted before deleting the companion ACPI
      device objects.  Otherwise, acpi_unbind_one() will fail with a
      warning message printed to the kernel log, for example:
      
      [  185.026073] usb usb5: Oops, 'acpi_handle' corrupt
      [  185.035150] pci 0000:1b:00.0: Oops, 'acpi_handle' corrupt
      [  185.035515] pci 0000:18:02.0: Oops, 'acpi_handle' corrupt
      [  180.013656]  port1: Oops, 'acpi_handle' corrupt
      
      This means, in particular, that struct pci_dev objects have to
      be deleted before the struct acpi_device objects they are "glued"
      with.
      
      Now, the following happens the during the undocking of an ACPI-based
      dock station:
       1) hotplug_dock_devices() invokes registered hotplug callbacks to
          destroy physical devices associated with the ACPI device objects
          depending on the dock station.  It calls dd->ops->handler() for
          each of those device objects.
       2) For PCI devices dd->ops->handler() points to
          handle_hotplug_event_func() that queues up a separate work item
          to execute _handle_hotplug_event_func() for the given device and
          returns immediately.  That work item will be executed later.
       3) hotplug_dock_devices() calls dock_remove_acpi_device() for each
          device depending on the dock station.  This runs acpi_bus_trim()
          for each of them, which causes the underlying ACPI device object
          to be destroyed, but the work items queued up by
          handle_hotplug_event_func() haven't been started yet.
       4) _handle_hotplug_event_func() queued up in step 2) are executed
          and cause the above failure to happen, because the PCI devices
          they handle do not have the companion ACPI device objects any
          more (those objects have been deleted in step 3).
      
      The possible breakage doesn't end here, though, because
      hotplug_dock_devices() may return before at least some of the
      _handle_hotplug_event_func() work items spawned by it have a
      chance to complete and then undock() will cause _DCK to be
      evaluated and that will cause the devices handled by the
      _handle_hotplug_event_func() to go away possibly while they are
      being accessed.
      
      This means that dd->ops->handler() for PCI devices should not point
      to handle_hotplug_event_func().  Instead, it should point to a
      function that will do the work of _handle_hotplug_event_func()
      synchronously.  For this reason, introduce such a function,
      hotplug_event_func(), and modity acpiphp_dock_ops to point to
      it as the handler.
      
      Unfortunately, however, this is not sufficient, because if the dock
      code were not changed further, hotplug_event_func() would now
      deadlock with hotplug_dock_devices() that called it, since it would
      run unregister_hotplug_dock_device() which in turn would attempt to
      acquire the dock station's hp_lock mutex already acquired by
      hotplug_dock_devices().
      
      To resolve that deadlock use the observation that
      unregister_hotplug_dock_device() won't need to acquire hp_lock
      if PCI bridges the devices on the dock station depend on are
      prevented from being removed prematurely while the first loop in
      hotplug_dock_devices() is in progress.
      
      To make that possible, introduce a mechanism by which the callers of
      register_hotplug_dock_device() can provide "init" and "release"
      routines that will be executed, respectively, during the addition
      and removal of the physical device object associated with the
      given ACPI device handle.  Make acpiphp use two new functions,
      acpiphp_dock_init() and acpiphp_dock_release(), that call
      get_bridge() and put_bridge(), respectively, on the acpiphp bridge
      holding the given device, for this purpose.
      
      In addition to that, remove the dock station's list of
      "hotplug devices" and make the dock code always walk the whole list
      of "dependent devices" instead in such a way that the loops in
      hotplug_dock_devices() and dock_event() (replacing the loops over
      "hotplug devices") will take references to the list entries that
      register_hotplug_dock_device() has been called for.  That prevents
      the "release" routines associated with those entries from being
      called while the given entry is being processed and for PCI
      devices this means that their bridges won't be removed (by a
      concurrent thread) while hotplug_event_func() handling them is
      being executed.
      
      This change is based on two earlier patches from Jiang Liu.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=59501Reported-and-tested-by: default avatarAlexander E. Patrakov <patrakov@gmail.com>
      Tracked-down-by: default avatarJiang Liu <jiang.liu@huawei.com>
      Tested-by: default avatarIllya Klymov <xanf@xanf.me>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: 3.9+ <stable@vger.kernel.org>
      21a31013
    • Michael Holzheu's avatar
      s390/ipl: Fix FCP WWPN and LUN format strings for read · eda4ddf7
      Michael Holzheu authored
      The following git commit changed the behavior of sscanf:
      
      commit 53809751
      Author: Jan Beulich <JBeulich@suse.com>
      Date:   Mon Dec 17 16:01:31 2012 -0800
          sscanf: don't ignore field widths for numeric conversions
      
      This broke the WWPN and LUN sysfs attributes for s390 reipl and dump
      on panic.
      
      Example:
      
      $ echo 0x0123456701234567 > /sys/firmware/reipl/fcp/wwpn
      $ cat /sys/firmware/reipl/fcp/wwpn
      0x0001234567012345
      
      So fix this and use format strings that work also with the
      new sscanf implementation:
      
      $ echo 0x012345670123456789 > /sys/firmware/reipl/fcp/wwpn
      $ cat /sys/firmware/reipl/fcp/wwpn
      0x0123456701234567
      
      Cc: stable@vger.kernel.org # 3.8+
      Reviewed-by: default avatarSteffen Maier <maier@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      eda4ddf7
    • Randy Dunlap's avatar
      fs: fix new splice.c kernel-doc warning · acdb37c3
      Randy Dunlap authored
      Fix new kernel-doc warning in fs/splice.c:
      
        Warning(fs/splice.c:1298): No description found for parameter 'opos'
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      acdb37c3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · e941bc0d
      Linus Torvalds authored
      Pull input subsystem updates from Dmitry Torokhov:
       "A few small fixups for cyttsp, wacom and xpad drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: xpad - fix for "Mad Catz Street Fighter IV FightPad" controllers
        Input: wacom - add a new stylus (0x100802) for Intuos5 and Cintiqs
        Input: add missing dependencies on CONFIG_HAS_IOMEM
        Input: cyttsp - fix swapped mfg_stat and mfg_cmd registers
        Input: cyttsp - add missing handshake
        Input: cyttsp - fix memcpy size param
      e941bc0d
  5. 22 Jun, 2013 6 commits