1. 24 7月, 2013 10 次提交
    • L
      Merge tag 'please-pull-bp-edac' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 04012e30
      Linus Torvalds 提交于
      Pull EDAC fix from Tony Luck:
       "Fix EDAC lockdep splat"
      
      * tag 'please-pull-bp-edac' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC: Fix lockdep splat
      04012e30
    • L
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux · a474902c
      Linus Torvalds 提交于
      Pull device tree bug fixes and maintainership updates from Grant Likely:
       "This branch contains a couple of minor bug fixes and documentation
        additions, but the bulk of it are several changes to the MAINTAINERS
        file regarding the subsystems I've been involved with"
      
      * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
        of/irq: init struct resource to 0 in of_irq_to_resource()
        of/irq: Avoid calling list_first_entry() for empty list
        of: add vendor prefixes for hisilicon
        of: add vendor prefix for Qualcomm Atheros, Inc.
        MAINTAINERS: Fix incorrect status tag
        MAINTAINERS: Refactor device tree maintainership
        MAINTAINERS: Change device tree mailing list
        MAINTAINERS: Remove Grant Likely
      a474902c
    • B
      EDAC: Fix lockdep splat · 88d84ac9
      Borislav Petkov 提交于
      Fix the following:
      
      BUG: key ffff88043bdd0330 not in .data!
      ------------[ cut here ]------------
      WARNING: at kernel/lockdep.c:2987 lockdep_init_map+0x565/0x5a0()
      DEBUG_LOCKS_WARN_ON(1)
      Modules linked in: glue_helper sb_edac(+) edac_core snd acpi_cpufreq lrw gf128mul ablk_helper iTCO_wdt evdev i2c_i801 dcdbas button cryptd pcspkr iTCO_vendor_support usb_common lpc_ich mfd_core soundcore mperf processor microcode
      CPU: 2 PID: 599 Comm: modprobe Not tainted 3.10.0 #1
      Hardware name: Dell Inc. Precision T3600/0PTTT9, BIOS A08 01/24/2013
       0000000000000009 ffff880439a1d920 ffffffff8160a9a9 ffff880439a1d958
       ffffffff8103d9e0 ffff88043af4a510 ffffffff81a16e11 0000000000000000
       ffff88043bdd0330 0000000000000000 ffff880439a1d9b8 ffffffff8103dacc
      Call Trace:
        dump_stack
        warn_slowpath_common
        warn_slowpath_fmt
        lockdep_init_map
        ? trace_hardirqs_on_caller
        ? trace_hardirqs_on
        debug_mutex_init
        __mutex_init
        bus_register
        edac_create_sysfs_mci_device
        edac_mc_add_mc
        sbridge_probe
        pci_device_probe
        driver_probe_device
        __driver_attach
        ? driver_probe_device
        bus_for_each_dev
        driver_attach
        bus_add_driver
        driver_register
        __pci_register_driver
        ? 0xffffffffa0010fff
        sbridge_init
        ? 0xffffffffa0010fff
        do_one_initcall
        load_module
        ? unset_module_init_ro_nx
        SyS_init_module
        tracesys
      ---[ end trace d24a70b0d3ddf733 ]---
      EDAC MC0: Giving out device to 'sbridge_edac.c' 'Sandy Bridge Socket#0': DEV 0000:3f:0e.0
      EDAC sbridge: Driver loaded.
      
      What happens is that bus_register needs a statically allocated lock_key
      because the last is handed in to lockdep. However, struct mem_ctl_info
      embeds struct bus_type (the whole struct, not a pointer to it) and the
      whole thing gets dynamically allocated.
      
      Fix this by using a statically allocated struct bus_type for the MC bus.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Acked-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
      Cc: stable@kernel.org # v3.10
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      88d84ac9
    • L
      Merge branch 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · c2468d32
      Linus Torvalds 提交于
      Pull cgroup changes from Tejun Heo:
       "This contains two patches, both of which aren't fixes per-se but I
        think it'd be better to fast-track them.
      
        One removes bcache_subsys_id which was added without proper review
        through the block tree.  Fortunately, bcache cgroup code is
        unconditionally disabled, so this was never exposed to userland.  The
        cgroup subsys_id is removed.  Kent will remove the affected (disabled)
        code through bcache branch.
      
        The other simplifies task_group_path_from_hierarchy().  The function
        doesn't currently have in-kernel users but there are external code and
        development going on dependent on the function and making the function
        available for 3.11 would make things go smoother"
      
      * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: replace task_cgroup_path_from_hierarchy() with task_cgroup_path()
        cgroup: remove bcache_subsys_id which got added stealthily
      c2468d32
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 549f3a12
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "This is just a regular fixes pull, mostly nouveau and i915, the i915
        ones fix RC6 on Sandybridge after suspend/resume, which I think people
        have be wanting for quite a while!
      
        Now you shouldn't wish for more patches, as the new mutex/reservation
        code found a number of problems with the qxl driver, and it currently
        makes lockdep angry, I'm working on a set of fixes for it, but its a
        bit large, I'll submit them separately later today or tomorrow once
        I've banged on them a bit more, just warning you in advance :-)"
      
      Yeah, I'm definitely over the whole "wish for more patches" thing.
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/crtc-helper: explicit DPMS on after modeset
        drm/i915: fix up gt init sequence fallout
        drm/i915: Serialize almost all register access
        drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight
        drm/i915: correctly restore fences with objects attached
        drm/i915: Fix dereferencing invalid connectors in is_crtc_connector_off()
        drm/i915: Sanitize shared dpll state
        drm/i915: fix long-standing SNB regression in power consumption after resume v2
        drm/i915: Preserve the DDI_A_4_LANES bit from the bios
        drm/i915: fix pfit regression for non-autoscaled resolutions
        drm/i915: fix up readout of the lvds dither bit on gen2/3
        drm/nouveau: do not allow negative sizes for now
        drm/nouveau: add falcon interrupt handler
        drm/nouveau: use dedicated channel for async moves on GT/GF chipsets.
        drm/nouveau: bump fence timeout to 15 seconds
        drm/nouveau: do not unpin in nouveau_gem_object_del
        drm/nv50/kms: fix pin refcnt leaks
        drm/nouveau: fix some error-path leaks in fbcon handling code
        drm/nouveau: fix locking issues in page flipping paths
      549f3a12
    • D
      Fix __wait_on_atomic_t() to call the action func if the counter != 0 · 42577ca8
      David Howells 提交于
      Fix __wait_on_atomic_t() so that it calls the action func if the counter != 0
      rather than if the counter is 0 so as to be analogous to __wait_on_bit().
      
      Thanks to Yacine who found this by visual inspection.
      
      This will affect FS-Cache in that it will could fail to sleep correctly when
      trying to clean up after a netfs cookie is withdrawn.
      Reported-by: NYacine Belkadi <yacine.belkadi.1@gmail.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NJeff Layton <jlayton@redhat.com>
      cc: Milosz Tanski <milosz@adfin.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      42577ca8
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · 7c6d4dca
      Linus Torvalds 提交于
      Pull alpha architecture fixes from Matt Turner:
       "This contains mostly clean ups and fixes but also an implementation of
        atomic64_dec_if_positive() and a pair of new syscalls"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
        alpha: Use handle_percpu_irq for the timer interrupt
        alpha: Force the user-visible HZ to a constant 1024.
        alpha: Don't if-out dp264_device_interrupt.
        alpha: Use __builtin_alpha_rpcc
        alpha: Fix type compatibility warning for marvel_map_irq
        alpha: Generate dwarf2 unwind info for various kernel entry points.
        alpha: Implement atomic64_dec_if_positive
        alpha: Improve atomic_add_unless
        alpha: Modernize lib/mpi/longlong.h
        alpha: Add kcmp and finit_module syscalls
        alpha: locks: remove unused arch_*_relax operations
        alpha: kernel: typo issue, using '1' instead of '11'
        alpha: kernel: using memcpy() instead of strcpy()
        alpha: Convert print_symbol to %pSR
      7c6d4dca
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · a030cbc3
      Linus Torvalds 提交于
      Pull vhost fixes from Michael Tsirkin:
       "vhost: more fixes for 3.11
      
        This includes some fixes for vhost net and scsi drivers.
      
        The test module has already been reworked to avoid rcu usage, but the
        necessary core changes are missing, we fixed this.
      
        Unlikely to affect any real-world users, but it's early in the cycle
        so, let's merge them"
      
      (It was earlier when Michael originally sent the email, but it somehot
      got missed in the flood, so here it is after -rc2)
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost: Remove custom vhost rcu usage
        vhost-scsi: Always access vq->private_data under vq mutex
        vhost-net: Always access vq->private_data under vq mutex
      a030cbc3
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 55c62960
      Linus Torvalds 提交于
      Pull fuse bugfixes from Miklos Szeredi:
       "These are bugfixes and a cleanup to the "readdirplus" feature"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: readdirplus: cleanup
        fuse: readdirplus: change attributes once
        fuse: readdirplus: fix instantiate
        fuse: readdirplus: sanity checks
        fuse: readdirplus: fix dentry leak
      55c62960
    • T
      NFSv4: Fix brainfart in attribute length calculation · 4f3cc480
      Trond Myklebust 提交于
      The calculation of the attribute length was 4 bytes off.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Tested-by: NAndre Heider <a.heider@gmail.com>
      Reported-and-tested-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4f3cc480
  2. 23 7月, 2013 12 次提交
    • L
      Merge tag 'trace-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · b3a3a9c4
      Linus Torvalds 提交于
      Pull tracing fixes and cleanups from Steven Rostedt:
       "This contains fixes, optimizations and some clean ups
      
        Some of the fixes need to go back to 3.10.  They are minor, and deal
        mostly with incorrect ref counting in accessing event files.
      
        There was a couple of optimizations that should have perf perform a
        bit better when accessing trace events.
      
        And some various clean ups.  Some of the clean ups are necessary to
        help in a fix to a theoretical race between opening a event file and
        deleting that event"
      
      * tag 'trace-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Kill the unbalanced tr->ref++ in tracing_buffers_open()
        tracing: Kill trace_array->waiter
        tracing: Do not (ab)use trace_seq in event_id_read()
        tracing: Simplify the iteration logic in f_start/f_next
        tracing: Add ref_data to function and fgraph tracer structs
        tracing: Miscellaneous fixes for trace_array ref counting
        tracing: Fix error handling to ensure instances can always be removed
        tracing/kprobe: Wait for disabling all running kprobe handlers
        tracing/perf: Move the PERF_MAX_TRACE_SIZE check into perf_trace_buf_prepare()
        tracing/syscall: Avoid perf_trace_buf_*() if sys_data->perf_events is empty
        tracing/function: Avoid perf_trace_buf_*() if event_function.perf_events is empty
        tracing: Typo fix on ring buffer comments
        tracing: Use trace_seq_puts()/trace_seq_putc() where possible
        tracing: Use correct config guard CONFIG_STACK_TRACER
      b3a3a9c4
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · a582e5f5
      Linus Torvalds 提交于
      Pull thermal management fixes from Zhang Rui:
       "These are fixes collected over the last week, they fixes several
        problems caused by the x86_pkg_temp_thermal introduced in 3.11-rc1.
      
        Specifics:
      
         - the x86_pkg_temp_thermal driver causes crash on systems with no
           package MSR support as there is a bug in the logic to check
           presence of DTHERM and PTS feature together.  Added a change so
           that when there is no PTS support, module doesn't get loaded.
      
         - fix krealloc() misuse in pkg_temp_thermal_device_add().
      
           If krealloc() returns NULL, it doesn't free the original.  Thus if
           we want to exit because of the krealloc() failure, we must make
           sure the original one is freed.
      
         - The error code path of the x86 package temperature thermal driver's
           initialization routine makes an unbalanced call to
           get_online_cpus(), which causes subsequent CPU offline operations,
           and consequently system suspend, to permanently block in
           cpu_hotplug_begin() on systems where get_core_online() returns an
           error code.
      
           Remove the extra get_online_cpus() to fix the problem"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        Thermal: Fix lockup of cpu_down()
        Thermal: x86_pkg_temp: Limit number of pkg temp zones
        Thermal: x86_pkg_temp: fix krealloc() misuse in in pkg_temp_thermal_device_add()
        Thermal: x86 package temp thermal crash
      a582e5f5
    • L
      Merge tag 'gpio-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · b7371e31
      Linus Torvalds 提交于
      Pull gpio fixes from Linus Walleij:
       "A first round of GPIO fixes for the v3.11 series:
         - OMAP device tree boot fix
         - Handle an error condition in the MSM driver
      
        The OMAP patches have been around since around the merge window, but
        since they first caused more breakage I let them boil in -next for a
        while.  These should be fine now"
      
      * tag 'gpio-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        drivers: gpio: msm: Fix the error condition for reading ngpio
        gpio/omap: fix build error when OF_GPIO is not defined.
        gpio/omap: auto request GPIO as input if used as IRQ via DT
        gpio/omap: don't create an IRQ mapping for every GPIO on DT
      b7371e31
    • L
      Merge branch 'for-3.11/drivers' of git://git.kernel.dk/linux-block · d4c90b1b
      Linus Torvalds 提交于
      Pull block IO driver bits from Jens Axboe:
       "As I mentioned in the core block pull request, due to real life
        circumstances the driver pull request would be late.  Now it looks
        like -rc2 late...  On the plus side, apart form the rsxx update, these
        are all things that I could argue could go in later in the cycle as
        they are fixes and not features.  So even though things are late, it's
        not ALL bad.
      
        The pull request contains:
      
         - Updates to bcache, all bug fixes, from Kent.
      
         - A pile of drbd bug fixes (no big features this time!).
      
         - xen blk front/back fixes.
      
         - rsxx driver updates, some of them deferred form 3.10.  So should be
           well cooked by now"
      
      * 'for-3.11/drivers' of git://git.kernel.dk/linux-block: (63 commits)
        bcache: Allocation kthread fixes
        bcache: Fix GC_SECTORS_USED() calculation
        bcache: Journal replay fix
        bcache: Shutdown fix
        bcache: Fix a sysfs splat on shutdown
        bcache: Advertise that flushes are supported
        bcache: check for allocation failures
        bcache: Fix a dumb race
        bcache: Use standard utility code
        bcache: Update email address
        bcache: Delete fuzz tester
        bcache: Document shrinker reserve better
        bcache: FUA fixes
        drbd: Allow online change of al-stripes and al-stripe-size
        drbd: Constants should be UPPERCASE
        drbd: Ignore the exit code of a fence-peer handler if it returns too late
        drbd: Fix rcu_read_lock balance on error path
        drbd: fix error return code in drbd_init()
        drbd: Do not sleep inside rcu
        bcache: Refresh usage docs
        ...
      d4c90b1b
    • S
      of/irq: init struct resource to 0 in of_irq_to_resource() · cf9e2368
      Sebastian Andrzej Siewior 提交于
      It almost does not matter because most users use only the ->start member
      of the struct. However if this struct is passed to a platform device
      which is then added via platform_device_add() then the ->parent member is
      also used.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      cf9e2368
    • A
      of/irq: Avoid calling list_first_entry() for empty list · c0cdfaa0
      Axel Lin 提交于
      list_first_entry() expects the list is not empty, we need to check if list is
      empty before calling list_first_entry(). Thus use list_first_entry_or_null()
      instead of list_first_entry().
      Signed-off-by: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      c0cdfaa0
    • Z
      of: add vendor prefixes for hisilicon · cfd1ee3e
      Zhangfei Gao 提交于
      Signed-off-by: NZhangfei Gao <zhangfei.gao@linaro.org>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      cfd1ee3e
    • G
      of: add vendor prefix for Qualcomm Atheros, Inc. · 7d4ddbaa
      Gabor Juhos 提交于
      This prefix will be used in various compatible properties
      for the devices from Qualcomm Atheros, Inc.
      
      Cc: Luis R. Rodriguez <rodrigue@qca.qualcomm.com>
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      7d4ddbaa
    • G
      MAINTAINERS: Fix incorrect status tag · cdeb8994
      Grant Likely 提交于
      When I removed myself from the xilinx drivers I used the wrong tag. Fix
      it.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      cdeb8994
    • G
      MAINTAINERS: Refactor device tree maintainership · f8828205
      Grant Likely 提交于
      Device tree bindings require a lot more attention than they used to.
      We've got a group of volunteers willing to take over maintaining
      bindings. This patch adds them to the MAINTAINERS file.
      
      This group still needs to work out a process for maintainership and how
      they are going to work together. I recommend that they set up a shared
      tree on git.kernel.org that they each have commit access to similar to
      the tip tree or the arm-soc tree, but it is up to them.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      f8828205
    • G
      MAINTAINERS: Change device tree mailing list · d0fb18c5
      Grant Likely 提交于
      New list on vger.kernel.org. The old list was a pain to moderate.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      d0fb18c5
    • G
      MAINTAINERS: Remove Grant Likely · a0062d4e
      Grant Likely 提交于
      Unfortunately, I'm no longer to spend the time needed on maintainership.
      It is time for me to step aside and pass maintainership to other
      engineers. I'm not disappearing from Linux development, but it would be
      irresponsible for me to hold onto a job that I am unable to do.
      
      v2: Leave my name on devicetree core code maintainership. Rob NAKed that
          part of the patch. :)
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Linux Walleij <linus.walleij@linaro.org>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      a0062d4e
  3. 22 7月, 2013 6 次提交
    • D
      Merge tag 'drm-intel-fixes-2013-07-22' of... · 058ca4a2
      Dave Airlie 提交于
      Merge tag 'drm-intel-fixes-2013-07-22' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
      
      - fixup panel fitter readout for gen2/3 (just quitens dmesg noise)
      - fix pft computations for non-autoscaled resolutions (i.e. letter/pillar
        boxing on gen2/3)
      - preserve the DDI A/E lane sharing bit (Stéphane Marchesin)
      - fix the "rc6 fails to work after resume" regression, big thanks to
        Konstantin Khlebnikov for the patch and debug insight about what
        actually might be going on here
      - fix Oops in is_crtc_connector_off (Chris)
      - sanitize shared dpll state - our new paranoid state checker tripped up
        over dirt left behind by the BIOS
      - correctly restore fences, fixes the "my screen is all messed up after
        resume" regression introduced in the final 3.10 pull request
      - quirk backlights harder, this time for Dell XPS13 machines to fix a
        regression (patch from Kamal Mostafa)
      - 90% fix for some haswell hangs when accessing registers concurrently,
        the 100% solution is simply too invasive for -fixes and what we have
        here seems to be good enough (Chris)
      
      * tag 'drm-intel-fixes-2013-07-22' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: fix up gt init sequence fallout
        drm/i915: Serialize almost all register access
        drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight
        drm/i915: correctly restore fences with objects attached
        drm/i915: Fix dereferencing invalid connectors in is_crtc_connector_off()
        drm/i915: Sanitize shared dpll state
        drm/i915: fix long-standing SNB regression in power consumption after resume v2
        drm/i915: Preserve the DDI_A_4_LANES bit from the bios
        drm/i915: fix pfit regression for non-autoscaled resolutions
        drm/i915: fix up readout of the lvds dither bit on gen2/3
      058ca4a2
    • S
      Thermal: Fix lockup of cpu_down() · ace120dc
      Steven Rostedt 提交于
      Commit f1a18a10 "Thermal: CPU Package temperature thermal" had code
      that did a get_online_cpus(), run a loop and then do a
      put_online_cpus(). The problem is that the loop had an error exit that
      would skip the put_online_cpus() part.
      
      In the error exit part of the function, it also did a get_online_cpus(),
      run a loop and then put_online_cpus(). The only way to get to the error
      exit part is with get_online_cpus() already performed. If this error
      condition is hit, the system will be prevented from taking CPUs offline.
      The process taking the CPU offline will lock up hard.
      
      Removing the get_online_cpus() removes the lockup as the hotplug CPU
      refcount is back to zero.
      
      This was bisected with ktest.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      ace120dc
    • D
      Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 · 27ddabc3
      Dave Airlie 提交于
      Fixes for some locking issues, and fence timeouts.
      
      * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau: do not allow negative sizes for now
        drm/nouveau: add falcon interrupt handler
        drm/nouveau: use dedicated channel for async moves on GT/GF chipsets.
        drm/nouveau: bump fence timeout to 15 seconds
        drm/nouveau: do not unpin in nouveau_gem_object_del
        drm/nv50/kms: fix pin refcnt leaks
        drm/nouveau: fix some error-path leaks in fbcon handling code
        drm/nouveau: fix locking issues in page flipping paths
      27ddabc3
    • D
      drm/crtc-helper: explicit DPMS on after modeset · 25f397a4
      Daniel Vetter 提交于
      Atm the crtc helper implementation of set_config has really
      inconsisten semantics: If just an fb update is good enough, dpms state
      will be left as-is, but if we do a full modeset we force everything to
      dpms on.
      
      This change has already been applied to the i915 modeset code in
      
      commit e3de42b6
      Author: Imre Deak <imre.deak@intel.com>
      Date:   Fri May 3 19:44:07 2013 +0200
      
          drm/i915: force full modeset if the connector is in DPMS OFF mode
      
      which according to Greg KH seems to aim for a new record in most
      Bugzilla: links in a commit message.
      
      The history of this dpms forcing is pretty interesting. This patch
      here is an almost-revert of
      
      commit 811aaa55
      Author: Keith Packard <keithp@keithp.com>
      Date:   Thu Feb 3 16:57:28 2011 -0800
      
          drm: Only set DPMS ON when actually configuring a mode
      
      which fixed the bug of trying to dpms on disabled outputs, but
      introduced the new discrepancy between an fb update only and full
      modesets. The actual introduction of this goes back to
      
      commit bf9dc102
      Author: Keith Packard <keithp@keithp.com>
      Date:   Fri Nov 26 10:45:58 2010 -0800
      
          drm: Set connector DPMS status to ON in drm_crtc_helper_set_config
      
      And if you'd dig around in the i915 driver code there's even more fun
      around forcing dpms on and losing our heads and temper of the
      resulting inconsistencies. Especially the DP re-training code had tons
      of funny stuff in it.
      
      v2: So v1 totally blew up on resume on my radeon system here. After
      much head-scraching I've figured out that the radeon resume functions
      resumes the console system _before_ it actually restores all the
      modeset state. And resuming the console systems means that fbdev doeas
      an immediate ->set_par call.
      
      Now up to this patch that ->set_par did absolutely nothing: All the
      old sw state from pre-suspend was still around (since the modeset
      reset wasn't done yet), which means that the set_config calls done as
      a result of the ->set_par where all treated as no-ops (despite that
      the real hw state was obviously something completely different).
      
      Since v1 of this patch just added a bunch of ->dpms calls if the crtc
      was enabled, those set_config calls suddenly stopped being no-ops. But
      because the hw state wasn't restored the ->dpms callbacks resulted in
      decent amounts of hilarity and eventual full hangs.
      
      Since I can't review all kms drivers for such tricky ordering
      constraints v2 opts for a different approach and forces a full modeset
      if the connector dpms state isnt' DPMS_ON. Since the ->dpms callbacks
      implemented by the modeset helpers update the connector->dpms property
      we have the same effect of ensuring that the pipe is ultimately turned
      on, even if we just end up updating the fb. This is the same approac
      we ended up using in the intel driver.
      
      Note that besides i915.ko only all other drivers eventually call
      drm_helper_connector_dpms with the exception of vmwgfx, which does not
      support dmps at all.
      
      v3: Dave Airlie merged the broken first version of this patch, so
      squash in the revert of
      
      commit 372835a8
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sat Jun 15 00:13:13 2013 +0200
      
          drm/crtc-helper: explicit DPMS on after modeset
      
      Also fix up the spelling fail a bit in the commit message while at it.
      
      Cc: Dave Airlie <airlied@redhat.com>
      Reviewed-by: NAlex Deucher <alexdeucher@gmail.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67043Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      25f397a4
    • L
      Linux 3.11-rc2 · 3b2f64d0
      Linus Torvalds 提交于
      3b2f64d0
    • L
      Merge tag 'acpi-video-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ea45ea70
      Linus Torvalds 提交于
      Pull ACPI video support fixes from Rafael Wysocki:
       "I'm sending a separate pull request for this as it may be somewhat
        controversial.  The breakage addressed here is not really new and the
        fixes may not satisfy all users of the affected systems, but we've had
        so much back and forth dance in this area over the last several weeks
        that I think it's time to actually make some progress.
      
        The source of the problem is that about a year ago we started to tell
        BIOSes that we're compatible with Windows 8, which we really need to
        do, because some systems shipping with Windows 8 are tested with it
        and nothing else, so if we tell their BIOSes that we aren't compatible
        with Windows 8, we expose our users to untested BIOS/AML code paths.
      
        However, as it turns out, some Windows 8-specific AML code paths are
        not tested either, because Windows 8 actually doesn't use the ACPI
        methods containing them, so if we declare Windows 8 compatibility and
        attempt to use those ACPI methods, things break.  That occurs mostly
        in the backlight support area where in particular the _BCM and _BQC
        methods are plain unusable on some systems if the OS declares Windows
        8 compatibility.
      
        [ The additional twist is that they actually become usable if the OS
          says it is not compatible with Windows 8, but that may cause
          problems to show up elsewhere ]
      
        Investigation carried out by Matthew Garrett indicates that what
        Windows 8 does about backlight is to leave backlight control up to
        individual graphics drivers.  At least there's evidence that it does
        that if the Intel graphics driver is used, so we've decided to follow
        Windows 8 in that respect and allow i915 to control backlight (Daniel
        likes that part).
      
        The first commit from Aaron Lu makes ACPICA export the variable from
        which we can infer whether or not the BIOS believes that we are
        compatible with Windows 8.
      
        The second commit from Matthew Garrett prepares the ACPI video driver
        by making it initialize the ACPI backlight even if it is not going to
        be used afterward (that is needed for backlight control to work on
        Thinkpads).
      
        The third commit implements the actual workaround making i915 take
        over backlight control if the firmware thinks it's dealing with
        Windows 8 and is based on the work of multiple developers, including
        Matthew Garrett, Chun-Yi Lee, Seth Forshee, and Aaron Lu.
      
        The final commit from Aaron Lu makes us follow Windows 8 by informing
        the firmware through the _DOS method that it should not carry out
        automatic brightness changes, so that brightness can be controlled by
        GUI.
      
        Hopefully, this approach will allow us to avoid using blacklists of
        systems that should not declare Windows 8 compatibility just to avoid
        backlight control problems in the future.
      
         - Change from Aaron Lu makes ACPICA export a variable which can be
           used by driver code to determine whether or not the BIOS believes
           that we are compatible with Windows 8.
      
         - Change from Matthew Garrett makes the ACPI video driver initialize
           the ACPI backlight even if it is not going to be used afterward
           (that is needed for backlight control to work on Thinkpads).
      
         - Fix from Rafael J Wysocki implements Windows 8 backlight support
           workaround making i915 take over bakclight control if the firmware
           thinks it's dealing with Windows 8.  Based on the work of multiple
           developers including Matthew Garrett, Chun-Yi Lee, Seth Forshee,
           and Aaron Lu.
      
         - Fix from Aaron Lu makes the kernel follow Windows 8 by informing
           the firmware through the _DOS method that it should not carry out
           automatic brightness changes, so that brightness can be controlled
           by GUI"
      
      * tag 'acpi-video-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / video: no automatic brightness changes by win8-compatible firmware
        ACPI / video / i915: No ACPI backlight if firmware expects Windows 8
        ACPI / video: Always call acpi_video_init_brightness() on init
        ACPICA: expose OSI version
      ea45ea70
  4. 21 7月, 2013 12 次提交
    • D
      drm/i915: fix up gt init sequence fallout · 181d1b9e
      Daniel Vetter 提交于
      The regression fix for gen6+ rps fallout
      
      commit 7dcd2677
      Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
      Date:   Wed Jul 17 10:22:58 2013 +0400
      
          drm/i915: fix long-standing SNB regression in power consumption after resume
      
      unintentionally also changed the init sequence ordering between
      gt_init and gt_reset - we need to reset BIOS damage like leftover
      forcewake references before we run our own code. Otherwise we can get
      nasty dmesg noise like
      
      [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
      
      again. Since _reset suggests that we first need to have stuff
      initialized (which isn't the case here) call it sanitze instead.
      
      While at it also block out the rps disable introduced by the above
      commit on ilk: We don't have any knowledge of ilk rps being broken in
      similar ways. And the disable functions uses the default hw state
      which is only read out when we're enabling rps. So essentially we've
      been writing random grabage into that register.
      Reported-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: stable@vger.kernel.org
      Tested-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      181d1b9e
    • L
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 90db76e8
      Linus Torvalds 提交于
      Pull ext[34] tmpfile bugfix from Ted Ts'o:
       "Fix regression caused by commit af51a2ac which added ->tmpfile()
        support (along with a similar fix for ext3)"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext3: fix a BUG when opening a file with O_TMPFILE flag
        ext4: fix a BUG when opening a file with O_TMPFILE flag
      90db76e8
    • Z
      ext3: fix a BUG when opening a file with O_TMPFILE flag · dda5690d
      Zheng Liu 提交于
      When we try to open a file with O_TMPFILE flag, we will trigger a bug.
      The root cause is that in ext4_orphan_add() we check ->i_nlink == 0 and
      this check always fails because we set ->i_nlink = 1 in
      inode_init_always().  We can use the following program to trigger it:
      
      int main(int argc, char *argv[])
      {
      	int fd;
      
      	fd = open(argv[1], O_TMPFILE, 0666);
      	if (fd < 0) {
      		perror("open ");
      		return -1;
      	}
      	close(fd);
      	return 0;
      }
      
      The oops message looks like this:
      
      kernel: kernel BUG at fs/ext3/namei.c:1992!
      kernel: invalid opcode: 0000 [#1] SMP
      kernel: Modules linked in: ext4 jbd2 crc16 cpufreq_ondemand ipv6 dm_mirror dm_region_hash dm_log dm_mod parport_pc parport serio_raw sg dcdbas pcspkr i2c_i801 ehci_pci ehci_hcd button acpi_cpufreq mperf e1000e ptp pps_core ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core ext3 jbd sd_mod ahci libahci libata scsi_mod uhci_hcd
      kernel: CPU: 0 PID: 2882 Comm: tst_tmpfile Not tainted 3.11.0-rc1+ #4
      kernel: Hardware name: Dell Inc. OptiPlex 780 /0V4W66, BIOS A05 08/11/2010
      kernel: task: ffff880112d30050 ti: ffff8801124d4000 task.ti: ffff8801124d4000
      kernel: RIP: 0010:[<ffffffffa00db5ae>] [<ffffffffa00db5ae>] ext3_orphan_add+0x6a/0x1eb [ext3]
      kernel: RSP: 0018:ffff8801124d5cc8  EFLAGS: 00010202
      kernel: RAX: 0000000000000000 RBX: ffff880111510128 RCX: ffff8801114683a0
      kernel: RDX: 0000000000000000 RSI: ffff880111510128 RDI: ffff88010fcf65a8
      kernel: RBP: ffff8801124d5d18 R08: 0080000000000000 R09: ffffffffa00d3b7f
      kernel: R10: ffff8801114683a0 R11: ffff8801032a2558 R12: 0000000000000000
      kernel: R13: ffff88010fcf6800 R14: ffff8801032a2558 R15: ffff8801115100d8
      kernel: FS:  00007f5d172b5700(0000) GS:ffff880117c00000(0000) knlGS:0000000000000000
      kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      kernel: CR2: 00007f5d16df15d0 CR3: 0000000110b1d000 CR4: 00000000000407f0
      kernel: Stack:
      kernel: 000000000000000c ffff8801048a7dc8 ffff8801114685a8 ffffffffa00b80d7
      kernel: ffff8801124d5e38 ffff8801032a2558 ffff88010ce24d68 0000000000000000
      kernel: ffff88011146b300 ffff8801124d5d44 ffff8801124d5d78 ffffffffa00db7e1
      kernel: Call Trace:
      kernel: [<ffffffffa00b80d7>] ? journal_start+0x8c/0xbd [jbd]
      kernel: [<ffffffffa00db7e1>] ext3_tmpfile+0xb2/0x13b [ext3]
      kernel: [<ffffffff821076f8>] path_openat+0x11f/0x5e7
      kernel: [<ffffffff821c86b4>] ? list_del+0x11/0x30
      kernel: [<ffffffff82065fa2>] ?  __dequeue_entity+0x33/0x38
      kernel: [<ffffffff82107cd5>] do_filp_open+0x3f/0x8d
      kernel: [<ffffffff82112532>] ? __alloc_fd+0x50/0x102
      kernel: [<ffffffff820f9296>] do_sys_open+0x13b/0x1cd
      kernel: [<ffffffff820f935c>] SyS_open+0x1e/0x20
      kernel: [<ffffffff82398c02>] system_call_fastpath+0x16/0x1b
      kernel: Code: 39 c7 0f 85 67 01 00 00 0f b7 03 25 00 f0 00 00 3d 00 40 00 00 74 18 3d 00 80 00 00 74 11 3d 00 a0 00 00 74 0a 83 7b 48 00 74 04 <0f> 0b eb fe 49 8b 85 50 03 00 00 4c 89 f6 48 c7 c7 c0 99 0e a0
      kernel: RIP  [<ffffffffa00db5ae>] ext3_orphan_add+0x6a/0x1eb [ext3]
      kernel: RSP <ffff8801124d5cc8>
      
      Here we couldn't call clear_nlink() directly because in d_tmpfile() we
      will call inode_dec_link_count() to decrease ->i_nlink.  So this commit
      tries to call d_tmpfile() before ext4_orphan_add() to fix this problem.
      Signed-off-by: NZheng Liu <wenqing.lz@taobao.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      dda5690d
    • Z
      ext4: fix a BUG when opening a file with O_TMPFILE flag · e94bd349
      Zheng Liu 提交于
      When we try to open a file with O_TMPFILE flag, we will trigger a bug.
      The root cause is that in ext4_orphan_add() we check ->i_nlink == 0 and
      this check always fails because we set ->i_nlink = 1 in
      inode_init_always().  We can use the following program to trigger it:
      
      int main(int argc, char *argv[])
      {
      	int fd;
      
      	fd = open(argv[1], O_TMPFILE, 0666);
      	if (fd < 0) {
      		perror("open ");
      		return -1;
      	}
      	close(fd);
      	return 0;
      }
      
      The oops message looks like this:
      
      kernel BUG at fs/ext4/namei.c:2572!
      invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
      Modules linked in: dlci bridge stp hidp cmtp kernelcapi l2tp_ppp l2tp_netlink l2tp_core sctp libcrc32c rfcomm tun fuse nfnetli
      nk can_raw ipt_ULOG can_bcm x25 scsi_transport_iscsi ipx p8023 p8022 appletalk phonet psnap vmw_vsock_vmci_transport af_key vmw_vmci rose vsock atm can netrom ax25 af_rxrpc ir
      da pppoe pppox ppp_generic slhc bluetooth nfc rfkill rds caif_socket caif crc_ccitt af_802154 llc2 llc snd_hda_codec_realtek snd_hda_intel snd_hda_codec serio_raw snd_pcm pcsp
      kr edac_core snd_page_alloc snd_timer snd soundcore r8169 mii sr_mod cdrom pata_atiixp radeon backlight drm_kms_helper ttm
      CPU: 1 PID: 1812571 Comm: trinity-child2 Not tainted 3.11.0-rc1+ #12
      Hardware name: Gigabyte Technology Co., Ltd. GA-MA78GM-S2H/GA-MA78GM-S2H, BIOS F12a 04/23/2010
      task: ffff88007dfe69a0 ti: ffff88010f7b6000 task.ti: ffff88010f7b6000
      RIP: 0010:[<ffffffff8125ce69>]  [<ffffffff8125ce69>] ext4_orphan_add+0x299/0x2b0
      RSP: 0018:ffff88010f7b7cf8  EFLAGS: 00010202
      RAX: 0000000000000000 RBX: ffff8800966d3020 RCX: 0000000000000000
      RDX: 0000000000000000 RSI: ffff88007dfe70b8 RDI: 0000000000000001
      RBP: ffff88010f7b7d40 R08: ffff880126a3c4e0 R09: ffff88010f7b7ca0
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801271fd668
      R13: ffff8800966d2f78 R14: ffff88011d7089f0 R15: ffff88007dfe69a0
      FS:  00007f70441a3740(0000) GS:ffff88012a800000(0000) knlGS:00000000f77c96c0
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000002834000 CR3: 0000000107964000 CR4: 00000000000007e0
      DR0: 0000000000780000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
      Stack:
       0000000000002000 00000020810b6dde 0000000000000000 ffff88011d46db00
       ffff8800966d3020 ffff88011d7089f0 ffff88009c7f4c10 ffff88010f7b7f2c
       ffff88007dfe69a0 ffff88010f7b7da8 ffffffff8125cfac ffff880100000004
      Call Trace:
       [<ffffffff8125cfac>] ext4_tmpfile+0x12c/0x180
       [<ffffffff811cba78>] path_openat+0x238/0x700
       [<ffffffff8100afc4>] ? native_sched_clock+0x24/0x80
       [<ffffffff811cc647>] do_filp_open+0x47/0xa0
       [<ffffffff811db73f>] ? __alloc_fd+0xaf/0x200
       [<ffffffff811ba2e4>] do_sys_open+0x124/0x210
       [<ffffffff81010725>] ? syscall_trace_enter+0x25/0x290
       [<ffffffff811ba3ee>] SyS_open+0x1e/0x20
       [<ffffffff816ca8d4>] tracesys+0xdd/0xe2
       [<ffffffff81001001>] ? start_thread_common.constprop.6+0x1/0xa0
      Code: 04 00 00 00 89 04 24 31 c0 e8 c4 77 04 00 e9 43 fe ff ff 66 25 00 d0 66 3d 00 80 0f 84 0e fe ff ff 83 7b 48 00 0f 84 04 fe ff ff <0f> 0b 49 8b 8c 24 50 07 00 00 e9 88 fe ff ff 0f 1f 84 00 00 00
      
      Here we couldn't call clear_nlink() directly because in d_tmpfile() we
      will call inode_dec_link_count() to decrease ->i_nlink.  So this commit
      tries to call d_tmpfile() before ext4_orphan_add() to fix this problem.
      Reported-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NZheng Liu <wenqing.lz@taobao.com>
      Tested-by: NDarrick J. Wong <darrick.wong@oracle.com>
      Tested-by: NDave Jones <davej@redhat.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      e94bd349
    • L
      Merge tag 'staging-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · f6a0d9d5
      Linus Torvalds 提交于
      Pull staging tree fixes from Greg KH:
       "Here are a few iio driver fixes for 3.11-rc2.  They are still spread
        across drivers/iio and drivers/staging/iio so they are coming in
        through this tree.
      
        I've also removed the drivers/staging/csr/ driver as the developers
        who originally sent it to me have moved on to other companies, and CSR
        still will not send us the specs for the device, making the driver
        pretty much obsolete and impossible to fix up.  Deleting it now
        prevents people from sending in lots of tiny codingsyle fixes that
        will never go anywhere.
      
        It also helps to offset the large lustre filesystem merge that
        happened in 3.11-rc1 in the overall 3.11.0 diffstat.  :)"
      
      * tag 'staging-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: csr: remove driver
        iio: lps331ap: Fix wrong in_pressure_scale output value
        iio staging: fix lis3l02dq, read error handling
        staging:iio:ad7291: add missing .driver_module to struct iio_info
        iio: ti_am335x_adc: add missing .driver_module to struct iio_info
        iio: mxs-lradc: Remove useless check in read_raw
        iio: mxs-lradc: Fix misuse of iio->trig
        iio: inkern: fix iio_convert_raw_to_processed_unlocked
        iio: Fix iio_channel_has_info
        iio:trigger: device_unregister->device_del to avoid double free
        iio: dac: ad7303: fix error return code in ad7303_probe()
      f6a0d9d5
    • R
      drivers: gpio: msm: Fix the error condition for reading ngpio · afe8ce9b
      Rohit Vaswani 提交于
      of_property_read_u32 return 0 on success. The check was using a ! to
      return error. Fix the if condition.
      Signed-off-by: NRohit Vaswani <rvaswani@codeaurora.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: NPankaj Jangra  <jangra.pankaj9@gmail.com>
      Cc: "Bird, Tim" <Tim.Bird@sonymobile.com>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      afe8ce9b
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 36231d25
      Linus Torvalds 提交于
      Pull vfs fixes from Al Viro:
       "The sget() one is a long-standing bug and will need to go into -stable
        (in fact, it had been originally caught in RHEL6), the other two are
        3.11-only"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: constify dentry parameter in d_count()
        livelock avoidance in sget()
        allow O_TMPFILE to work with O_WRONLY
      36231d25
    • L
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 19bf1c2c
      Linus Torvalds 提交于
      Pull ext4 bugfixes from Ted Ts'o:
       "Fixes for 3.11-rc2, sent at 5pm, in the professoinal style.  :-)"
      
      I'm not sure I like this new level of "professionalism".
      9-5, people, 9-5.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: call ext4_es_lru_add() after handling cache miss
        ext4: yield during large unlinks
        ext4: make the extent_status code more robust against ENOMEM failures
        ext4: simplify calculation of blocks to free on error
        ext4: fix error handling in ext4_ext_truncate()
      19bf1c2c
    • L
      Merge tag 'nfs-for-3.11-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 3be542d4
      Linus Torvalds 提交于
      Pull NFS client bugfixes from Trond Myklebust:
       - Fix a regression against NFSv4 FreeBSD servers when creating a new
         file
       - Fix another regression in rpc_client_register()
      
      * tag 'nfs-for-3.11-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFSv4: Fix a regression against the FreeBSD server
        SUNRPC: Fix another issue with rpc_client_register()
      3be542d4
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next · 90290c4e
      Linus Torvalds 提交于
      Pull btrfs fixes from Josef Bacik:
       "I'm playing the role of Chris Mason this week while he's on vacation.
        There are a few critical fixes for btrfs here, all regressions and
        have been tested well"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next:
        Btrfs: fix wrong write offset when replacing a device
        Btrfs: re-add root to dead root list if we stop dropping it
        Btrfs: fix lock leak when resuming snapshot deletion
        Btrfs: update drop progress before stopping snapshot dropping
      90290c4e
    • J
      gpio/omap: fix build error when OF_GPIO is not defined. · 949eb1a4
      Javier Martinez Canillas 提交于
      The OMAP GPIO driver check if the chip has an associated
      Device Tree node using the struct gpio_chip of_node member.
      
      But this is only build if CONFIG_OF_GPIO is defined which
      leads to the following error when using omap1_defconfig:
      
      linux/drivers/gpio/gpio-omap.c: In function 'omap_gpio_chip_init':
      linux/drivers/gpio/gpio-omap.c:1080:17: error: 'struct gpio_chip' has no member named 'of_node'
      linux/drivers/gpio/gpio-omap.c: In function 'omap_gpio_irq_map':
      linux/drivers/gpio/gpio-omap.c:1116:16: error: 'struct gpio_chip' has no member named 'of_node'
      Reported-by: NKevin Hilman <khilman@linaro.org>
      Signed-off-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      949eb1a4
    • J
      gpio/omap: auto request GPIO as input if used as IRQ via DT · b4419e1a
      Javier Martinez Canillas 提交于
      When an OMAP GPIO is used as an IRQ line, a call to gpio_request()
      has to be made to initialize the OMAP GPIO bank before a driver
      request the IRQ. Otherwise the call to request_irq() fails.
      
      Drives should not be aware of this neither care wether an IRQ line
      is a GPIO or not. They should just request the IRQ and this has to
      be handled by the irq_chip driver.
      
      With the current OMAP GPIO DT binding, if we define:
      
          gpio6: gpio@49058000 {
          	   compatible = "ti,omap3-gpio";
      	   reg = <0x49058000 0x200>;
      	   interrupts = <34>;
      	   ti,hwmods = "gpio6";
      	   gpio-controller;
      	   #gpio-cells = <2>;
      	   interrupt-controller;
      	   #interrupt-cells = <2>;
          };
      
      	   interrupt-parent = <&gpio6>;
                 interrupts = <16 8>;
      
      The GPIO is correctly mapped as an IRQ but a call to gpio_request()
      is never made. Since a call to the custom IRQ domain .map function
      handler is made for each GPIO used as an IRQ, the GPIO can be setup
      and configured as input there automatically.
      
      Changes since v3:
        - Use bank->chip.of_node instead of_have_populated_dt() to check
          DT or legacy boot as suggested by Jean-Christophe PLAGNIOL-VILLARD
        - Add a comment that this is just a temporary solution until and
          that it has to be removed once is handled by the IRQ core.
      
      Changes since v2:
       - Only make the call to gpio_request_one() conditional in the DT
         case as suggested by Grant Likely.
      
      Changes since v1:
        - Split the irq domain mapping function handler and the GPIO
          request in two different patches.
      Signed-off-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Tested-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      b4419e1a