26 Jun, 2012

2 commits

  • Commit 7ff9554bb578ba02166071d2d487b7fc7d860d62 (printk: convert
    byte-buffer to variable-length record buffer) introduced a regression
    by accidentally removing a "break" statement from inside the big
    switch in printk's do_syslog(). The symptom of this bug is that the
    "dmesg -C" command doesn't only clear the kernel's log buffer; it also
    disables console logging.

    This patch (as1561) fixes the regression by adding the missing
    "break".

    Signed-off-by: Alan Stern
    CC: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Distribution kernel maintainers routinely backport fixes for users that
    were deemed important but not "something critical" as defined by the
    rules. To users of these kernels they are very serious and failing to fix
    them reduces the value of -stable.

    The problem is that the patches fixing these issues are often subtle and
    prone to regressions in other ways and need greater care and attention.
    To combat this, these "serious" backports should have a higher barrier
    to entry.

    This patch relaxes the rules to allow a distribution maintainer to merge
    to -stable a backported patch or small series that fixes a "serious"
    user-visible performance issue. They should include additional information on
    the user-visible bug affected and a link to the bugzilla entry if available.
    The same rules about the patch being already in mainline still apply.

    Signed-off-by: Mel Gorman
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Mel Gorman
     

25 Jun, 2012

6 commits

  • Linus Torvalds
     
  • Coult -> Could

    Signed-off-by: Linus Torvalds

    Anatol Pomozov
     
  • Pull KVM fixes from Avi Kivity:
    "Fixing a scheduling-while-atomic bug in the ppc code, and a bug which
    allowed pci bridges to be assigned to guests."

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: PPC: Book3S HV: Drop locks around call to kvmppc_pin_guest_page
    KVM: Fix PCI header check on device assignment

    Linus Torvalds
     
  • Pull InfiniBand/RDMA fixes from Roland Dreier:
    - Fixes to new ocrdma driver
    - Typo in test in CMA

    * tag 'rdma-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    RDMA/cma: QP type check on received REQs should be AND not OR
    RDMA/ocrdma: Fix off by one in ocrdma_query_gid()
    RDMA/ocrdma: Fixed RQ error CQE polling
    RDMA/ocrdma: Correct queue SGE calculation
    RDMA/ocrdma: Correct reported max queue sizes
    RDMA/ocrdma: Fixed GID table for vlan and events

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Nothing very controversial in here. Most of the fixes are for OMAP
    this time around, with some orion/kirkwood and a tegra patch mixed in."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: Orion: Fix Virtual/Physical mixup with watchdog
    ARM: Kirkwood: clk_register_gate_fn: add fn assignment
    ARM: Orion5x - Restore parts of io.h, with rework
    ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled
    ARM: OMAP2+: mux: fix sparse warning
    ARM: OMAP2+: CM: increase the module disable timeout
    ARM: OMAP4: clock data: add clockdomains for clocks used as main clocks
    ARM: OMAP4: hwmod data: fix 32k sync timer idle modes
    ARM: OMAP4+: hwmod: fix issue causing IPs not going back to Smart-Standby
    ARM: OMAP: Fix Beagleboard DVI reset gpio
    arm/dts: OMAP2: Fix interrupt controller binding
    ARM: OMAP2: Fix tusb6010 GPIO interrupt for n8x0
    ARM: OMAP2+: Fix MUSB ifdefs for platform init code
    ARM: tegra: make tegra_cpu_reset_handler_enable() __init
    ARM: OMAP: PM: Lock clocks list while generating summary
    ARM: iconnect: Remove include of removed linux/spi/orion_spi.h

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Nothing major in here, one radeon SI fix for tiling, and one uninit
    var fix, two minor header file fixes."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm: drop comment about this header being autogenerated.
    drm/edid: don't return stack garbage from supports_rb
    vga_switcheroo: Add include guard
    drm/radeon: SI tiling fixes for display

    Linus Torvalds
     

24 Jun, 2012

