Skip to content
  1. May 02, 2014
  2. May 01, 2014
  3. Apr 30, 2014
  4. Apr 29, 2014
    • Hariprasad S's avatar
    • Steve Wise's avatar
      RDMA/cxgb4: Only allow kernel db ringing for T4 devs · c2f9da92
      Steve Wise authored
      
      
      The whole db drop avoidance stuff is for T4 only.  So we cannot allow
      that to be enabled for T5 devices.
      
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      c2f9da92
    • Steve Wise's avatar
      RDMA/cxgb4: Force T5 connections to use TAHOE congestion control · 92e5011a
      Steve Wise authored
      
      
      This is required to work around a T5 HW issue.
      
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      92e5011a
    • Steve Wise's avatar
      RDMA/cxgb4: Fix endpoint mutex deadlocks · cc18b939
      Steve Wise authored
      
      
      In cases where the cm calls c4iw_modify_rc_qp() with the endpoint
      mutex held, they must be called with internal == 1.  rx_data() and
      process_mpa_reply() are not doing this.  This causes a deadlock
      because c4iw_modify_rc_qp() might call c4iw_ep_disconnect() in some
      !internal cases, and c4iw_ep_disconnect() acquires the endpoint mutex.
      The design was intended to only do the disconnect for !internal calls.
      
      Change rx_data(), FPDU_MODE case, to call c4iw_modify_rc_qp() with
      internal == 1, and then disconnect only after releasing the mutex.
      
      Change process_mpa_reply() to call c4iw_modify_rc_qp(TERMINATE) with
      internal == 1 and set a new attr flag telling it to send a TERMINATE
      message.  Previously this was implied by !internal.
      
      Change process_mpa_reply() to return whether the caller should
      disconnect after releasing the endpoint mutex.  Now rx_data() will do
      the disconnect in the cases where process_mpa_reply() wants to
      disconnect after the TERMINATE is sent.
      
      Change c4iw_modify_rc_qp() RTS->TERM to only disconnect if !internal,
      and to send a TERMINATE message if attrs->send_term is 1.
      
      Change abort_connection() to not aquire the ep mutex for setting the
      state, and make all calls to abort_connection() do so with the mutex
      held.
      
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      cc18b939
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.15-rc2' of... · 2aafe1a4
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull ftrace bugfix from Steven Rostedt:
       "Takao Indoh reported that he was able to cause a ftrace bug while
        loading a module and enabling function tracing at the same time.
      
        He uncovered a race where the module when loaded will convert the
        calls to mcount into nops, and expects the module's text to be RW.
        But when function tracing is enabled, it will convert all kernel text
        (core and module) from RO to RW to convert the nops to calls to ftrace
        to record the function.  After the convertion, it will convert all the
        text back from RW to RO.
      
        The issue is, it will also convert the module's text that is loading.
        If it converts it to RO before ftrace does its conversion, it will
        cause ftrace to fail and require a reboot to fix it again.
      
        This patch moves the ftrace module update that converts calls to
        mcount into nops to be done when the module state is still
        MODULE_STATE_UNFORMED.  This will ignore the module when the text is
        being converted from RW back to RO"
      
      * tag 'trace-fixes-v3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace/module: Hardcode ftrace_module_init() call into load_module()
      2aafe1a4
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · 87c7662b
      Linus Torvalds authored
      Pull devicetree bug fixes from Grant Likely:
       "These are some important bug fixes that need to get into v3.15.
      
        This branch contains a pair of important bug fixes for the DT code:
      
         - Fix some incorrect binding property names before they enter common
           usage
      
         - Fix bug where some platform devices will be unable to get their
           interrupt number when they depend on an interrupt controller that
           is not available at device creation time.  This is a problem
           causing mainline to fail on a number of ARM platforms"
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
        of/irq: do irq resolution in platform_get_irq
        of: selftest: add deferred probe interrupt test
        dt: Fix binding typos in clock-names and interrupt-names
      87c7662b
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 838b4c02
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here is a bunch of post-merge window fixes that have been accumulating
        in patchwork while I was on vacation or buried under other stuff last
        week.
      
        We have the now usual batch of LE fixes from Anton (sadly some new
        stuff that went into this merge window had endian issues, we'll try to
        make sure we do better next time)
      
        Some fixes and cleanups to the new 24x7 performance monitoring stuff
        (mostly typos and cleaning up printk's)
      
        A series of fixes for an issue with our runlatch bit, which wasn't set
        properly for offlined threads/cores and under KVM, causing potentially
        some counters to misbehave along with possible power management
        issues.
      
        A fix for kexec nasty race where the new kernel wouldn't "see" the
        secondary processors having reached back into firmware in time.
      
        And finally a few other misc (and pretty simple) bug fixes"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (33 commits)
        powerpc/4xx: Fix section mismatch in ppc4xx_pci.c
        ppc/kvm: Clear the runlatch bit of a vcpu before napping
        ppc/kvm: Set the runlatch bit of a CPU just before starting guest
        ppc/powernv: Set the runlatch bits correctly for offline cpus
        powerpc/pseries: Protect remove_memory() with device hotplug lock
        powerpc: Fix error return in rtas_flash module init
        powerpc: Bump BOOT_COMMAND_LINE_SIZE to 2048
        powerpc: Bump COMMAND_LINE_SIZE to 2048
        powerpc: Rename duplicate COMMAND_LINE_SIZE define
        powerpc/perf/hv-24x7: Catalog version number is be64, not be32
        powerpc/perf/hv-24x7: Remove [static 4096], sparse chokes on it
        powerpc/perf/hv-24x7: Use (unsigned long) not (u32) values when calling plpar_hcall_norets()
        powerpc/perf/hv-gpci: Make device attr static
        powerpc/perf/hv_gpci: Probe failures use pr_debug(), and padding reduced
        powerpc/perf/hv_24x7: Probe errors changed to pr_debug(), padding fixed
        powerpc/mm: Fix tlbie to add AVAL fields for 64K pages
        powerpc/powernv: Fix little endian issues in OPAL dump code
        powerpc/powernv: Create OPAL sglist helper functions and fix endian issues
        powerpc/powernv: Fix little endian issues in OPAL error log code
        powerpc/powernv: Fix little endian issues with opal_do_notifier calls
        ...
      838b4c02
    • Linus Torvalds's avatar
      mm: don't pointlessly use BUG_ON() for sanity check · 50f5aa8a
      Linus Torvalds authored
      BUG_ON() is a big hammer, and should be used _only_ if there is some
      major corruption that you cannot possibly recover from, making it
      imperative that the current process (and possibly the whole machine) be
      terminated with extreme prejudice.
      
      The trivial sanity check in the vmacache code is *not* such a fatal
      error.  Recovering from it is absolutely trivial, and using BUG_ON()
      just makes it harder to debug for no actual advantage.
      
      To make matters worse, the placement of the BUG_ON() (only if the range
      check matched) actually makes it harder to hit the sanity check to begin
      with, so _if_ there is a bug (and we just got a report from Srivatsa
      Bhat that this can indeed trigger), it is harder to debug not just
      because the machine is possibly dead, but because we don't have better
      coverage.
      
      BUG_ON() must *die*.  Maybe we should add a checkpatch warning for it,
      because it is simply just about the worst thing you can ever do if you
      hit some "this cannot happe...
      50f5aa8a
  5. Apr 28, 2014
    • Steven Rostedt (Red Hat)'s avatar
      ftrace/module: Hardcode ftrace_module_init() call into load_module() · a949ae56
      Steven Rostedt (Red Hat) authored
      A race exists between module loading and enabling of function tracer.
      
      	CPU 1				CPU 2
      	-----				-----
        load_module()
         module->state = MODULE_STATE_COMING
      
      				register_ftrace_function()
      				 mutex_lock(&ftrace_lock);
      				 ftrace_startup()
      				  update_ftrace_function();
      				   ftrace_arch_code_modify_prepare()
      				    set_all_module_text_rw();
      				   <enables-ftrace>
      				    ftrace_arch_code_modify_post_process()
      				     set_all_module_text_ro();
      
      				[ here all module text is set to RO,
      				  including the module that is
      				  loading!! ]
      
         blocking_notifier_call_chain(MODULE_STATE_COMING);
          ftrace_init_module()
      
           [ tries to modify code, but it's RO, and fails!
             ftrace_bug() is called]
      
      When this race happens, ftrace_bug() will produces a nasty warning and
      all of the function tracing features will be disabled until reboot.
      
      The simple solution is to treate module load the same way the core
      kernel is treated at boot. To hardcode the ftrace function modification
      of converting calls to mcount into nops. This is done in init/main.c
      there's no reason it could not be done in load_module(). This gives
      a better control of the changes and doesn't tie the state of the
      module to its notifiers as much. Ftrace is special, it needs to be
      treated as such.
      
      The reason this would work, is that the ftrace_module_init() would be
      called while the module is in MODULE_STATE_UNFORMED, which is ignored
      by the set_all_module_text_ro() call.
      
      Link: http://lkml.kernel.org/r/1395637826-3312-1-git-send-email-indou.takao@jp.fujitsu.com
      
      
      
      Reported-by: default avatarTakao Indoh <indou.takao@jp.fujitsu.com>
      Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: stable@vger.kernel.org # 2.6.38+
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      a949ae56
    • Hui Wang's avatar
      ALSA: hda - add headset mic detect quirk for a Dell laptop · e32dfbed
      Hui Wang authored
      When we plug a 3-ring headset on the Dell machine (VID: 0x10ec0255,
      SID: 0x10280674), the headset mic can't be detected, after apply this
      patch, the headset mic can work well.
      
      BugLink: https://bugs.launchpad.net/bugs/1297581
      
      
      Cc: David Henningsson <david.henningsson@canonical.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e32dfbed