1. 19 2月, 2012 9 次提交
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · bff98bfc
      Linus Torvalds 提交于
      Fixes a bootstrapping issue for some registers when a less commonly used
      method for register cache initialisation is used.  Only affects a fairly
      small proportion of users that both don't use explicit register defaults
      and do use the cache.
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix cache defaults initialization from raw cache defaults
      bff98bfc
    • L
      Merge tag 'ecryptfs-3.3-rc4-fixes' of... · 46860666
      Linus Torvalds 提交于
      Merge tag 'ecryptfs-3.3-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Fixes maximum filename length and filesystem type reporting in statfs() calls
      and also fixes stale inode mode bits on eCryptfs inodes after a POSIX ACL was
      set on the lower filesystem's inode.
      
      * tag 'ecryptfs-3.3-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        ecryptfs: remove the second argument of k[un]map_atomic()
        eCryptfs: Copy up lower inode attrs after setting lower xattr
        eCryptfs: Improve statfs reporting
      46860666
    • L
      Merge tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 7857b996
      Linus Torvalds 提交于
      pinctrl fixes for v3.3
      
      * tag 'pinctrl-for-torvalds-20120216' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: restore pin naming
      7857b996
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 06ca7c43
      Linus Torvalds 提交于
      Here are a few more fixes for powerpc.  Some are regressions, the rest
      is simple/obvious/nasty enough that I deemed it good to go now.
      
      Here's also step one of deprecating legacy iSeries support: we are
      removing it from the main defconfig.
      
      Nobody seems to be using it anymore and the code is nasty to maintain,
      (involves horrible hacks in various low level areas of the kernel) so we
      plan to actually rip it out at some point.  For now let's just avoid
      building it by default.  Stephen will proceed to do the actual removal
      later (probably 3.4 or 3.5).
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events
        powerpc/adb: Use set_current_state()
        powerpc: Disable interrupts early in Program Check
        powerpc: Remove legacy iSeries from ppc64_defconfig
        powerpc/fsl/pci: Fix PCIe fixup regression
        powerpc: Fix kernel log of oops/panic instruction dump
      06ca7c43
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci · 7bcd5b46
      Linus Torvalds 提交于
      One regression fix for SR-IOV on PPC and a couple of misc fixes from
      Yinghai.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:
        PCI: Fix pci cardbus removal
        PCI: set pci sriov page size before reading SRIOV BAR
        PCI: workaround hard-wired bus number V2
      7bcd5b46
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 58e44baf
      Linus Torvalds 提交于
      3 radeon fixes, I have some exynos fixes to push later but I'll queue
      them separately once I've looked them over a bit.
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/kms: fix MSI re-arm on rv370+
        drm/radeon/kms/atom: bios scratch reg handling updates
        drm/radeon/kms: drop lock in return path of radeon_fence_count_emitted.
      58e44baf
    • L
    • L
      i387: re-introduce FPU state preloading at context switch time · 34ddc81a
      Linus Torvalds 提交于
      After all the FPU state cleanups and finally finding the problem that
      caused all our FPU save/restore problems, this re-introduces the
      preloading of FPU state that was removed in commit b3b0870e ("i387:
      do not preload FPU state at task switch time").
      
      However, instead of simply reverting the removal, this reimplements
      preloading with several fixes, most notably
      
       - properly abstracted as a true FPU state switch, rather than as
         open-coded save and restore with various hacks.
      
         In particular, implementing it as a proper FPU state switch allows us
         to optimize the CR0.TS flag accesses: there is no reason to set the
         TS bit only to then almost immediately clear it again.  CR0 accesses
         are quite slow and expensive, don't flip the bit back and forth for
         no good reason.
      
       - Make sure that the same model works for both x86-32 and x86-64, so
         that there are no gratuitous differences between the two due to the
         way they save and restore segment state differently due to
         architectural differences that really don't matter to the FPU state.
      
       - Avoid exposing the "preload" state to the context switch routines,
         and in particular allow the concept of lazy state restore: if nothing
         else has used the FPU in the meantime, and the process is still on
         the same CPU, we can avoid restoring state from memory entirely, just
         re-expose the state that is still in the FPU unit.
      
         That optimized lazy restore isn't actually implemented here, but the
         infrastructure is set up for it.  Of course, older CPU's that use
         'fnsave' to save the state cannot take advantage of this, since the
         state saving also trashes the state.
      
      In other words, there is now an actual _design_ to the FPU state saving,
      rather than just random historical baggage.  Hopefully it's easier to
      follow as a result.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      34ddc81a
    • L
      i387: move TS_USEDFPU flag from thread_info to task_struct · f94edacf
      Linus Torvalds 提交于
      This moves the bit that indicates whether a thread has ownership of the
      FPU from the TS_USEDFPU bit in thread_info->status to a word of its own
      (called 'has_fpu') in task_struct->thread.has_fpu.
      
      This fixes two independent bugs at the same time:
      
       - changing 'thread_info->status' from the scheduler causes nasty
         problems for the other users of that variable, since it is defined to
         be thread-synchronous (that's what the "TS_" part of the naming was
         supposed to indicate).
      
         So perfectly valid code could (and did) do
      
      	ti->status |= TS_RESTORE_SIGMASK;
      
         and the compiler was free to do that as separate load, or and store
         instructions.  Which can cause problems with preemption, since a task
         switch could happen in between, and change the TS_USEDFPU bit. The
         change to TS_USEDFPU would be overwritten by the final store.
      
         In practice, this seldom happened, though, because the 'status' field
         was seldom used more than once, so gcc would generally tend to
         generate code that used a read-modify-write instruction and thus
         happened to avoid this problem - RMW instructions are naturally low
         fat and preemption-safe.
      
       - On x86-32, the current_thread_info() pointer would, during interrupts
         and softirqs, point to a *copy* of the real thread_info, because
         x86-32 uses %esp to calculate the thread_info address, and thus the
         separate irq (and softirq) stacks would cause these kinds of odd
         thread_info copy aliases.
      
         This is normally not a problem, since interrupts aren't supposed to
         look at thread information anyway (what thread is running at
         interrupt time really isn't very well-defined), but it confused the
         heck out of irq_fpu_usable() and the code that tried to squirrel
         away the FPU state.
      
         (It also caused untold confusion for us poor kernel developers).
      
      It also turns out that using 'task_struct' is actually much more natural
      for most of the call sites that care about the FPU state, since they
      tend to work with the task struct for other reasons anyway (ie
      scheduling).  And the FPU data that we are going to save/restore is
      found there too.
      
      Thanks to Arjan Van De Ven <arjan@linux.intel.com> for pointing us to
      the %esp issue.
      
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Reported-and-tested-by: NRaphael Prevost <raphael@buro.asia>
      Acked-and-tested-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Tested-by: NPeter Anvin <hpa@zytor.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f94edacf
  2. 17 2月, 2012 8 次提交
    • L
      i387: move AMD K7/K8 fpu fxsave/fxrstor workaround from save to restore · 4903062b
      Linus Torvalds 提交于
      The AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception is
      pending.  In order to not leak FIP state from one process to another, we
      need to do a floating point load after the fxsave of the old process,
      and before the fxrstor of the new FPU state.  That resets the state to
      the (uninteresting) kernel load, rather than some potentially sensitive
      user information.
      
      We used to do this directly after the FPU state save, but that is
      actually very inconvenient, since it
      
       (a) corrupts what is potentially perfectly good FPU state that we might
           want to lazy avoid restoring later and
      
       (b) on x86-64 it resulted in a very annoying ordering constraint, where
           "__unlazy_fpu()" in the task switch needs to be delayed until after
           the DS segment has been reloaded just to get the new DS value.
      
      Coupling it to the fxrstor instead of the fxsave automatically avoids
      both of these issues, and also ensures that we only do it when actually
      necessary (the FP state after a save may never actually get used).  It's
      simply a much more natural place for the leaked state cleanup.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4903062b
    • L
      i387: do not preload FPU state at task switch time · b3b0870e
      Linus Torvalds 提交于
      Yes, taking the trap to re-load the FPU/MMX state is expensive, but so
      is spending several days looking for a bug in the state save/restore
      code.  And the preload code has some rather subtle interactions with
      both paravirtualization support and segment state restore, so it's not
      nearly as simple as it should be.
      
      Also, now that we no longer necessarily depend on a single bit (ie
      TS_USEDFPU) for keeping track of the state of the FPU, we migth be able
      to do better.  If we are really switching between two processes that
      keep touching the FP state, save/restore is inevitable, but in the case
      of having one process that does most of the FPU usage, we may actually
      be able to do much better than the preloading.
      
      In particular, we may be able to keep track of which CPU the process ran
      on last, and also per CPU keep track of which process' FP state that CPU
      has.  For modern CPU's that don't destroy the FPU contents on save time,
      that would allow us to do a lazy restore by just re-enabling the
      existing FPU state - with no restore cost at all!
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b3b0870e
    • C
      465c9343
    • T
      eCryptfs: Copy up lower inode attrs after setting lower xattr · 545d6809
      Tyler Hicks 提交于
      After passing through a ->setxattr() call, eCryptfs needs to copy the
      inode attributes from the lower inode to the eCryptfs inode, as they
      may have changed in the lower filesystem's ->setxattr() path.
      
      One example is if an extended attribute containing a POSIX Access
      Control List is being set. The new ACL may cause the lower filesystem to
      modify the mode of the lower inode and the eCryptfs inode would need to
      be updated to reflect the new mode.
      
      https://launchpad.net/bugs/926292Signed-off-by: NTyler Hicks <tyhicks@canonical.com>
      Reported-by: NSebastien Bacher <seb128@ubuntu.com>
      Cc: John Johansen <john.johansen@canonical.com>
      Cc: <stable@vger.kernel.org>
      545d6809
    • T
      eCryptfs: Improve statfs reporting · 4a26620d
      Tyler Hicks 提交于
      statfs() calls on eCryptfs files returned the wrong filesystem type and,
      when using filename encryption, the wrong maximum filename length.
      
      If mount-wide filename encryption is enabled, the cipher block size and
      the lower filesystem's max filename length will determine the max
      eCryptfs filename length. Pre-tested, known good lengths are used when
      the lower filesystem's namelen is 255 and a cipher with 8 or 16 byte
      block sizes is used. In other, less common cases, we fall back to a safe
      rounded-down estimate when determining the eCryptfs namelen.
      
      https://launchpad.net/bugs/885744Signed-off-by: NTyler Hicks <tyhicks@canonical.com>
      Reported-by: NKees Cook <keescook@chromium.org>
      Reviewed-by: NKees Cook <keescook@chromium.org>
      Reviewed-by: NJohn Johansen <john.johansen@canonical.com>
      4a26620d
    • L
      i387: don't ever touch TS_USEDFPU directly, use helper functions · 6d59d7a9
      Linus Torvalds 提交于
      This creates three helper functions that do the TS_USEDFPU accesses, and
      makes everybody that used to do it by hand use those helpers instead.
      
      In addition, there's a couple of helper functions for the "change both
      CR0.TS and TS_USEDFPU at the same time" case, and the places that do
      that together have been changed to use those.  That means that we have
      fewer random places that open-code this situation.
      
      The intent is partly to clarify the code without actually changing any
      semantics yet (since we clearly still have some hard to reproduce bug in
      this area), but also to make it much easier to use another approach
      entirely to caching the CR0.TS bit for software accesses.
      
      Right now we use a bit in the thread-info 'status' variable (this patch
      does not change that), but we might want to make it a full field of its
      own or even make it a per-cpu variable.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6d59d7a9
    • L
      i387: move TS_USEDFPU clearing out of __save_init_fpu and into callers · b6c66418
      Linus Torvalds 提交于
      Touching TS_USEDFPU without touching CR0.TS is confusing, so don't do
      it.  By moving it into the callers, we always do the TS_USEDFPU next to
      the CR0.TS accesses in the source code, and it's much easier to see how
      the two go hand in hand.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b6c66418
    • L
      i387: fix x86-64 preemption-unsafe user stack save/restore · 15d8791c
      Linus Torvalds 提交于
      Commit 5b1cbac3 ("i387: make irq_fpu_usable() tests more robust")
      added a sanity check to the #NM handler to verify that we never cause
      the "Device Not Available" exception in kernel mode.
      
      However, that check actually pinpointed a (fundamental) race where we do
      cause that exception as part of the signal stack FPU state save/restore
      code.
      
      Because we use the floating point instructions themselves to save and
      restore state directly from user mode, we cannot do that atomically with
      testing the TS_USEDFPU bit: the user mode access itself may cause a page
      fault, which causes a task switch, which saves and restores the FP/MMX
      state from the kernel buffers.
      
      This kind of "recursive" FP state save is fine per se, but it means that
      when the signal stack save/restore gets restarted, it will now take the
      '#NM' exception we originally tried to avoid.  With preemption this can
      happen even without the page fault - but because of the user access, we
      cannot just disable preemption around the save/restore instruction.
      
      There are various ways to solve this, including using the
      "enable/disable_page_fault()" helpers to not allow page faults at all
      during the sequence, and fall back to copying things by hand without the
      use of the native FP state save/restore instructions.
      
      However, the simplest thing to do is to just allow the #NM from kernel
      space, but fix the race in setting and clearing CR0.TS that this all
      exposed: the TS bit changes and the TS_USEDFPU bit absolutely have to be
      atomic wrt scheduling, so while the actual state save/restore can be
      interrupted and restarted, the act of actually clearing/setting CR0.TS
      and the TS_USEDFPU bit together must not.
      
      Instead of just adding random "preempt_disable/enable()" calls to what
      is already excessively ugly code, this introduces some helper functions
      that mostly mirror the "kernel_fpu_begin/end()" functionality, just for
      the user state instead.
      
      Those helper functions should probably eventually replace the other
      ad-hoc CR0.TS and TS_USEDFPU tests too, but I'll need to think about it
      some more: the task switching functionality in particular needs to
      expose the difference between the 'prev' and 'next' threads, while the
      new helper functions intentionally were written to only work with
      'current'.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      15d8791c
  3. 16 2月, 2012 9 次提交
    • A
      powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events · 9a45a940
      Anton Blanchard 提交于
      perf on POWER stopped working after commit e050e3f0 (perf: Fix
      broken interrupt rate throttling). That patch exposed a bug in
      the POWER perf_events code.
      
      Since the PMCs count upwards and take an exception when the top bit
      is set, we want to write 0x80000000 - left in power_pmu_start. We were
      instead programming in left which effectively disables the counter
      until we eventually hit 0x80000000. This could take seconds or longer.
      
      With the patch applied I get the expected number of samples:
      
                SAMPLE events:       9948
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: <stable@kernel.org>
      9a45a940
    • M
      64f8c135
    • B
      powerpc: Disable interrupts early in Program Check · 54321242
      Benjamin Herrenschmidt 提交于
      Program Check exceptions are the result of WARNs, BUGs, some
      type of breakpoints, kprobe, and other illegal instructions.
      
      We want interrupts (and thus preemption) to remain disabled
      while doing the initial stage of testing the reason and
      branching off to a debugger or kprobe, so we are still on
      the original CPU which makes debugging easier in various cases.
      
      This is how the code was intended, hence the local_irq_enable()
      right in the middle of program_check_exception().
      
      However, the assembly exception prologue for that exception was
      incorrectly marked as enabling interrupts, which defeats that
      (and records a redundant enable with lockdep).
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      54321242
    • S
      powerpc: Remove legacy iSeries from ppc64_defconfig · a1a1d1bf
      Stephen Rothwell 提交于
      Since we are heading towards removing the Legacy iSeries platform, start
      by no longer building it for ppc64_defconfig.
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      a1a1d1bf
    • B
      powerpc/fsl/pci: Fix PCIe fixup regression · 13635dfd
      Benjamin Herrenschmidt 提交于
      Upstream changes to the way PHB resources are registered
      broke the resource fixup for FSL boards.
      
      We can no longer rely on the resource pointer array for the PHB's
      pci_bus structure, so let's leave it alone and go straight for
      the PHB resources instead. This also makes the code generally
      more readable.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      13635dfd
    • I
      powerpc: Fix kernel log of oops/panic instruction dump · 40c8cefa
      Ira Snyder 提交于
      A kernel oops/panic prints an instruction dump showing several
      instructions before and after the instruction which caused the
      oops/panic.
      
      The code intended that the faulting instruction be enclosed in angle
      brackets, however a bug caused the faulting instruction to be
      interpreted by printk() as the message log level.
      
      To fix this, the KERN_CONT log level is added before the actual text of
      the printed message.
      
      === Before the patch ===
      
      [ 1081.587266] Instruction dump:
      [ 1081.590236] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001
      [ 1081.598034] 3d20c03a 9009a114 7c0004ac 39200000
      [ 1081.602500]  4e800020 3803ffd0 2b800009
      
      <4>[ 1081.587266] Instruction dump:
      <4>[ 1081.590236] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001
      <4>[ 1081.598034] 3d20c03a 9009a114 7c0004ac 39200000
      <98090000>[ 1081.602500]  4e800020 3803ffd0 2b800009
      
      === After the patch ===
      
      [   51.385216] Instruction dump:
      [   51.388186] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001
      [   51.395986] 3d20c03a 9009a114 7c0004ac 39200000 <98090000> 4e800020 3803ffd0 2b800009
      
      <4>[   51.385216] Instruction dump:
      <4>[   51.388186] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001
      <4>[   51.395986] 3d20c03a 9009a114 7c0004ac 39200000 <98090000> 4e800020 3803ffd0 2b800009
      Signed-off-by: NIra W. Snyder <iws@ovro.caltech.edu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      40c8cefa
    • A
      crypto: sha512 - use standard ror64() · f2ea0f5f
      Alexey Dobriyan 提交于
      Use standard ror64() instead of hand-written.
      There is no standard ror64, so create it.
      
      The difference is shift value being "unsigned int" instead of uint64_t
      (for which there is no reason). gcc starts to emit native ROR instructions
      which it doesn't do for some reason currently. This should make the code
      faster.
      
      Patch survives in-tree crypto test and ping flood with hmac(sha512) on.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      f2ea0f5f
    • L
      regmap: Fix cache defaults initialization from raw cache defaults · 61cddc57
      Lars-Peter Clausen 提交于
      Currently registers with a value of 0 are ignored when initializing the register
      defaults from raw defaults. This worked in the past, because registers without a
      explicit default were assumed to have a default value of 0. This was changed in
      commit b03622a8 ("regmap: Ensure rbtree syncs registers set to zero properly").
      As a result registers, which have a raw default value of 0 are now assumed to
      have no default. This again can result in unnecessary writes when syncing the
      cache. It will also result in unnecessary reads for e.g. the first update
      operation. In the case where readback is not possible this will even let the
      update operation fail, if the register has not been written to before.
      
      So this patch removes the check. Instead it adds a check to ignore raw defaults
      for registers which are volatile, since those registers are not cached.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: stable@vger.kernel.org
      61cddc57
    • L
      i387: fix sense of sanity check · c38e2345
      Linus Torvalds 提交于
      The check for save_init_fpu() (introduced in commit 5b1cbac3: "i387:
      make irq_fpu_usable() tests more robust") was the wrong way around, but
      I hadn't noticed, because my "tests" were bogus: the FPU exceptions are
      disabled by default, so even doing a divide by zero never actually
      triggers this code at all unless you do extra work to enable them.
      
      So if anybody did enable them, they'd get one spurious warning.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c38e2345
  4. 15 2月, 2012 5 次提交
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 7ada1dd6
      Linus Torvalds 提交于
      One small bug fix from Axel plus a fix for a build failure in unrealistic
      but commonly built configs which for some reason manage to survive for
      an awfully long time in -next without any reports.
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: Fix getting voltage in max8649_enable_time()
        regulator: Fix mc13xxx regulator modular build (again)
      7ada1dd6
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · ebf4bcbd
      Linus Torvalds 提交于
      Quoth BenH:
       "Here are a few powerpc fixes for 3.3, all pretty trivial.  I also
        added the patch to define GET_IP/SET_IP so we can use some more
        asm-generic goodness."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/pseries/eeh: Fix crash when error happens during device probe
        powerpc/pseries: Fix partition migration hang in stop_topology_update
        powerpc/powernv: Disable interrupts while taking phb->lock
        powerpc: Fix WARN_ON in decrementer_check_overflow
        powerpc/wsp: Fix IRQ affinity setting
        powerpc: Implement GET_IP/SET_IP
        powerpc/wsp: Permanently enable PCI class code workaround
      ebf4bcbd
    • L
      Merge tag 'mmc-fixes-for-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 8b36ac50
      Linus Torvalds 提交于
      MMC fixes for 3.3-rc4:
       * The most visible fix here is against a regression introduced in 3.3-rc1
         that ran cards in Ultra High Speed mode even when they failed to initialize
         in that mode, leading to lower-speed cards failing to mount.
       * A lockdep warning introduced in 3.3-rc1 is fixed.
       * Various other small driver fixes, most notably for a NULL dereference
         when using highmem with dw_mmc.
      
      * tag 'mmc-fixes-for-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
        mmc: dw_mmc: Fix PIO mode with support of highmem
        mmc: atmel-mci: save and restore sdioirq when soft reset is performed
        mmc: block: Init ro_lock sysfs attr to fix lockdep warnings
        mmc: sh_mmcif: fix late delayed work initialisation
        mmc: tmio_mmc: fix card eject during IO with DMA
        mmc: core: Fix comparison issue in mmc_compare_ext_csds
        mmc: core: Fix PowerOff Notify suspend/resume
        mmc: sdhci-pci: set Medfield SDIO as non-removable
        mmc: core: add the capability for broken voltage
        mmc: core: Fix low speed mmc card detection failure
        mmc: esdhc: set the timeout to the max value
        mmc: esdhc: add PIO mode support
        mmc: core: Ensure clocks are always enabled before host interaction
        mmc: of_mmc_spi: fix little endian support
        mmc: core: UHS sdio card that fails should not exceed 50MHz
        mmc: esdhc: fix errors when booting kernel on Freescale eSDHC version 2.3
      8b36ac50
    • L
      Merge tag 'stable/for-linus-fixes-3.3-rc3' of... · 694ce18e
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-fixes-3.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Two fixes for VCPU offlining; One to fix the string format exposed
      by the xen-pci[front|back] to conform to the one used in majority of
      PCI drivers; Two fixes to make the code more resilient to invalid
      configurations.
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      
      * tag 'stable/for-linus-fixes-3.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xenbus_dev: add missing error check to watch handling
        xen/pci[front|back]: Use %d instead of %1x for displaying PCI devfn.
        xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback
        xen/smp: Fix CPU online/offline bug triggering a BUG: scheduling while atomic.
        xen/bootup: During bootup suppress XENBUS: Unable to read cpu state
      694ce18e
    • L
      Merge tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 13d26193
      Linus Torvalds 提交于
      sound fixes for 3.3-rc4
      
      Basically all small fixes suited as rc4: a few HD-audio regression fixes,
      a stable fix for an old Dell laptop with intel8x0, and a simple fix for
      ASoC fsi.
      
      * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: intel8x0: Fix default inaudible sound on Gateway M520
        ALSA: hda - Fix silent speaker output on Acer Aspire 6935
        ALSA: hda - Fix initialization of secondary capture source on VT1705
        ASoC: fsi: fixup fsi_pointer() calculation method
        ALSA: hda - Fix mute-LED VREF value for new HP laptops
      13d26193
  5. 14 2月, 2012 9 次提交