Commits on Jan 18, 2013
  1. Linux 3.8-rc4

    committed Jan 18, 2013
Commits on Jan 17, 2013
  1. Merge branch 'for-linus' of git://…

    Pull more s390 patches from Martin Schwidefsky:
     "A couple of bug fixes: one of the transparent huge page primitives is
      broken, the sched_clock function overflows after 417 days, the XFS
      module has grown too large for -fpic and the new pci code has broken
      normal channel subsystem notifications."
    * 'for-linus' of git://
      s390/chsc: fix SEI usage
      s390/time: fix sched_clock() overflow
      s390: use -fPIC for module compile
      s390/mm: fix pmd_pfn() for thp
    committed Jan 17, 2013
  2. Merge tag 'for-linus-v3.8-rc4' of git://

    Pull xfs bugfixes from Ben Myers:
     - fix(es) for compound buffers
     - fix for dquot soft timer asserts due to overflow of d_blk_softlimit
     - fix for regression in dir v2 code introduced in commit 20f7e9f
       ("xfs: factor dir2 block read operations")
    * tag 'for-linus-v3.8-rc4' of git://
      xfs: recalculate leaf entry pointer after compacting a dir2 block
      xfs: remove int casts from debug dquot soft limit timer asserts
      xfs: fix the multi-segment log buffer format
      xfs: fix segment in xfs_buf_item_format_segment
      xfs: rename bli_format to avoid confusion with bli_formats
      xfs: use b_maps[] for discontiguous buffers
    committed Jan 17, 2013
