1. 02 Nov, 2012 7 commits
  2. 01 Nov, 2012 1 commit
  3. 31 Oct, 2012 21 commits
  4. 30 Oct, 2012 11 commits
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-v3.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · bc909421
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       - Fix a potential bit wrap issue in the Timberdale driver
       - Fix up the buffer allocation size in the 74x164 driver
       - Set the value in direction_output() right in the mvebu driver
       - Return proper error codes for invalid GPIOs
       - Fix an off-mode bug for the OMAP
       - Don't initialize the mask_cach on the mvebu driver
      
      * tag 'gpio-fixes-v3.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        GPIO: mvebu-gpio: Don't initialize the mask_cache
        gpio/omap: fix off-mode bug: clear debounce settings on free/reset
        gpiolib: Don't return -EPROBE_DEFER to sysfs, or for invalid gpios
        gpio: mvebu: correctly set the value in direction_output()
        gpio-74x164: Fix buffer allocation size
        gpio-timberdale: fix a potential wrapping issue
      bc909421
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 8c673cbc
      Linus Torvalds authored
      Pull ext4 bugfix from Ted Ts'o:
       "This fixes the root cause of the ext4 data corruption bug which raised
        a ruckus on LWN, Phoronix, and Slashdot.
      
        This bug only showed up when non-standard mount options
        (journal_async_commit and/or journal_checksum) were enabled, and when
        the file system was not cleanly unmounted, but the root cause was the
        inode bitmap modifications was not being properly journaled.
      
        This could potentially lead to minor file system corruptions (pass 5
        complaints with the inode allocation bitmap) after an unclean shutdown
        under the wrong/unlucky workloads, but it turned into major failure if
        the journal_checksum and/or jouaral_async_commit was enabled."
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix unjournaled inode bitmap modification
      8c673cbc
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 4476c0ee
      Linus Torvalds authored
      Pull block driver update from Jens Axboe:
       "Distilled down variant, the rest will pass over to 3.8.  I pulled it
        into the for-linus branch I had waiting for a pull request as well, in
        case you are wondering why there are new entries in here too.  This
        also got rid of two reverts and the ones of the mtip32xx patches that
        went in later in the 3.6 cycle, so the series looks a bit cleaner."
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        loop: Make explicit loop device destruction lazy
        mtip32xx:Added appropriate timeout value for secure erase
        xen/blkback: Change xen_vbd's flush_support and discard_secure to have type unsigned int, rather than bool
        cciss: select CONFIG_CHECK_SIGNATURE
        cciss: remove unneeded memset()
        xen/blkback: use kmem_cache_zalloc instead of kmem_cache_alloc/memset
        pktcdvd: update MAINTAINERS
        floppy: remove dr, reuse drive on do_floppy_init
        floppy: use common function to check if floppies can be registered
        floppy: properly handle failure on add_disk loop
        floppy: do put_disk on current dr if blk_init_queue fails
        floppy: don't call alloc_ordered_workqueue inside the alloc_disk loop
        xen/blkback: Fix compile warning
        block: Add blk_rq_pos(rq) to sort rq when plushing
        drivers/block: remove CONFIG_EXPERIMENTAL
        block: remove CONFIG_EXPERIMENTAL
        vfs: fix: don't increase bio_slab_max if krealloc() fails
        blkcg: stop iteration early if root_rl is the only request list
        blkcg: Fix use-after-free of q->root_blkg and q->root_rl.blkg
      4476c0ee
    • Andrew Lunn's avatar
      GPIO: mvebu-gpio: Don't initialize the mask_cache · 8fcff5f1
      Andrew Lunn authored
      Due to the SMP nature of some of the chips, which have per CPU
      registers, the driver does not use the generic irq_gc_mask_set_bit() &
      irq_gc_mask_clr_bit() functions, which only support a single register.
      The driver has its own implementation of these functions, which can
      pick the correct register depending on the CPU being used. The
      functions do however use the gc->mask_cache value.
      
      The call to irq_setup_generic_chip() was passing
      IRQ_GC_INIT_MASK_CACHE, which caused the gc->mask_cache to be
      initialized to the contents of some random register. This resulted in
      unexpected interrupts been delivered from random GPIO lines.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Tested-by: default avatarJamie Lentin <jm@lentin.co.uk>
      Acked-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Tested-by: default avatarMichael Walle <michael@walle.cc>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      8fcff5f1
    • Takashi Iwai's avatar
      ALSA: Avoid endless sleep after disconnect · 0914f796
      Takashi Iwai authored
      When disconnect callback is called, each component should wake up
      sleepers and check card->shutdown flag for avoiding the endless sleep
      blocking the proper resource release.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0914f796
    • Takashi Iwai's avatar
      ALSA: Add a reference counter to card instance · a0830dbd
      Takashi Iwai authored
      For more strict protection for wild disconnections, a refcount is
      introduced to the card instance, and let it up/down when an object is
      referred via snd_lookup_*() in the open ops.
      
      The free-after-last-close check is also changed to check this refcount
      instead of the empty list, too.
      Reported-by: default avatarMatthieu CASTET <matthieu.castet@parrot.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a0830dbd
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix races at disconnection in mixer_quirks.c · 888ea7d5
      Takashi Iwai authored
      Similar like the previous commit, cover with chip->shutdown_rwsem
      and chip->shutdown checks.
      Reported-by: default avatarMatthieu CASTET <matthieu.castet@parrot.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      888ea7d5
    • Takashi Iwai's avatar
      ALSA: usb-audio: Use rwsem for disconnect protection · 34f3c89f
      Takashi Iwai authored
      Replace mutex with rwsem for codec->shutdown protection so that
      concurrent accesses are allowed.
      
      Also add the protection to snd_usb_autosuspend() and
      snd_usb_autoresume(), too.
      Reported-by: default avatarMatthieu CASTET <matthieu.castet@parrot.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      34f3c89f
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix races at disconnection · 978520b7
      Takashi Iwai authored
      Close some races at disconnection of a USB audio device by adding the
      chip->shutdown_mutex and chip->shutdown check at appropriate places.
      
      The spots to put bandaids are:
      - PCM prepare, hw_params and hw_free
      - where the usb device is accessed for communication or get speed, in
       mixer.c and others; the device speed is now cached in subs->speed
       instead of accessing to chip->dev
      
      The accesses in PCM open and close don't need the mutex protection
      because these are already handled in the core PCM disconnection code.
      
      The autosuspend/autoresume codes are still uncovered by this patch
      because of possible mutex deadlocks.  They'll be covered by the
      upcoming change to rwsem.
      
      Also the mixer codes are untouched, too.  These will be fixed in
      another patch, too.
      Reported-by: default avatarMatthieu CASTET <matthieu.castet@parrot.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      978520b7
    • Takashi Iwai's avatar
      ALSA: PCM: Fix some races at disconnection · 9b0573c0
      Takashi Iwai authored
      Fix races at PCM disconnection:
      - while a PCM device is being opened or closed
      - while the PCM state is being changed without lock in prepare,
        hw_params, hw_free ops
      Reported-by: default avatarMatthieu CASTET <matthieu.castet@parrot.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9b0573c0
    • Dave Chinner's avatar
      loop: Make explicit loop device destruction lazy · a1ecac3b
      Dave Chinner authored
      xfstests has always had random failures of tests due to loop devices
      failing to be torn down and hence leaving filesytems that cannot be
      unmounted. This causes test runs to immediately stop.
      
      Over the past 6 or 7 years we've added hacks like explicit unmount
      -d commands for loop mounts, losetup -d after unmount -d fails, etc,
      but still the problems persist.  Recently, the frequency of loop
      related failures increased again to the point that xfstests 259 will
      reliably fail with a stray loop device that was not torn down.
      
      That is despite the fact the test is above as simple as it gets -
      loop 5 or 6 times running mkfs.xfs with different paramters:
      
              lofile=$(losetup -f)
              losetup $lofile "$testfile"
              "$MKFS_XFS_PROG" -b size=512 $lofile >/dev/null || echo "mkfs failed!"
              sync
              losetup -d $lofile
      
      And losteup -d $lofile is failing with EBUSY on 1-3 of these loops
      every time the test is run.
      
      Turns out that blkid is running simultaneously with losetup -d, and
      so it sees an elevated reference count and returns EBUSY.  But why
      is blkid running? It's obvious, isn't it? udev has decided to try
      and find out what is on the block device as a result of a creation
      notification. And it is racing with mkfs, so might still be scanning
      the device when mkfs finishes and we try to tear it down.
      
      So, make losetup -d force autoremove behaviour. That is, when the
      last reference goes away, tear down the device. xfstests wants it
      *gone*, not causing random teardown failures when we know that all
      the operations the tests have specifically run on the device have
      completed and are no longer referencing the loop device.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      a1ecac3b