6 commits

  • Roland Dreier
     
  • The orion watchdog is expecting to be passed the physcial address of
    the hardware, and will ioremap() it to give a virtual address it will
    use as the base address for the hardware. However, when creating the
    platform resource record, a virtual address was being used.

    Add the necassary #define's so we can pass the physical address as
    expected.

    Tested on Kirkwood and Orion5x.

    Cc: stable
    Signed-off-by: Andrew Lunn
    Signed-off-by: Olof Johansson

    Andrew Lunn
     
  • In commit:
    98d9986 ARM: Kirkwood: Replace clock gating
    the kirkwood clock gating has been reworked. A custom variant of
    clock gating, that calls a custom function before gating the clock
    off, has been introduced. However in clk_register_gate_fn() this
    custom function "fn" is never assigned.

    This patch adds the missing fn assignment.

    Cc: stable
    Signed-off-by: Marc Kleine-Budde
    Tested-by: Andrew Lunn
    Acked-by: Andrew Lunn
    Signed-off-by: Olof Johansson

    Marc Kleine-Budde
     
  • Commit 4d5fc58dbe34b78157c05b319669bb3e064ba8bd (ARM: remove bunch of
    now unused mach/io.h files) removed the orion5x io.h. Unfortunately,
    this is still needed for the definition of IO_SPACE_LIMIT which
    overrides the default 64K. All Orion based systems have 1Mbyte of IO
    space per PCI[e] bus, and try to request_resource() this size. Orion5x
    has two such PCI buses.

    It is likely that the original, removed version, was broken. This
    version might be less broken. However, it has not been tested on
    hardware with a PCI card, let alone hardware with a PCI card with IO
    capabilities.

    Signed-off-by: Andrew Lunn
    Acked-by: Rob Herring
    Signed-off-by: Olof Johansson

    Andrew Lunn
     
  • …git/pjw/omap-pending into fixes

    From Paul Walmsley (as per Tony Lindgren's request):
    "Some uncontroversial OMAP clock, hwmod, and compiler warning fixes for 3.5-rc"

    * tag 'omap-fixes-a-for-3.5rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
    ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled
    ARM: OMAP2+: mux: fix sparse warning
    ARM: OMAP2+: CM: increase the module disable timeout
    ARM: OMAP4: clock data: add clockdomains for clocks used as main clocks
    ARM: OMAP4: hwmod data: fix 32k sync timer idle modes
    ARM: OMAP4+: hwmod: fix issue causing IPs not going back to Smart-Standby
    ARM: OMAP: PM: Lock clocks list while generating summary

    Olof Johansson
     
  • …/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    "Here are a few fixes with the biggest one being fix for Beagle DVI
    reset. All of them are regression fixes, except for the missing omap2
    interrupt controller binding that somehow got missed earlier."

    * tag 'omap-fixes-for-v3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP: Fix Beagleboard DVI reset gpio
    arm/dts: OMAP2: Fix interrupt controller binding
    ARM: OMAP2: Fix tusb6010 GPIO interrupt for n8x0
    ARM: OMAP2+: Fix MUSB ifdefs for platform init code

    Olof Johansson
     

23 Jun, 2012

3 commits

  • Pull Ceph fixes from Sage Weil:
    "There are a couple of fixes from Yan for bad pointer dereferences in
    the messenger code and when fiddling with page->private after page
    migration, a fix from Alex for a use-after-free in the osd client
    code, and a couple fixes for the message refcounting and shutdown
    ordering."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    libceph: flush msgr queue during mon_client shutdown
    rbd: Clear ceph_msg->bio_iter for retransmitted message
    libceph: use con get/put ops from osd_client
    libceph: osd_client: don't drop reply reference too early
    ceph: check PG_Private flag before accessing page->private

    Linus Torvalds
     
  • Pull XFS fixes from Ben Myers:
    - Fix stale data exposure with unwritten extents
    - Fix a warning in xfs_alloc_vextent with ODEBUG
    - Fix overallocation and alignment of pages for xfs_bufs
    - Fix a cursor leak
    - Fix a log hang
    - Fix a crash related to xfs_sync_worker
    - Rename xfs log structure from struct log to struct xlog so we can use
    crash dumps effectively

    * tag 'for-linus-Jun-21-2012' of git://oss.sgi.com/xfs/xfs:
    xfs: rename log structure to xlog
    xfs: shutdown xfs_sync_worker before the log
    xfs: Fix overallocation in xfs_buf_allocate_memory()
    xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near
    xfs: check for stale inode before acquiring iflock on push
    xfs: fix debug_object WARN at xfs_alloc_vextent()
    xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2)

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar.

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ftrace: Make all inline tags also include notrace
    perf: Use css_tryget() to avoid propping up css refcount
    perf tools: Fix synthesizing tracepoint names from the perf.data headers
    perf stat: Fix default output file
    perf tools: Fix endianity swapping for adds_features bitmask

    Linus Torvalds
     

22 Jun, 2012

