1. 31 Mar, 2012 12 commits
    • Matthew Garrett's avatar
      ASPM: Fix pcie devices with non-pcie children · c9651e70
      Matthew Garrett authored
      Since 3.2.12 and 3.3, some systems are failing to boot with a BUG_ON.
      Some other systems using the pata_jmicron driver fail to boot because no
      disks are detected.  Passing pcie_aspm=force on the kernel command line
      works around it.
      
      The cause: commit 4949be16 ("PCI: ignore pre-1.1 ASPM quirking when
      ASPM is disabled") changed the behaviour of pcie_aspm_sanity_check() to
      always return 0 if aspm is disabled, in order to avoid cases where we
      changed ASPM state on pre-PCIe 1.1 devices.
      
      This skipped the secondary function of pcie_aspm_sanity_check which was
      to avoid us enabling ASPM on devices that had non-PCIe children, causing
      trouble later on.  Move the aspm_disabled check so we continue to honour
      that scenario.
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=42979 and
                http://bugs.debian.org/665420
      
      Reported-by: Romain Francoise <romain@orebokech.com> # kernel panic
      Reported-by: Chris Holland <bandidoirlandes@gmail.com> # disk detection trouble
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Cc: stable@vger.kernel.org
      Tested-by: Hatem Masmoudi <hatem.masmoudi@gmail.com> # Dell Latitude E5520
      Tested-by: janek <jan0x6c@gmail.com> # pata_jmicron with JMB362/JMB363
      [jn: with more symptoms in log message]
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c9651e70
    • Linus Torvalds's avatar
      selinux: inline avc_audit() and avc_has_perm_noaudit() into caller · cdb0f9a1
      Linus Torvalds authored
      Now that all the slow-path code is gone from these functions, we can
      inline them into the main caller - avc_has_perm_flags().
      
      Now the compiler can see that 'avc' is allocated on the stack for this
      case, which helps register pressure a bit.  It also actually shrinks the
      total stack frame, because the stack frame that avc_has_perm_flags()
      always needed (for that 'avc' allocation) is now sufficient for the
      inlined functions too.
      
      Inlining isn't bad - but mindless inlining of cold code (see the
      previous commit) is.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cdb0f9a1
    • Linus Torvalds's avatar
      selinux: don't inline slow-path code into avc_has_perm_noaudit() · a554bea8
      Linus Torvalds authored
      The selinux AVC paths remain some of the hottest (and deepest) codepaths
      at filename lookup time, and we make it worse by having the slow path
      cases take up I$ and stack space even when they don't trigger.  Gcc
      tends to always want to inline functions that are just called once -
      never mind that this might make for slower and worse code in the caller.
      
      So this tries to improve on it a bit by making the slow-path cases
      explicitly separate functions that are marked noinline, causing gcc to
      at least no longer allocate stack space for them unless they are
      actually called.  It also seems to help register allocation a tiny bit,
      since gcc now doesn't take the slow case code into account.
      
      Uninlining the slow path may also allow us to inline the remaining hot
      path into the one caller that actually matters: avc_has_perm_flags().
      I'll have to look at that separately, but both avc_audit() and
      avc_has_perm_noaudit() are now small and lean enough that inlining them
      may make sense.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a554bea8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · fa2a4519
      Linus Torvalds authored
      Pull Sam Ravnborg's sparc32 build fixes from David Miller.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: fix fallout from system.h removal
      fa2a4519
    • Sam Ravnborg's avatar
      sparc32: fix fallout from system.h removal · bde4d8b2
      Sam Ravnborg authored
      Build failures for the typical configs I use
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bde4d8b2
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 923f7974
      Linus Torvalds authored
      Pull kbuild changes from Michal Marek:
       - Unification of cmd_uimage among archs that use it
       - make headers_check tries harder before reporting a missing
         <linux/types.h> include
       - kbuild portability fix for shells that do not support echo -e
       - make clean descends into samples/
       - setlocalversion grep fix
       - modpost typo fix
       - dtc warnings fix
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        setlocalversion: Use "grep -q" instead of piping output to "read dummy"
        modpost: fix ALL_INIT_DATA_SECTIONS
        Kbuild: centralize MKIMAGE and cmd_uimage definitions
        headers_check: recursively search for linux/types.h inclusion
        scripts/Kbuild.include: Fix portability problem of "echo -e"
        scripts: dtc: fix compile warnings
        kbuild: clean up samples directory
        kbuild: disable -Wmissing-field-initializers for W=1
      923f7974
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · a7697b94
      Linus Torvalds authored
      Pull non-critical part of kbuild from Michal Marek:
       - New semantic patches, make coccicheck M= fix
       - make gtags speedup
       - make tags/TAGS always removes struct forward declarations
       - make deb-pkg fixes (some patches are still pending, I know)
       - scripts/patch-kernel fix from the last user of this script ;)
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        scripts/patch-kernel: digest kernel.org hosted .xz patches
        scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_err
        scripts: refactor remove structure forward declarations
        kbuild: incremental tags update for GNU Global
        coccinelle: semantic patch for bool issues
        coccinelle: semantic patch to check for PTR_ERR after reassignment
        coccinelle: semantic patch converting 0 test to null test
        coccinelle: semantic patch for missing iounmap
        coccinelle: semantic patch for missing clk_put
        kbuild: Fix out-of-tree build for 'make deb-pkg'
        kbuild: Only build linux-image package for UML
        kbuild: Fix link to headers in 'make deb-pkg'
        coccicheck: change handling of C={1,2} when M= is set
      a7697b94
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 2b17b438
      Linus Torvalds authored
      Pull kconfig bits from Michal Marek:
       "There is one fix for make oldconfig by Arnaud and updates to the
        merge_config.sh tool."
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        merge_config.sh: Add option to display redundant configs
        merge_config.sh: Set execute bit
        merge_config.sh: Use the first file as the initial config
        kconfig: fix new choices being skipped upon config update
      2b17b438
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f558c272
      Linus Torvalds authored
      Pull genirq updates from Thomas Gleixner.
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value
        genirq: Respect NUMA node affinity in setup_irq_irq affinity()
        genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()
        genirq: Minor readablity improvement in irq_wake_thread()
      f558c272
    • Linus Torvalds's avatar
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3a0d1849
      Linus Torvalds authored
      Pull core locking updates from Thomas Gleixner.
      
      * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        futex: Mark get_robust_list as deprecated
        futex: Do not leak robust list to unprivileged process
      3a0d1849
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6 · 623ff773
      Linus Torvalds authored
      Pull MTD changes from David Woodhouse:
       - Artem's cleanup of the MTD API continues apace.
       - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst
         others.
       - More work on DiskOnChip G3, new driver for DiskOnChip G4.
       - Clean up debug/warning printks in JFFS2 to use pr_<level>.
      
      Fix up various trivial conflicts, largely due to changes in calling
      conventions for things like dmaengine_prep_slave_sg() (new inline
      wrapper to hide new parameter, clashing with rewrite of previously last
      parameter that used to be an 'append' flag, and is now a bitmap of
      'unsigned long flags').
      
      (Also some header file fallout - like so many merges this merge window -
      and silly conflicts with sparse fixes)
      
      * tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6: (120 commits)
        mtd: docg3 add protection against concurrency
        mtd: docg3 refactor cascade floors structure
        mtd: docg3 increase write/erase timeout
        mtd: docg3 fix inbound calculations
        mtd: nand: gpmi: fix function annotations
        mtd: phram: fix section mismatch for phram_setup
        mtd: unify initialization of erase_info->fail_addr
        mtd: support ONFI multi lun NAND
        mtd: sm_ftl: fix typo in major number.
        mtd: add device-tree support to spear_smi
        mtd: spear_smi: Remove default partition information from driver
        mtd: Add device-tree support to fsmc_nand
        mtd: fix section mismatch for doc_probe_device
        mtd: nand/fsmc: Remove sparse warnings and errors
        mtd: nand/fsmc: Add DMA support
        mtd: nand/fsmc: Access the NAND device word by word whenever possible
        mtd: nand/fsmc: Use dev_err to report error scenario
        mtd: nand/fsmc: Use devm routines
        mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform
        mtd: fsmc_nand: add pm callbacks to support hibernation
        ...
      623ff773
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c39e8ede
      Linus Torvalds authored
      Pull a few more ARM platform fixes from Olof Johansson:
       "Apologies for back-to-back fixes pull requests, but one of the patches
        below are the kind we'll see posted over and over if we don't send it
        in.  I hadn't done the full sanity-check of defconfig builds by the
        time I sent up the other fixes yesterday or I would have included it
        then.
      
        Two patches, one dealing with the system.h fallout, the other is a
        missing linux/bug.h in a place where ARRAY_SIZE() is used."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: clps711x: fix missing include file
        ARM: fix builds due to missing <asm/system_misc.h> includes
      c39e8ede
  2. 30 Mar, 2012 28 commits