1. 07 Aug, 2014 35 commits
  2. 31 Jul, 2014 5 commits
    • Greg Kroah-Hartman's avatar
      Linux 3.14.15 · 735fbc72
      Greg Kroah-Hartman authored
      735fbc72
    • Guenter Roeck's avatar
      platform_get_irq: Revert to platform_get_resource if of_irq_get fails · 25a59eef
      Guenter Roeck authored
      commit aff008ad upstream.
      
      Commits 9ec36caf (of/irq: do irq resolution in platform_get_irq)
      and ad69674e (of/irq: do irq resolution in platform_get_irq_byname)
      change the semantics of platform_get_irq and platform_get_irq_byname
      to always rely on devicetree information if devicetree is enabled
      and if a devicetree node is attached to the device. The functions
      now return an error if the devicetree data does not include interrupt
      information, even if the information is available as platform resource
      data.
      
      This causes mfd client drivers to fail if the interrupt number is
      passed via platform resources. Therefore, if of_irq_get fails, try
      platform_get_resource as method of last resort. This restores the
      original functionality for drivers depending on platform resources
      to get irq information.
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Grygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      [ Guenter Roeck: backported to 3.15 ]
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      25a59eef
    • Johannes Berg's avatar
      nl80211: move set_qos_map command into split state · 3f9e4319
      Johannes Berg authored
      commit 02df00eb upstream.
      
      The non-split wiphy state shouldn't be increased in size
      so move the new set_qos_map command into the split if
      statement.
      
      Fixes: fa9ffc74 ("cfg80211: Add support for QoS mapping")
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3f9e4319
    • Michael Brown's avatar
      x86/efi: Include a .bss section within the PE/COFF headers · 5d608f59
      Michael Brown authored
      commit c7fb93ec upstream.
      
      The PE/COFF headers currently describe only the initialised-data
      portions of the image, and result in no space being allocated for the
      uninitialised-data portions.  Consequently, the EFI boot stub will end
      up overwriting unexpected areas of memory, with unpredictable results.
      
      Fix by including a .bss section in the PE/COFF headers (functionally
      equivalent to the init_size field in the bzImage header).
      Signed-off-by: default avatarMichael Brown <mbrown@fensystems.co.uk>
      Cc: Thomas Bächler <thomas@archlinux.org>
      Cc: Josh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5d608f59
    • Linus Torvalds's avatar
      Fix gcc-4.9.0 miscompilation of load_balance() in scheduler · b7fd0d59
      Linus Torvalds authored
      commit 2062afb4 upstream.
      
      Michel Dänzer and a couple of other people reported inexplicable random
      oopses in the scheduler, and the cause turns out to be gcc mis-compiling
      the load_balance() function when debugging is enabled.  The gcc bug
      apparently goes back to gcc-4.5, but slight optimization changes means
      that it now showed up as a problem in 4.9.0 and 4.9.1.
      
      The instruction scheduling problem causes gcc to schedule a spill
      operation to before the stack frame has been created, which in turn can
      corrupt the spilled value if an interrupt comes in.  There may be other
      effects of this bug too, but that's the code generation problem seen in
      Michel's case.
      
      This is fixed in current gcc HEAD, but the workaround as suggested by
      Markus Trippelsdorf is pretty simple: use -fno-var-tracking-assignments
      when compiling the kernel, which disables the gcc code that causes the
      problem.  This can result in slightly worse debug information for
      variable accesses, but that is infinitely preferable to actual code
      generation problems.
      
      Doing this unconditionally (not just for CONFIG_DEBUG_INFO) also allows
      non-debug builds to verify that the debug build would be identical: we
      can do
      
          export GCC_COMPARE_DEBUG=1
      
      to make gcc internally verify that the result of the build is
      independent of the "-g" flag (it will make the compiler build everything
      twice, toggling the debug flag, and compare the results).
      
      Without the "-fno-var-tracking-assignments" option, the build would fail
      (even with 4.8.3 that didn't show the actual stack frame bug) with a gcc
      compare failure.
      
      See also gcc bugzilla:
      
        https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801Reported-by: default avatarMichel Dänzer <michel@daenzer.net>
      Suggested-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Jakub Jelinek <jakub@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b7fd0d59