1. 05 Mar, 2012 3 commits
    • Janusz Krzysztofik's avatar
      ASoC: OMAP: ams-delta: drop .set_bias_level callback · 0379c1f5
      Janusz Krzysztofik authored
      This functionality has already been implemented in the cx20442 codec
      driver (commit f75a8ff6, "ASoC: cx20442:
      add bias control over a platform provided regulator"), no need to keep
      it here duplicated.
      
      Once done, remove the no longer used AMS_DELTA_LATCH2_MODEM_NRESET
      symbol from the board header file and a call to the regulator_toggle()
      helper function from the old API wrapper found in the board file.  While
      being at it, simplify the way the modem .pm callback handles the
      regulator and drop that helper function and its related consumer setup
      completely.
      
      Depends on patches 1/3 and 2/3 for clean apply and keep things working.
      Signed-off-by: default avatarJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      0379c1f5
    • Janusz Krzysztofik's avatar
      ARM: OMAP1: ams-delta: update the modem to use regulator API · aabf3173
      Janusz Krzysztofik authored
      After the CX20442 codec driver already takes care of enabling the codec
      power for itself (commit f75a8ff6,
      "ASoC: cx20442: add bias control over a platform provided regulator"),
      but before dropping the old bias control method from the Amstrad Delta
      ASoC sound card file, which in fact keeps the modem power always on,
      even on the ASoC device close for now, extend the modem setup with a
      power management callback which toggles the regulator up to the modem's
      needs, reusing the previously set up regulator consumer for this. Also,
      drop the MODEM_NRESET pin setup from the modem initialization procedure,
      as this operation was already ineffective since patch 1/3, and not
      needed because the regulator is set up as initially enabled.
      
      Depends on patch 1/3 "ARM: OMAP1: ams-delta: set up regulator over modem
      reset GPIO pin" to apply cleanly.
      Signed-off-by: default avatarJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      aabf3173
    • Janusz Krzysztofik's avatar
      ARM: OMAP1: ams-delta: set up regulator over modem reset GPIO pin · ac2885df
      Janusz Krzysztofik authored
      The Amstrad Delta on-board latch2 bit named MODEM_NRESET, now available
      as a GPIO pin AMS_DELTA_GPIO_PIN_NMODEM_RESET, is used to power up/down
      (bring into/out of a reset state) two distinct on-board devices
      simultaneously: the modem, and the voice codec. As a consequence, that
      bit is, or can be, manipulated concurrently by two drivers, or their
      platform provided hooks.
      
      Instead of updating those drivers to use the gpiolib API as a new method
      of controlling the MODEM_NRESET pin state, like it was done to other
      drivers accessing latch2 pins, and still being vulnerable to potential
      concurrency conflicts, or trying to solve that sharing issue with a
      custom piece of code, set up a fixed regulator device on top of that
      GPIO pin, with the intention of updating both drivers to manipulate that
      regulator, not the GPIO pin directly.
      
      Before the ASoC driver is updated and the modem platform data expanded
      with a power management callback for switching its power, the
      ams_delta_latch_write() function, which still provides the old API for
      accessing latch2 functionality from not updated drivers, is modified to
      toggle the regulator instead of the MODEM_NRESET GPIO pin.  A helper
      function provided for balancing the regulator enable/disable operations,
      together with the consumer data needed for tracking the regulator state,
      will be removed once the drivers are updated.
      
      Depends on patch series "ARM: OMAP1: ams-delta: replace custom I/O with
      GPIO".
      Signed-off-by: default avatarJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ac2885df
  2. 01 Mar, 2012 3 commits
  3. 25 Feb, 2012 6 commits
    • Linus Torvalds's avatar
      Linux 3.3-rc5 · 6b21d18e
      Linus Torvalds authored
      6b21d18e
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 00b10ecf
      Linus Torvalds authored
      Couple of minor driver fixes.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max34440) Fix resetting temperature history
        hwmon: (f75375s) Fix register write order when setting fans to full speed
        hwmon: (ads1015) Fix file leak in probe function
        hwmon: (max6639) Fix PPR register initialization to set both channels
        hwmon: (max6639) Fix FAN_FROM_REG calculation
      00b10ecf
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 1e73fde5
      Linus Torvalds authored
      three kbuild fixes for 3.3:
       - make deb-pkg symlink race fix.
       - make coccicheck fix.
       - Dropping the check for modutils.  This is not a regression, but
         allows the module-init-tools replacement kmod work with the 3.3
         kernel.
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        coccicheck: change handling of C={1,2} when M= is set
        builddeb: Don't create files in /tmp with predictable names
        kbuild: do not check for ancient modutils tools
      1e73fde5
    • Ian Kent's avatar
      autofs: work around unhappy compat problem on x86-64 · a32744d4
      Ian Kent authored
      When the autofs protocol version 5 packet type was added in commit
      5c0a32fc ("autofs4: add new packet type for v5 communications"), it
      obvously tried quite hard to be word-size agnostic, and uses explicitly
      sized fields that are all correctly aligned.
      
      However, with the final "char name[NAME_MAX+1]" array at the end, the
      actual size of the structure ends up being not very well defined:
      because the struct isn't marked 'packed', doing a "sizeof()" on it will
      align the size of the struct up to the biggest alignment of the members
      it has.
      
      And despite all the members being the same, the alignment of them is
      different: a "__u64" has 4-byte alignment on x86-32, but native 8-byte
      alignment on x86-64.  And while 'NAME_MAX+1' ends up being a nice round
      number (256), the name[] array starts out a 4-byte aligned.
      
      End result: the "packed" size of the structure is 300 bytes: 4-byte, but
      not 8-byte aligned.
      
      As a result, despite all the fields being in the same place on all
      architectures, sizeof() will round up that size to 304 bytes on
      architectures that have 8-byte alignment for u64.
      
      Note that this is *not* a problem for 32-bit compat mode on POWER, since
      there __u64 is 8-byte aligned even in 32-bit mode.  But on x86, 32-bit
      and 64-bit alignment is different for 64-bit entities, and as a result
      the structure that has exactly the same layout has different sizes.
      
      So on x86-64, but no other architecture, we will just subtract 4 from
      the size of the structure when running in a compat task.  That way we
      will write the properly sized packet that user mode expects.
      
      Not pretty.  Sadly, this very subtle, and unnecessary, size difference
      has been encoded in user space that wants to read packets of *exactly*
      the right size, and will refuse to touch anything else.
      Reported-and-tested-by: default avatarThomas Meyer <thomas@m3y3r.de>
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a32744d4
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · b52b8002
      Linus Torvalds authored
      One InfiniBand/RDMA regression fix for 3.3:
      
       - mlx4 SR-IOV changes added static exported functions, which doesn't
         build on powerpc at least.  Fix from Doug Ledford for this.
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        mlx4_core: Exported functions can't be static
      b52b8002
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 16bca1d5
      Linus Torvalds authored
      SCSI fixes on 20120224:
       "This is a set of assorted bug fixes for power management, mpt2sas,
        ipr, the rdac device handler and quite a big chunk for qla2xxx (plus a
        use after free of scsi_host in scsi_scan.c). "
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] scsi_dh_rdac: Fix for unbalanced reference count
        [SCSI] scsi_pm: Fix bug in the SCSI power management handler
        [SCSI] scsi_scan: Fix 'Poison overwritten' warning caused by using freed 'shost'
        [SCSI] qla2xxx: Update version number to 8.03.07.13-k.
        [SCSI] qla2xxx: Proper detection of firmware abort error code for ISP82xx.
        [SCSI] qla2xxx: Remove resetting memory during device initialization for ISP82xx.
        [SCSI] qla2xxx: Complete mailbox command timedout to avoid initialization failures during next reset cycle.
        [SCSI] qla2xxx: Remove check for null fcport from host reset handler.
        [SCSI] qla2xxx: Correct out of bounds read of ISP2200 mailbox registers.
        [SCSI] qla2xxx: Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing.
        [SCSI] qla2xxx: Clear options-flags while issuing stop-firmware mbx command.
        [SCSI] qla2xxx: Add an "is reset active" helper.
        [SCSI] qla2xxx: Add check for null fcport references in qla2xxx_queuecommand.
        [SCSI] qla2xxx: Propagate up abort failures.
        [SCSI] isci: Fix NULL ptr dereference when no firmware is being loaded
        [SCSI] ipr: fix eeh recovery for 64-bit adapters
        [SCSI] mpt2sas: Fix mismatch in mpt2sas_base_hard_reset_handler() mutex lock-unlock
      16bca1d5
  4. 24 Feb, 2012 22 commits
  5. 23 Feb, 2012 6 commits
    • Anton Altaparmakov's avatar
      Restore direct_io / truncate locking API · 37fbf4bf
      Anton Altaparmakov authored
      With kernel 3.1, Christoph removed i_alloc_sem and replaced it with
      calls (namely inode_dio_wait() and inode_dio_done()) which are
      EXPORT_SYMBOL_GPL() thus they cannot be used by non-GPL file systems and
      further inode_dio_wait() was pushed from notify_change() into the file
      system ->setattr() method but no non-GPL file system can make this call.
      
      That means non-GPL file systems cannot exist any more unless they do not
      use any VFS functionality related to reading/writing as far as I can
      tell or at least as long as they want to implement direct i/o.
      
      Both Linus and Al (and others) have said on LKML that this breakage of
      the VFS API should not have happened and that the change was simply
      missed as it was not documented in the change logs of the patches that
      did those changes.
      
      This patch changes the two function exports in question to be
      EXPORT_SYMBOL() thus restoring the VFS API as it used to be - accessible
      for all modules.
      
      Christoph, who introduced the two functions and exported them GPL-only
      is CC-ed on this patch to give him the opportunity to object to the
      symbols being changed in this manner if he did indeed intend them to be
      GPL-only and does not want them to become available to all modules.
      Signed-off-by: default avatarAnton Altaparmakov <anton@tuxera.com>
      CC: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37fbf4bf
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · bb4c7e9a
      Linus Torvalds authored
      A fix from Jesper Juhl removes an assignment in an ASSERT when a compare
      is intended.  Two fixes from Mitsuo Hayasaka address off-by-ones in XFS
      quota enforcement.
      
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: make inode quota check more general
        xfs: change available ranges of softlimit and hardlimit in quota check
        XFS: xfs_trans_add_item() - don't assign in ASSERT() when compare is intended
      bb4c7e9a
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 73c8e679
      Linus Torvalds authored
      BenH says:
       'Here are a few more powerpc bits for you.  A stupid regression I
        introduced with my previous commit to "fix" program check exceptions
        (brown paper bag for me), fix the cpuidle default, a bug fix for
        something that isn't strictly speaking a regression but some upstream
        changes causes it to show in lockdep now while it didn't before, and
        finally a trivial one for rusty to make his life easier later on
        removing the old cpumask cruft. '
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Fix various issues with return to userspace
        cpuidle: Default y on powerpc pSeries
        powerpc: Fix program check handling when lockdep is enabled
        powerpc: Remove references to cpu_*_map
      73c8e679
    • Linus Torvalds's avatar
      Merge tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 0200971d
      Linus Torvalds authored
      sound fixes for 3.3-rc5
      
      Just a collection of boring small fixes for ASoC, HD-audio Realtek
      and USB-audio drivers.
      
      * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: snd-usb-caiaq: Fix the return of XRUN
        ASoC: ak4642: fixup HeadPhone L/R dapm settings
        ALSA: hda/realtek - Fix surround output regression on Acer Aspire 5935
        ALSA: hda/realtek - Fix overflow of vol/sw check bitmap
        ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk()
        ASoC: wm8962: Fix sidetone enumeration texts
      0200971d
    • Liu Bo's avatar
      Btrfs: increase the global block reserve estimates · 5500cdbe
      Liu Bo authored
      When doing IO with large amounts of data fragmentation, the global block
      reserve calulations are too low.  This increases them to avoid
      ENOSPC crashes.
      Signed-off-by: default avatarLiu Bo <liubo2009@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      5500cdbe
    • Chris Mason's avatar
      Btrfs: clear the extent uptodate bits during parent transid failures · 50653190
      Chris Mason authored
      If btrfs reads a block and finds a parent transid mismatch, it clears
      the uptodate flags on the extent buffer, and the pages inside it.  But
      we only clear the uptodate bits in the state tree if the block straddles
      more than one page.
      
      This is from an old optimization from to reduce contention on the extent
      state tree.  But it is buggy because the code that retries a read from
      a different copy of the block is going to find the uptodate state bits
      set and skip the IO.
      
      The end result of the bug is that we'll never actually read the good
      copy (if there is one).
      
      The fix here is to always clear the uptodate state bits, which is safe
      because this code is only called when the parent transid fails.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      50653190