1. 20 Jun, 2011 2 commits
  2. 19 Jun, 2011 7 commits
  3. 18 Jun, 2011 14 commits
  4. 17 Jun, 2011 17 commits
    • Daniel J Blueman's avatar
      drm/i915: Fix gen6 (SNB) missed BLT ring interrupts. · 498e720b
      Daniel J Blueman authored
      The failure appeared in dmesg as:
      
      [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt
      ring idle [waiting on 35064155, at 35064155], missed IRQ?
      
      This works around that problem on by making the blitter command
      streamer write interrupt state to the Hardware Status Page when a
      MI_USER_INTERRUPT command is decoded, which appears to force the seqno
      out to memory before the interrupt happens.
      
      v1->v2: Moved to prior interrupt handler installation and RMW flags as
      per feedback.
      v2->v3: Removed RMW of flags (by anholt)
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarDaniel J Blueman <daniel.blueman@gmail.com>
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Tested-by: Chris Wilson <chris@chris-wilson.co.uk> [v1]
      Tested-by: Eric Anholt <eric@anholt.net> [v1,v3]
      	   (incidence of the bug with a testcase went from avg 2/1000 to
      	   0/12651 in the latest test run (plus more for v1))
      Tested-by: Kenneth Graunke <kenneth@whitecape.org> [v1]
      Tested-by: Robert Hooker <robert.hooker@canonical.com> [v1]
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33394Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      498e720b
    • Chris Mason's avatar
      Btrfs: avoid delayed metadata items during commits · e999376f
      Chris Mason authored
      Snapshot creation has two phases.  One is the initial snapshot setup,
      and the second is done during commit, while nobody is allowed to modify
      the root we are snapshotting.
      
      The delayed metadata insertion code can break that rule, it does a
      delayed inode update on the inode of the parent of the snapshot,
      and delayed directory item insertion.
      
      This makes sure to run the pending delayed operations before we
      record the snapshot root, which avoids corruptions.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      e999376f
    • David Sterba's avatar
      btrfs: fix uninitialized return value · 35a30d7c
      David Sterba authored
      When allocation fails in btrfs_read_fs_root_no_name, ret is not set
      although it is returned, holding a garbage value.
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.cz>
      Reviewed-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      35a30d7c
    • Miao Xie's avatar
      btrfs: fix wrong reservation when doing delayed inode operations · 19fd2949
      Miao Xie authored
      We have migrated the space for the delayed inode items from
      trans_block_rsv to global_block_rsv, but we forgot to set trans->block_rsv to
      global_block_rsv when we doing delayed inode operations, and the following Oops
      happened:
      
      [ 9792.654889] ------------[ cut here ]------------
      [ 9792.654898] WARNING: at fs/btrfs/extent-tree.c:5681
      btrfs_alloc_free_block+0xca/0x27c [btrfs]()
      [ 9792.654899] Hardware name: To Be Filled By O.E.M.
      [ 9792.654900] Modules linked in: btrfs zlib_deflate libcrc32c
      ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables
      arc4 rt61pci rt2x00pci rt2x00lib snd_hda_codec_hdmi mac80211
      snd_hda_codec_realtek cfg80211 snd_hda_intel edac_core snd_seq rfkill
      pcspkr serio_raw snd_hda_codec eeprom_93cx6 edac_mce_amd sp5100_tco
      i2c_piix4 k10temp snd_hwdep snd_seq_device snd_pcm floppy r8169 xhci_hcd
      mii snd_timer snd soundcore snd_page_alloc ipv6 firewire_ohci pata_acpi
      ata_generic firewire_core pata_via crc_itu_t radeon ttm drm_kms_helper
      drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]
      [ 9792.654919] Pid: 2762, comm: rm Tainted: G        W   2.6.39+ #1
      [ 9792.654920] Call Trace:
      [ 9792.654922]  [<ffffffff81053c4a>] warn_slowpath_common+0x83/0x9b
      [ 9792.654925]  [<ffffffff81053c7c>] warn_slowpath_null+0x1a/0x1c
      [ 9792.654933]  [<ffffffffa038e747>] btrfs_alloc_free_block+0xca/0x27c [btrfs]
      [ 9792.654945]  [<ffffffffa03b8562>] ? map_extent_buffer+0x6e/0xa8 [btrfs]
      [ 9792.654953]  [<ffffffffa038189b>] __btrfs_cow_block+0xfc/0x30c [btrfs]
      [ 9792.654963]  [<ffffffffa0396aa6>] ? btrfs_buffer_uptodate+0x47/0x58 [btrfs]
      [ 9792.654970]  [<ffffffffa0382e48>] ? read_block_for_search+0x94/0x368 [btrfs]
      [ 9792.654978]  [<ffffffffa0381ba9>] btrfs_cow_block+0xfe/0x146 [btrfs]
      [ 9792.654986]  [<ffffffffa03848b0>] btrfs_search_slot+0x14d/0x4b6 [btrfs]
      [ 9792.654997]  [<ffffffffa03b8562>] ? map_extent_buffer+0x6e/0xa8 [btrfs]
      [ 9792.655022]  [<ffffffffa03938e8>] btrfs_lookup_inode+0x2f/0x8f [btrfs]
      [ 9792.655025]  [<ffffffff8147afac>] ? _cond_resched+0xe/0x22
      [ 9792.655027]  [<ffffffff8147b892>] ? mutex_lock+0x29/0x50
      [ 9792.655039]  [<ffffffffa03d41b1>] btrfs_update_delayed_inode+0x72/0x137 [btrfs]
      [ 9792.655051]  [<ffffffffa03d4ea2>] btrfs_run_delayed_items+0x90/0xdb [btrfs]
      [ 9792.655062]  [<ffffffffa039a69b>] btrfs_commit_transaction+0x228/0x654 [btrfs]
      [ 9792.655064]  [<ffffffff8106e8da>] ? remove_wait_queue+0x3a/0x3a
      [ 9792.655075]  [<ffffffffa03a2fa5>] btrfs_evict_inode+0x14d/0x202 [btrfs]
      [ 9792.655077]  [<ffffffff81132bd6>] evict+0x71/0x111
      [ 9792.655079]  [<ffffffff81132de0>] iput+0x12a/0x132
      [ 9792.655081]  [<ffffffff8112aa3a>] do_unlinkat+0x106/0x155
      [ 9792.655083]  [<ffffffff81127b83>] ? path_put+0x1f/0x23
      [ 9792.655085]  [<ffffffff8109c53c>] ? audit_syscall_entry+0x145/0x171
      [ 9792.655087]  [<ffffffff81128410>] ? putname+0x34/0x36
      [ 9792.655090]  [<ffffffff8112b441>] sys_unlinkat+0x29/0x2b
      [ 9792.655092]  [<ffffffff81482c42>] system_call_fastpath+0x16/0x1b
      [ 9792.655093] ---[ end trace 02b696eb02b3f768 ]---
      
      This patch fix it by setting the reservation of the transaction handle to the
      correct one.
      Reported-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      19fd2949
    • Maarten Lankhorst's avatar
      btrfs: Remove unused sysfs code · 9fe6a50f
      Maarten Lankhorst authored
      Removes code no longer used. The sysfs file itself is kept, because the
      btrfs developers expressed interest in putting new entries to sysfs.
      Signed-off-by: default avatarMaarten Lankhorst <m.b.lankhorst@gmail.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      9fe6a50f
    • David Sterba's avatar
      btrfs: fix dereference of ERR_PTR value · 3ed4498c
      David Sterba authored
      smatch reports:
      
      btrfs_recover_log_trees error: 'wc.replay_dest' dereferencing
      possible ERR_PTR()
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.cz>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      3ed4498c
    • Chris Mason's avatar
      Merge branch 'for-chris' of... · e038dca8
      Chris Mason authored
      Merge branch 'for-chris' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work into for-linus
      
      Conflicts:
      	fs/btrfs/transaction.c
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      e038dca8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 95d17b71
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Fix no NID error with VIA codecs
        ALSA: isight: adjust for new queueing API
        ALSA: 6fire - Fix signedness bug
        ALSA: lola - Fix section mismatch
        ALSA: hda - Fix missing static inline to beep dummy function
        ALSA: 6fire: Fix double-free bug in usb6fire_fw_ezusb_upload()
        ALSA: hda - Fix beep_device compilation warnings
        ALSA: hda - Fix wrong auto-mute type for Acer Aspire-one
        ALSA: emu10k1: Add details for E-mu 0404 PCIe version
        ALSA: hdspm - Add firmware revision ID for RME MADI PCI version
        ALSA: hdspm - Fix jumping external wordclock frequency in AutoSync mode
        ALSA: hdspm - Fix locking in snd_hdspm_midi_input_read
      95d17b71
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 01eff85b
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: make log devices with write back caches work
        xfs: fix ->mknod() return value on xfs_get_acl() failure
      01eff85b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · d9cbf022
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        Revert "HID: magicmouse: ignore 'ivalid report id' while switching modes"
        HID: hid-multitouch: fix broken eGalax
        HID: MAINTAINERS: Update USB HID/HIDBP DRIVERS pattern
        HID: hid-multitouch: add support for Chunghwa multi-touch panel
        HID: hiddev: fix use after free in hiddev_release
        HID: add quirk for HyperPen 10000U
        HID: hiddev: fix potential use-after-free
      d9cbf022
    • Chris Mason's avatar
      Btrfs: fix relocation races · 7585717f
      Chris Mason authored
      The recent commit to get rid of our trans_mutex introduced
      some races with block group relocation.  The problem is that relocation
      needs to do some record keeping about each root, and it was relying
      on the transaction mutex to coordinate things in subtle ways.
      
      This fix adds a mutex just for the relocation code and makes sure
      it doesn't have a big impact on normal operations.  The race is
      really fixed in btrfs_record_root_in_trans, which is where we
      step back and wait for the relocation code to finish accounting
      setup.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      7585717f
    • Linus Torvalds's avatar
      Merge branches 'gpio/merge' and 'spi/merge' of git://git.secretlab.ca/git/linux-2.6 · 08356193
      Linus Torvalds authored
      * 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6:
        gpio: add GPIOF_ values regardless on kconfig settings
        gpio: include linux/gpio.h where needed
        gpio/omap4: Fix missing interrupts during device wakeup due to IOPAD.
      
      * 'spi/merge' of git://git.secretlab.ca/git/linux-2.6:
        spi/bfin_spi: fix handling of default bits per word setting
      08356193
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 · add79446
      Linus Torvalds authored
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
        OMAP1: PM: register notifiers with generic clock ops even when !PM_RUNTIME
        omap: pandora: fix NAND support
        OMAP: PM: omap_device: fix device power domain callbacks
        OMAP: PM debug: fix section mismatch warnings
      add79446
    • David Howells's avatar
      KEYS/DNS: Fix ____call_usermodehelper() to not lose the session keyring · 87966996
      David Howells authored
      ____call_usermodehelper() now erases any credentials set by the
      subprocess_inf::init() function.  The problem is that commit
      17f60a7d ("capabilites: allow the application of capability limits
      to usermode helpers") creates and commits new credentials with
      prepare_kernel_cred() after the call to the init() function.  This wipes
      all keyrings after umh_keys_init() is called.
      
      The best way to deal with this is to put the init() call just prior to
      the commit_creds() call, and pass the cred pointer to init().  That
      means that umh_keys_init() and suchlike can modify the credentials
      _before_ they are published and potentially in use by the rest of the
      system.
      
      This prevents request_key() from working as it is prevented from passing
      the session keyring it set up with the authorisation token to
      /sbin/request-key, and so the latter can't assume the authority to
      instantiate the key.  This causes the in-kernel DNS resolver to fail
      with ENOKEY unconditionally.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarEric Paris <eparis@redhat.com>
      Tested-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      87966996
    • Mike Frysinger's avatar
      spi/bfin_spi: fix handling of default bits per word setting · e479c604
      Mike Frysinger authored
      The default bits per word setting should be 8 bits, but since most of our
      devices have been explicitly setting this up, we didn't notice when the
      default stopped working.
      
      At the moment, any default transfers without an explicit bit size setting
      error out with:
      bfin-spi bfin-spi.0: transfer: unsupported bits_per_word
      
      So in the transfer logic, have a bits_per_word setting of 0 fall into the
      8 bit transfer logic.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      e479c604
    • Takashi Iwai's avatar
      ALSA: hda - Fix no NID error with VIA codecs · ad240941
      Takashi Iwai authored
      The via driver spews warnigs like
      	hda-codec: no NID for mapping control Independent HP:0:0
      with some codecs because snd_hda_add_nid() is called with nid=0.
      This patch fixes it by skipping the call when no corresponding widget
      is found.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ad240941
    • Clemens Ladisch's avatar
      ALSA: isight: adjust for new queueing API · cf6f1ff1
      Clemens Ladisch authored
      Since commit 13882a82 (optimize iso queueing by setting
      wake only after the last packet), drivers are required to call
      fw_iso_context_queue_flush() after queueing a batch of packets.
      The missing call would have an effect only if the controller
      queue underruns, but then the DMA would stop completely.
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cf6f1ff1