15 commits

  • This comment is well out of date.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • As per the OMAP4 documentation, audio over HDMI must be transmitted in
    no-idle mode. This patch adds the HWMOD_SWSUP_SIDLE so that omap_hwmod uses
    no-idle/force-idle settings instead of smart-idle mode.

    This is required as the DSS interface clock is used as functional clock
    for the HDMI wrapper audio FIFO. If no-idle mode is not used, audio could
    be choppy, have bad quality or not be audible at all.

    Signed-off-by: Ricardo Neri
    [b-cousson@ti.com: Update the subject and align the .flags
    location with the script template]
    Signed-off-by: Benoit Cousson
    Signed-off-by: Paul Walmsley

    Ricardo Neri
     
  • Commit bbd707acee279a61177a604822db92e8164d00db ("ARM: omap2: use
    machine specific hook for late init") resulted in the addition of this
    sparse warning:

    arch/arm/mach-omap2/mux.c:791:12: warning: symbol 'omap_mux_late_init' was not declared. Should it be static?

    Fix by including the header file containing the prototype.

    Signed-off-by: Paul Walmsley
    Cc: Shawn Guo
    Cc: Tony Lindgren

    Paul Walmsley
     
  • Increase the timeout for disabling an IP block to five milliseconds.
    This is to handle the usb_host_fs idle latency, which takes almost
    four milliseconds after a host controller reset.

    This is the second of two patches needed to resolve the following
    boot warning:

    omap_hwmod: usb_host_fs: _wait_target_disable failed

    Thanks to Sergei Shtylyov for finding
    an unrelated hunk in a previous version of this patch.

    Signed-off-by: Paul Walmsley
    Cc: Sergei Shtylyov
    Cc: Tero Kristo

    Paul Walmsley
     
  • Until the OMAP4 code is converted to disable the use of the clock
    framework-based clockdomain enable/disable sequence, any clock used as
    a hwmod main_clk must have a clockdomain associated with it. This
    patch populates some clock structure clockdomain names to resolve the
    following warnings during kernel init:

    omap_hwmod: dpll_mpu_m2_ck: missing clockdomain for dpll_mpu_m2_ck.
    omap_hwmod: trace_clk_div_ck: missing clockdomain for trace_clk_div_ck.
    omap_hwmod: l3_div_ck: missing clockdomain for l3_div_ck.
    omap_hwmod: ddrphy_ck: missing clockdomain for ddrphy_ck.

    Signed-off-by: Paul Walmsley
    Cc: Rajendra Nayak
    Cc: Benoît Cousson

    Paul Walmsley
     
  • The 32k sync timer IP block target idle modes in the hwmod data are
    incorrect. The IP block does not support any smart-idle modes.
    Update the data to reflect the correct modes.

    This problem was initially identified and a diff fragment posted to
    the lists by Benoît Cousson . A patch description
    bug in the first version was also identified by Benoît.

    Signed-off-by: Paul Walmsley
    Cc: Benoît Cousson
    Cc: Tero Kristo

    Paul Walmsley
     
  • If an IP is configured in Smart-Standby-Wakeup, when disabling wakeup feature the
    IP will not go back to Smart-Standby, but will remain in Smart-Standby-Wakeup.

    Signed-off-by: Djamil Elaidi
    Signed-off-by: Paul Walmsley

    Djamil Elaidi
     
  • Pull NFS client bugfixes from Trond Myklebust:
    - Fix a write hang due to an uninitalised variable when
    !defined(CONFIG_NFS_V4)
    - Address upcall races in the legacy NFSv4 idmapper
    - Remove an O_DIRECT refcounting issue
    - Fix a pNFS refcounting bug when the file layout metadata server is
    also acting as a data server
    - Fix a pNFS module loading race.

    * tag 'nfs-for-3.5-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFS: Force the legacy idmapper to be single threaded
    NFS: Initialise commit_info.rpc_out when !defined(CONFIG_NFS_V4)
    NFS: Fix a refcounting issue in O_DIRECT
    NFSv4.1: Fix a race in set_pnfs_layoutdriver
    NFSv4.1: Fix umount when filelayout DS is also the MDS

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "This is a small pull with btrfs fixes. The biggest of the bunch is
    another fix for the new backref walking code.

    We're still hammering out one btrfs dio vs buffered reads problem, but
    that one will have to wait for the next rc."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: delay iput with async extents
    Btrfs: add a missing spin_lock
    Btrfs: don't assume to be on the correct extent in add_all_parents
    Btrfs: introduce btrfs_next_old_item

    Linus Torvalds
     
  • Pull hwmon fixes from Guenter Roeck:
    "Two minor fixes in emc2103 and applesmc drivers."

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (emc2103) Fix use of an uninitilized variable in error case
    hwmon: (applesmc) Limit key length in warning messages

    Linus Torvalds
     
  • Rename the XFS log structure to xlog to help crash distinquish it from the
    other logs in Linux.

    Signed-off-by: Mark Tinguely
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Ben Myers

    Mark Tinguely
     
  • Revert commit 1307bbd, which uses the s_umount semaphore to provide
    exclusion between xfs_sync_worker and unmount, in favor of shutting down
    the sync worker before freeing the log in xfs_log_unmount. This is a
    cleaner way of resolving the race between xfs_sync_worker and unmount
    than using s_umount.

    Signed-off-by: Ben Myers
    Reviewed-by: Mark Tinguely
    Reviewed-by: Dave Chinner

    Ben Myers
     
  • Commit de1cbee which removed b_file_offset in favor of b_bn introduced a bug
    causing xfs_buf_allocate_memory() to overestimate the number of necessary
    pages. The problem is that xfs_buf_alloc() sets b_bn to -1 and thus effectively
    every buffer is straddling a page boundary which causes
    xfs_buf_allocate_memory() to allocate two pages and use vmalloc() for access
    which is unnecessary.

    Dave says xfs_buf_alloc() doesn't need to set b_bn to -1 anymore since the
    buffer is inserted into the cache only after being fully initialized now.
    So just make xfs_buf_alloc() fill in proper block number from the beginning.

    CC: David Chinner
    Signed-off-by: Jan Kara
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Dave Chinner
    Signed-off-by: Ben Myers

    Jan Kara
     
  • When we fail to find an matching extent near the requested extent
    specification during a left-right distance search in
    xfs_alloc_ag_vextent_near, we fail to free the original cursor that
    we used to look up the XFS_BTNUM_CNT tree and hence leak it.

    Reported-by: Chris J Arges
    Signed-off-by: Dave Chinner
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Ben Myers

    Dave Chinner
     
  • An inode in the AIL can be flush locked and marked stale if
    a cluster free transaction occurs at the right time. The
    inode item is then marked as flushing, which causes xfsaild
    to spin and leaves the filesystem stalled. This is
    reproduced by running xfstests 273 in a loop for an
    extended period of time.

    Check for stale inodes before the flush lock. This marks
    the inode as pinned, leads to a log flush and allows the
    filesystem to proceed.

    Signed-off-by: Brian Foster
    Reviewed-by: Dave Chinner
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Mark Tinguely
    Signed-off-by: Ben Myers

    Brian Foster
     

21 Jun, 2012

8 commits

  • There is some concern that these iput()'s could be the final iputs and could
    induce lockups on people waiting on writeback. This would happen in the
    rare case that we don't create ordered extents because of an error, but it
    is theoretically possible and we already have a mechanism to deal with this
    so just make them delayed iputs to negate any worry.

    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • When fixing up the locking in the delayed ref destruction work I accidently
    broke the locking myself ;(. Add back a spin_lock that should be there and
    we are now all set. Thanks,
    Btrfs: add a missing spin_lock

    When fixing up the locking in the delayed ref destruction work I accidently
    broke the locking myself ;(. Add back a spin_lock that should be there and
    we are now all set. Thanks,

    Reported-by: Dan Carpenter
    Signed-off-by: Josef Bacik
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • add_all_parents did assume that path is already at a correct extent data
    item, which may not be true in case of data extents that were partly
    rewritten and splitted.

    We need to check if we're on a matching extent for every item and only
    for the ones after the first. The loop is changed to do this now.

    This patch also fixes a bug introduced with commit 3b127fd8 "Btrfs:
    remove obsolete btrfs_next_leaf call from __resolve_indirect_ref".
    The removal of next_leaf did sometimes result in slot==nritems when
    the above described case happens, and thus resulting in invalid values
    (e.g. wanted_obejctid) in add_all_parents (leading to missed backrefs
    or even crashes).

    Signed-off-by: Alexander Block
    Signed-off-by: Jan Schmidt
    Signed-off-by: Chris Mason

    Alexander Block
     
  • We introduce btrfs_next_old_item that uses btrfs_next_old_leaf instead
    of btrfs_next_leaf.

    btrfs_next_item is also changed to simply call btrfs_next_old_item with
    time_seq being 0.

    Signed-off-by: Alexander Block
    Signed-off-by: Chris Mason

    Alexander Block
     
  • We need to initialize this to false, because the is_rb callback only
    ever sets it to true.

    Noticed while reading through the code.

    Cc: stable@vger.kernel.org
    Signed-Off-by: Daniel Vetter
    Reviewed-by: Adam Jackson
    Signed-off-by: Dave Airlie

    Daniel Vetter
     
  • Guard vga_switcheroo.h against multiple inclusion.

    Signed-off-by: Ozan Çağlayan
    Signed-off-by: Dave Airlie

    Ozan Çağlayan
     
  • Pull slave-dmaengine fixes from Vinod Koul:
    "A few fixes in pl330 and imx-sdma drivers."

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    DMA: PL330: Fix racy mutex unlock
    DMA: PL330: Add missing static storage class specifier
    dma: imx-sdma: buf_tail should be initialize in prepare function
    dmaengine: pl330: dont complete descriptor for cyclic dma

    Linus Torvalds
     
  • Pull two cgroup fixes from Tejun Heo:
    "This containes two patches fixing a refcnt race bug during css_put().
    Decrementing and checking the value weren't atomic and two tasks could
    think that they both pushed the counter to zero."

    * 'for-3.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroups: Account for CSS_DEACT_BIAS in __css_put
    cgroup: make sure that decisions in __css_put are atomic

    Linus Torvalds