Commits on Jan 16, 2013
  1. Merge tag 'pm+acpi-for-3.8-rc4' of git://…

    Pull ACPI and power management fixes from Rafael Wysocki:
     - cpuidle regression fix related to the initialization of state
       kobjects from Krzysztof Mazur.
     - cpuidle fix removing some not very useful code and making some
       user-visible problems go away at the same time.  From Daniel Lezcano.
     - ACPI build fix from Yinghai Lu.
    * tag 'pm+acpi-for-3.8-rc4' of git://
      cpuidle: remove the power_specified field in the driver
      ACPI / glue: Fix build with ACPI_GLUE_DEBUG set
      cpuidle: fix number of initialized/destroyed states
    committed Jan 16, 2013
  2. xfs: recalculate leaf entry pointer after compacting a dir2 block

    Dave Jones hit this assert when doing a compile on recent git, with
    CONFIG_XFS_DEBUG enabled:
    XFS: Assertion failed: (char *)dup - (char *)hdr == be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)), file: fs/xfs/xfs_dir2_data.c, line: 828
    Upon further digging, the tag found by xfs_dir2_data_unused_tag_p(dup)
    contained "2" and not the proper offset, and I found that this value was
    changed after the memmoves under "Use a stale leaf for our new entry."
    in xfs_dir2_block_addname(), i.e.
                            memmove(&blp[mid + 1], &blp[mid],
                                    (highstale - mid) * sizeof(*blp));
    overwrote it.
    What has happened is that the previous call to xfs_dir2_block_compact()
    has rearranged things; it changes btp->count as well as the
    blp array.  So after we make that call, we must recalculate the
    proper pointer to the leaf entries by making another call to
    Dave provided a metadump image which led to a simple reproducer
    (create a particular filename in the affected directory) and this
    resolves the testcase as well as the bug on his live system.
    Thanks also to dchinner for looking at this one with me.
    Signed-off-by: Eric Sandeen <>
    Tested-by: Dave Jones <>
    Reviewed-by: Dave Chinner <>
    Reviewed-by: Mark Tinguely <>
    Signed-off-by: Ben Myers <>
    Eric Sandeen committed with Ben Myers Jan 10, 2013
  3. xfs: remove int casts from debug dquot soft limit timer asserts

    The int casts here make it easy to trigger an assert with a large
    soft limit. For example, set a >4TB soft limit on an empty volume
    to reproduce a (0 > -x) comparison due to an overflow of
    Signed-off-by: Brian Foster <>
    Reviewed-by: Ben Myers <>
    Signed-off-by: Ben Myers <>
    Brian Foster committed with Ben Myers Dec 21, 2012
  4. xfs: fix the multi-segment log buffer format

    Per Dave Chinner suggestion, this patch:
     1) Corrects the detection of whether a multi-segment buffer is
        still tracking data.
     2) Clears all the buffer log formats for a multi-segment buffer.
    Signed-off-by: Mark Tinguely <>
    Reviewed-by: Christoph Hellwig <>
    Reviewed-by: Dave Chinner <>
    Signed-off-by: Ben Myers <>
    Mark Tinguely committed with Ben Myers Dec 4, 2012
  5. xfs: fix segment in xfs_buf_item_format_segment

    Not every segment in a multi-segment buffer is dirty in a
    transaction and they will not be outputted. The assert in
    xfs_buf_item_format_segment() that checks for the at least
    one chunk of data in the segment to be used is not necessary
    true for multi-segmented buffers.
    Signed-off-by: Mark Tinguely <>
    Reviewed-by: Dave Chinner <>
    Signed-off-by: Ben Myers <>
    Mark Tinguely committed with Ben Myers Dec 4, 2012
  6. xfs: rename bli_format to avoid confusion with bli_formats

    Rename the bli_format structure to __bli_format to avoid
    accidently confusing them with the bli_formats pointer.
    Signed-off-by: Mark Tinguely <>
    Reviewed-by: Christoph Hellwig <>
    Reviewed-by: Dave Chinner <>
    Signed-off-by: Ben Myers <>
    Mark Tinguely committed with Ben Myers Dec 4, 2012
  7. xfs: use b_maps[] for discontiguous buffers

    Commits starting at 77c1a08 introduced a multiple segment support
    to xfs_buf. xfs_trans_buf_item_match() could not find a multi-segment
    buffer in the transaction because it was looking at the single segment
    block number rather than the multi-segment b_maps[0] This
    results on a recursive buffer lock that can never be satisfied.
    This patch:
     1) Changed the remaining b_map accesses to be b_maps[0] accesses.
     2) Renames the single segment b_map structure to __b_map to avoid
        future confusion.
    Signed-off-by: Mark Tinguely <>
    Reviewed-by: Dave Chinner <>
    Reviewed-by: Christoph Hellwig <>
    Signed-off-by: Ben Myers <>
    Mark Tinguely committed with Ben Myers Dec 4, 2012
  8. Tell the world we gave up on pushing CC_OPTIMIZE_FOR_SIZE

    In commit 281dc5c ("Give up on pushing CC_OPTIMIZE_FOR_SIZE") we
    already changed the actual default value, but the help-text still
    suggested 'y'. Fix the help text too, for all the same reasons.
    Sadly, -Os keeps on generating some very suboptimal code for certain
    cases, to the point where any I$ miss upside is swamped by the downside.
    The main ones are:
     - using "rep movsb" for memcpy, even on CPU's where that is
       horrendously bad for performance.
     - not honoring branch prediction information, so any I$ footprint you
       win from smaller code, you lose from less code density in the I$.
     - using divide instructions when that is very expensive.
    Signed-off-by: Kirill Smelkov <>
    Signed-off-by: Linus Torvalds <>
    Kirill Smelkov committed with Nov 2, 2012
  9. mfd, TWL4030: TWL4030 need select REGMAP_I2C

    Fix the build error:
      drivers/built-in.o: In function `twl_probe':
      drivers/mfd/twl-core.c:1256: undefined reference to `devm_regmap_init_i2c'
      make: *** [vmlinux] Error 1
    Signed-off-by: liu chuansheng <>
    Acked-by: Peter Ujfalusi <>
    [ Samuel is busy, taking it directly  - Linus ]
    Signed-off-by: Linus Torvalds <>
    Chuansheng Liu committed with Dec 24, 2012
  10. drivers/base/cpu.c: Fix typo in comment

    [ We should make fun of people who can't speel too, but then we'd have
      no time for any real work at all  - Linus ]
    Signed-off-by: Linus Torvalds <>
    ralfbaechle committed with Jan 15, 2013
  11. lockdep, rwsem: fix down_write_nest_lock() if !CONFIG_DEBUG_LOCK_ALLOC

    Commit 1b963c8 ("lockdep, rwsem: provide down_write_nest_lock()")
    contains a bug in a codepath when CONFIG_DEBUG_LOCK_ALLOC is disabled,
    which causes down_read() to be called instead of down_write() by mistake
    on such configurations.  Fix that.
    Reported-and-tested-by: Andrew Clayton <>
    Reported-and-tested-by: Zlatko Calusic <>
    Signed-off-by: Jiri Kosina <>
    Reviewed-by: Rik van Riel <>
    Signed-off-by: Linus Torvalds <>
    Jiri Kosina committed with Jan 15, 2013
  12. Merge tag 'sound-3.8' of git://…

    Pull second round of sound fixes from Takashi Iwai:
     "Yet a few more fixes popped up in this week.
      The biggest change here is the addition of pinctrl support for Atmel,
      which turned out to be almost mandatory to make things working.
      The rest are a few fixes for M-Audio usb-audio device and a fix for
      regression of HD-audio HDMI codecs with alsactl in the recent kernel."
    * tag 'sound-3.8' of git://
      ALSA: hda/hdmi - Work around "alsactl restore" errors
      ALSA: usb-audio: selector map for M-Audio FT C400
      ALSA: usb-audio: M-Audio FT C400 skip packet quirk
      ALSA: usb-audio: correct M-Audio C400 clock source quirk
      ALSA: usb - fix race in creation of M-Audio Fast track pro driver
      ASoC: atmel-ssc: add pinctrl selection to driver
      ARM: at91/dts: add pinctrl support for SSC peripheral
    committed Jan 16, 2013
  13. Merge git://

    Pull scsi target fixes from Nicholas Bellinger:
     "This includes an important >= v3.6 regression bugfix for active I/O
      shutdown (Roland), some TMR related failure / corner cases fixes for
      long outstanding I/O (Roland), two FCoE target mode fabric fabric role
      fixes (MDR), a fix for an incorrect sense code during LUN
      communication failure (Dr. Hannes), plus a handful of other minor
      There are still some outstanding zero-length control CDB regression
      fixes that need to be addressed for v3.8, that will be coming in a
      follow-up PULL request."
    * git://
      iscsi-target: Fix CmdSN comparison (use cmd->cmd_sn instead of cmd->stat_sn)
      target: Release se_cmd when LUN lookup fails for TMR
      target: Fix use-after-free in LUN RESET handling
      target: Fix missing CMD_T_ACTIVE bit regression for pending WRITEs
      tcm_fc: Do not report target role when target is not defined
      tcm_fc: Do not indicate retry capability to initiators
      target: Use TCM_NO_SENSE for initialisation
      target: Introduce TCM_NO_SENSE
      target: use correct sense code for LUN communication failure
    committed Jan 16, 2013
  14. Merge branch 'for_linus' of git://…

    Pull ext3 and udf fixes from Jan Kara:
     "One ext3 performance regression fix and one udf regression fix (oops
      on interrupted mount)."
    * 'for_linus' of git://
      UDF: Fix a null pointer dereference in udf_sb_free_partitions
      jbd: don't wake kjournald unnecessarily
    committed Jan 16, 2013
  15. Merge git://

    Pull s390 KVM fix from Gleb Natapov.
    * git://
      s390/kvm: Fix BUG in include/linux/kvm_host.h:745
    committed Jan 16, 2013
  16. Merge tag 'sh-for-linus' of git://

    Pull SuperH fixes from Paul Mundt.
    * tag 'sh-for-linus' of git://
      sh: ecovec: add sample amixer settings
      sh: Fix up stack debugging build.
      sh: wire up finit_module syscall.
      sh: Fix FDPIC binary loader
      sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6
      sh: define TASK_UNMAPPED_BASE as a page aligned constant
    committed Jan 16, 2013
  17. Merge tag 'arm64-fixes' of git://…

    Pull arm64 fixes from Catalin Marinas:
     - Page protection fixes, including proper PAGE_NONE handling
     - Timezone vdso sequence counting fix
     - Additional compat syscall wiring
    * tag 'arm64-fixes' of git://
      arm64: compat: add syscall table entries for new syscalls
      arm64: mm: introduce present, faulting entries for PAGE_NONE
      arm64: mm: only wrprotect clean ptes if they are present
      arm64: vdso: remove broken, redundant sequence counting for timezones
    committed Jan 16, 2013
  18. Merge branch 'x86/urgent' of git://…

    Pull x86 fixes from Peter Anvin:
     "This is mainly a workaround for a bug in Sandy Bridge graphics which
      causes corruption of certain memory pages."
    * 'x86/urgent' of git://
      x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI
      x86/Sandy Bridge: mark arrays in __init functions as __initconst
      x86/Sandy Bridge: reserve pages when integrated graphics is present
      x86, efi: correct precedence of operators in setup_efi_pci
    committed Jan 16, 2013
  19. MAINTAINERS: update email address for Timur Tabi

    Timur Tabi no longer works for Freescale, so update the email address
    and status for all of his maintained projects.
    Also mark the QE library as orphaned, for lack of interest in
    maintaining it.
    The CS4270 driver is marked as "Odd Fixes" because appropriate hardware
    is no longer available.
    Signed-off-by: Timur Tabi <>
    Signed-off-by: Linus Torvalds <>
    Timur Tabi committed with Jan 15, 2013
  20. firmware: make sure the fw file size is not 0

    If the requested firmware file size is 0 bytes in the filesytem, we
    will try to vmalloc(0), which causes a warning:
      vmalloc: allocation failure: 0 bytes
      kworker/1:1: page allocation failure: order:0, mode:0xd2
        wl18xx_setup+0xb4/0x570 [wl18xx]
        wlcore_nvs_cb+0x64/0x9f8 [wlcore]
    To fix this, check whether the file size is less than or equal to zero
    in fw_read_file_contents().
    Cc: stable <> [3.7]
    Signed-off-by: Luciano Coelho <>
    Acked-by: Ming Lei <>
    Signed-off-by: Linus Torvalds <>
    Luciano Coelho committed with Jan 15, 2013
  21. module, async: async_synchronize_full() on module init iff async is used

    If the default iosched is built as module, the kernel may deadlock
    while trying to load the iosched module on device probe if the probing
    was running off async.  This is because async_synchronize_full() at
    the end of module init ends up waiting for the async job which
    initiated the module loading.
     async A				modprobe
     1. finds a device
     2. registers the block device
     3. request_module(default iosched)
    					4. modprobe in userland
    					5. load and init module
    					6. async_synchronize_full()
    Async A waits for modprobe to finish in request_module() and modprobe
    waits for async A to finish in async_synchronize_full().
    Because there's no easy to track dependency once control goes out to
    userland, implementing properly nested flushing is difficult.  For
    now, make module init perform async_synchronize_full() iff module init
    has queued async jobs as suggested by Linus.
    This avoids the described deadlock because iosched module doesn't use
    async and thus wouldn't invoke async_synchronize_full().  This is
    hacky and incomplete.  It will deadlock if async module loading nests;
    however, this works around the known problem case and seems to be the
    best of bad options.
    For more details, please refer to the following thread.
    Signed-off-by: Tejun Heo <>
    Reported-by: Alex Riesen <>
    Tested-by: Ming Lei <>
    Tested-by: Alex Riesen <>
    Cc: Arjan van de Ven <>
    Cc: Jens Axboe <>
    Signed-off-by: Linus Torvalds <>
    htejun committed with Jan 16, 2013
  22. s390/chsc: fix SEI usage

    cbc0dd1 "s390/pci: CHSC PCI support for error and availability events"
    introduced a new SEI notification type as part of pci support.
    The way SEI was called with nt2 and nt0 consecutive broke the nt0
    stuff used for channel subsystem notifications.
    The reason why this was broken with the mentioned patch is that you
    cannot selectively disable type 0 notifications (so even when asked
    for type 2 only, type 0 could be presented).
    The way to do it is to tell SEI which types of notification you can
    process and -this is the important part- look at the SEI result which
    notification type you actually received.
    Reviewed-by: Peter Oberparleiter <>
    Tested-by: Michael Holzheu <>
    Signed-off-by: Sebastian Ott <>
    Signed-off-by: Martin Schwidefsky <>
    sebott committed with Martin Schwidefsky Jan 15, 2013
  23. s390/time: fix sched_clock() overflow

    Converting a 64 Bit TOD format value to nanoseconds means that the value
    must be divided by 4.096. In order to achieve that we multiply with 125
    and divide by 512.
    When used within sched_clock() this triggers an overflow after appr.
    417 days. Resulting in a sched_clock() return value that is much smaller
    than previously and therefore may cause all sort of weird things in
    subsystems that rely on a monotonic sched_clock() behaviour.
    To fix this implement a tod_to_ns() helper function which converts TOD
    values without overflow and call this function from both places that
    open coded the conversion: sched_clock() and kvm_s390_handle_wait().
    Reviewed-by: Martin Schwidefsky <>
    Signed-off-by: Heiko Carstens <>
    Signed-off-by: Martin Schwidefsky <>
    Heiko Carstens committed with Martin Schwidefsky Jan 14, 2013
  24. sh: ecovec: add sample amixer settings

    FSI - DA7210 needs amixer settings to use it.
    This patch adds quick setting guide
    Signed-off-by: Kuninori Morimoto <>
    Signed-off-by: Paul Mundt <>
    morimoto committed with Paul Mundt Dec 25, 2012
