12 Jul, 2010

2 commits

  • This moves the lock_kernel() call from soundcore_open
    to the individual OSS device drivers, where we can deal
    with it one driver at a time if needed, or just kill
    off the drivers.

    All core components in ALSA already provide
    adequate locking in their open()-functions
    and do not require the big kernel lock, so
    there is no need to add the BKL there.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Takashi Iwai

    Arnd Bergmann
     
  • As per-stream volume controls, the DXS controls are not intended to
    adjust the overall sound level and so are initialized every time
    a stream is opened. However, there are special situations where one
    wants to reduce the overall volume in the digital domain, i.e., before
    the AC'97 codec's PCM volume control. To allow this, add a module
    parameter that sets the initial DXS volume.

    Signed-off-by: Clemens Ladisch
    Tested-by: Soeren D. Schulze
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

09 Jul, 2010

1 commit

  • It is not advisable to print a warning when a device does not support
    setting the sample rate because this is perfectly valid for devices with
    a single rate or where rates are implicitly changed by selecting another
    alternate setting.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

08 Jul, 2010

1 commit


06 Jul, 2010

7 commits


05 Jul, 2010

1 commit


28 Jun, 2010

3 commits

  • A few boards using this controller are reported to need a little extra
    time during their reset cycle.

    Reported-by: Michael Goeke
    Signed-off-by: Dave Dillow
    Signed-off-by: Jaroslav Kysela

    David Dillow
     
  • When using a timing voice to clock out periods during capture, the
    driver would slowly loose synchronization and never catch up, eventually
    reaching a point where it no longer generated interrupts. To avoid
    this situation, the virtual period clocking was changed to shorten the
    next timing period when our timing voice falls too far behind the
    capture voice. In addition, the first virtual period for the timing
    voice was slightly too short, causing the timing voice to initially be
    ahead of the capture voice.

    While tracking down this problem, I noticed that the expected sample
    offset was being incorrectly initialized, causing an overrun to be
    incorrectly reported when the timing voice happened to be perfectly
    synchronized.

    Reported-by: Hans Schou
    Signed-off-by: Dave Dillow
    Signed-off-by: Jaroslav Kysela

    David Dillow
     
  • When using poll() to wait for the next period -- or avail_min samples --
    one gets a consistent delay for each system call that is usually just a
    little short of the selected period time. However, When using
    snd_pcm_read/write(), one gets a jittery delay that alternates between
    less than a millisecond and approximately two period times. This is
    caused by snd_pcm_lib_{read,write}1() transferring any available samples
    to the user's buffer and adjusting the application pointer prior to
    sleeping to the end of the current period. When the next period
    interrupt occurs, there is then less than avail_min samples remaining to
    be transferred in the period, so we end up sleeping until a second
    period occurs.

    This is solved by using runtime->twake as the number of samples needed
    for a wakeup in addition to selecting the proper wait queue to wake in
    snd_pcm_update_state(). This requires twake to be non-zero when used
    by snd_pcm_lib_{read,write}1() even if avail_min is zero.

    Signed-off-by: Dave Dillow
    Signed-off-by: Jaroslav Kysela

    David Dillow
     

24 Jun, 2010

1 commit


23 Jun, 2010

7 commits


21 Jun, 2010

1 commit

  • Stanse found that in snd_usb_parse_audio_endpoints, there is a
    dangling pointer dereference. When snd_usb_parse_audio_format fails,
    fp is freed, and continue invoked. On the next loop, there is
    "fp && fp->altsetting == 1 && fp->channels == 1" test, but fp is set
    from the last iteration (but is bogus) and thus ilegally dereferenced.

    Set fp to NULL before "continue".

    Signed-off-by: Jiri Slaby
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Jiri Slaby
     

17 Jun, 2010

2 commits


12 Jun, 2010

4 commits


08 Jun, 2010

3 commits


06 Jun, 2010

3 commits

  • Linus Torvalds
     
  • Cursors need to be in the GTT domain when being accessed by the GPU.
    Previously this was a fortuitous byproduct of userspace using pwrite()
    to upload the image data into the cursor. The redundant clflush was
    removed in commit 9b8c4a and so the image was no longer being flushed
    out of the caches into main memory. One could also devise a scenario
    where the cursor was rendered by the GPU, prior to being attached as the
    cursor, resulting in similar corruption due to the missing MI_FLUSH.

    Fixes:

    Bug 28335 - Cursor corruption caused by commit 9b8c4a0b21
    https://bugs.freedesktop.org/show_bug.cgi?id=28335

    Signed-off-by: Chris Wilson
    Reported-and-tested-by: Jeff Chua
    Tested-by: Linus Torvalds
    Reported-by: Andy Isaacson
    Signed-off-by: Linus Torvalds

    Chris Wilson
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: Fix remaining racy updates of EXT4_I(inode)->i_flags
    ext4: Make sure the MOVE_EXT ioctl can't overwrite append-only files

    Linus Torvalds
     

05 Jun, 2010

4 commits

  • A few functions were still modifying i_flags in a racy manner.

    Signed-off-by: Dmitry Monakhov
    Signed-off-by: "Theodore Ts'o"

    Dmitry Monakhov
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    xfs: improve xfs_isilocked
    xfs: skip writeback from reclaim context
    xfs: remove done roadmap item from xfs-delayed-logging-design.txt
    xfs: fix race in inode cluster freeing failing to stale inodes
    xfs: fix access to upper inodes without inode64
    xfs: fix might_sleep() warning when initialising per-ag tree
    fs/xfs/quota: Add missing mutex_unlock
    xfs: remove duplicated #include
    xfs: convert more trace events to DEFINE_EVENT
    xfs: xfs_trace.c: remove duplicated #include
    xfs: Check new inode size is OK before preallocating
    xfs: clean up xlog_align
    xfs: cleanup log reservation calculactions
    xfs: be more explicit if RT mount fails due to config
    xfs: replace E2BIG with EFBIG where appropriate

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    X25: remove duplicated #include
    tcp: use correct net ns in cookie_v4_check()
    rps: tcp: fix rps_sock_flow_table table updates
    ppp_generic: fix multilink fragment sizes
    syncookies: remove Kconfig text line about disabled-by-default
    ixgbe: only check pfc bits in hang logic if pfc is enabled
    net: check for refcount if pop a stacked dst_entry
    ixgbe: return IXGBE_ERR_RAR_INDEX when out of range
    act_pedit: access skb->data safely
    sfc: Store port number in net_device::dev_id
    epic100: Test __BIG_ENDIAN instead of (non-existent) CONFIG_BIG_ENDIAN
    tehuti: return -EFAULT on copy_to_user errors
    isdn/kcapi: return -EFAULT on copy_from_user errors
    e1000e: change logical negate to bitwise
    sfc: Get port number from CS_PORT_NUM, not PCI function number
    cls_u32: use skb_header_pointer() to dereference data safely
    TCP: tcp_hybla: Fix integer overflow in slow start increment
    act_nat: fix the wrong checksum when addr isn't in old_addr/mask
    net/fec: fix pm to survive to suspend/resume
    korina: count RX DMA OVR as rx_fifo_error
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
    nilfs2: remove obsolete declarations of cache constructor and destructor
    nilfs2: fix style issue in nilfs_destroy_cachep

    Linus Torvalds