Commits on Jan 15, 2013
  1. arm64: compat: add syscall table entries for new syscalls

    There have been a number of new syscalls introduced to arch/arm/ since
    the compat layer was implemented for arm64, so add pointers to the
    relevant functions to the compat syscall table.
    Signed-off-by: Will Deacon <>
    Signed-off-by: Catalin Marinas <>
    wildea01 committed with Catalin Marinas Jan 14, 2013
  2. ALSA: hda/hdmi - Work around "alsactl restore" errors

    When "alsactl restore" is performed on HDMI codecs, it tries to
    restore the channel map value since the channel map controls are
    writable.  But hdmi_chmap_ctl_put() returns -EBADFD when no PCM stream
    is assigned yet, and this results in an error message from alsactl.
    Although the error is harmless, it's certainly ugly and can be
    regarded as a regression.
    As a workaround, this patch changes the return code in such a case to
    be zero for making others happy.  (A slight excuse is: when the chmap
    is changed through the proper alsa-lib API, the PCM status is checked
    there anyway, so we don't have to be too strict in the kernel side.)
    Cc: <> [v3.7+]
    Signed-off-by: Takashi Iwai <>
    tiwai committed Jan 15, 2013
  3. cpuidle: remove the power_specified field in the driver

    We realized that the power usage field is never filled and when it
    is filled for tegra, the power_specified flag is not set causing all
    of these values to be reset when the driver is initialized with
    However, the power_specified flag can be simply removed under the
    assumption that the states are always backward sorted, which is the
    case with the current code.
    This change allows the menu governor select function and the
    cpuidle_play_dead() to be simplified.  Moreover, the
    set_power_states() function can removed as it does not make sense
    any more.
    Drop the power_specified flag from struct cpuidle_driver and make
    the related changes as described above.
    As a consequence, this also fixes the bug where on the dynamic
    C-states system, the power fields are not initialized.
    [rjw: Changelog]
    Signed-off-by: Daniel Lezcano <>
    Signed-off-by: Rafael J. Wysocki <>
    Daniel Lezcano committed with Rafael J. Wysocki Jan 15, 2013
  4. Merge tag 'asoc-atmel-pinctrl' of git://…

    …kernel/git/broonie/sound into for-linus
    ASoC: atmel: Fixes for pinctrl
    Due to a series of problems with the handling of Atmel, a combination of
    making changes that make other branches instantly buggy and a general
    failure to deal with the resulting issues effectively, v3.8 Atmel audio
    currently won't work at all for DT boards without adding pinctrl
    definitions and a request for those.
    tiwai committed Jan 15, 2013
  5. Merge tag 'trace-3.8-rc3-regression-fix' of git://…

    Pull tracing regression fixes from Steven Rostedt:
     "The clean up patch commit 0fb9656 "tracing: Make tracing_enabled
      be equal to tracing_on" caused two regressions.
       1) The irqs off latency tracer no longer starts if tracing_on is off
          when the tracer is set, and then tracing_on is enabled.  The
          tracing_on file needs the hook that tracing_enabled had to enable
          tracers if they request it (call the tracer's start() method).
       2) That commit had a separate change that really should have been a
          separate patch, but it must have been added accidently with the -a
          option of git commit.  But as the change is still related to the
          commit it wasn't noticed in review.  That change, changed the way
          blocking is done by the trace_pipe file with respect to the
          tracing_on settings.  I've been told that this change breaks
          current userspace, and this specific change is being reverted."
    * tag 'trace-3.8-rc3-regression-fix' of git://
      tracing: Fix regression of trace_pipe
      tracing: Fix regression with irqsoff tracer and tracing_on file
    committed Jan 15, 2013
  6. Merge tag 'regmap-debugfs-fixes' of git://…

    Pull regmap debugfs optimisation fixes from Mark Brown:
     "The debugfs optimisations merged in v3.8 weren't my finest hour, there
      were a number of cases that the more complex algorithm made worse
      especially around the error handling.  This patch series should
      address those issues."
    * tag 'regmap-debugfs-fixes' of git://
      regmap: debugfs: Make sure we store the last entry in the offset cache
      regmap: debugfs: Ensure a correct return value for empty caches
      regmap: debugfs: Discard the cache if we fail to allocate an entry
      regmap: debugfs: Fix check for block start in cached seeks
      regmap: debugfs: Fix attempts to read nonexistant register blocks
    committed Jan 15, 2013
  7. Merge tag 'regulator-3.8-rc3' of git://…

    Pull regulator fixes from Mark Brown:
     "A few fixes for the regulator subsystems, a few driver specific things
      plus a fix for the interaction between regultor_can_change_voltage()
      and continuous voltage ranges both of which were added for this
    * tag 'regulator-3.8-rc3' of git://
      regulator: max8998: Ensure enough delay time for max8998_set_voltage_buck_time_sel
      regulator: max8998: Use uV in voltage_map_desc
      regulator: max8997: Use uV in voltage_map_desc
      regulator: core: Fix comment for regulator_register()
      regulator: core: Fix continuous_voltage_range case in regulator_can_change_voltage
      regulator: s5m8767: Fix probe failure due to stack corruption
    committed Jan 15, 2013