05 Aug, 2011

1 commit


29 Jul, 2011

3 commits


22 Jul, 2011

1 commit


30 Jun, 2011

1 commit

  • The char can be unsigned on some architectures. Since the code checks
    the negative values, they should be declared as signed char explicitly.

    sound/pci/rme9652/hdspm.c:5449: warning: comparison is always false due to limited range of data type
    sound/pci/rme9652/hdspm.c:5462: warning: comparison is always false due to limited range of data type

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

14 Jun, 2011

1 commit


13 Jun, 2011

3 commits


10 Jun, 2011

2 commits

  • The name argument of request_irq() appears in /proc/interrupts, and
    it's quite ugly when the name entry contains a space or special letters.
    In general, it's simpler and more readable when the module name appears
    there, so let's replace all entries with KBUILD_MODNAME.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The convention for pci_driver.name entry in kernel drivers seem to be
    the module name or equivalent ones. But, so far, almost all PCI sound
    drivers use more verbose name like "ABC Xyz (12)", and these are fairly
    confusing when appearing as a file name.

    This patch converts the all pci_driver.name entries in sound/pci/* to
    use KBUILD_MODNAME for more unified appearance.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

31 Mar, 2011

1 commit


08 Mar, 2011

1 commit


28 Feb, 2011

4 commits

  • Depending on the model and the presence of a TCO module, the number of
    midi ports varies. Some have 1 port (MADIface), some have 2 (default),
    with TCO, there are 3.

    Don't hardcode the number of midi ports to initialize.

    This patch also fixes a boot lockup on MADIface.

    [Coding-style fixes by tiwai]

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Don't continue if we cannot detect the real card type, otherwise, all
    subsequent functions, especially strcpy(), would fail, leaving the whole
    driver in an unusable state.

    Without such a protection, dmesg would look like this:

    Pid: 1525, comm: modprobe Not tainted 2.6.38-rc6 #1 MSI MS-7250/MS-7250
    EIP: 0060:[] EFLAGS: 00010296 CPU: 1
    EIP is at strcpy+0x10/0x30
    EAX: f4d33e58 EBX: f5990800 ECX: f4d33e58 EDX: 00000000
    ESI: 00000000 EDI: f4d33e58 EBP: f5990930 ESP: f3dd3e0c
    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    f53d4204 00000000 f90bfc03 00000001 00000001 f3dd3e64 c10fedff f3dd3e7c
    f3d854e4 f53d4000 c10307b8 00000001 c10307b8 f5990860 c10307b8 00000001
    c10332e5 f59908bc c12f4339 f59908bc f5990860 c11ef207 f4d33e00 f53d4000
    [] ? snd_hdspm_probe+0x7e7/0x1166 [snd_hdspm]
    [] ? __sysfs_add_one+0x1f/0xf0
    [] ? get_parent_ip+0x8/0x20
    [] ? get_parent_ip+0x8/0x20
    [] ? get_parent_ip+0x8/0x20
    [] ? add_preempt_count+0xa5/0xd0
    [] ? _raw_spin_lock_irqsave+0x19/0x40
    [] ? pm_runtime_enable+0x17/0x80
    [] ? local_pci_probe+0x42/0xb0
    [] ? pci_device_probe+0x61/0x80
    [] ? driver_probe_device+0x77/0x180
    [] ? pci_match_device+0xa0/0xc0
    [] ? __driver_attach+0x79/0x80
    [] ? __driver_attach+0x0/0x80
    [] ? bus_for_each_dev+0x52/0x80
    [] ? driver_attach+0x16/0x20
    [] ? __driver_attach+0x0/0x80
    [] ? bus_add_driver+0xa1/0x220
    [] ? pci_device_remove+0x0/0xf0
    [] ? driver_register+0x63/0x120
    [] ? __pci_register_driver+0x3d/0xb0
    [] ? do_one_initcall+0x32/0x160
    [] ? alsa_card_hdspm_init+0x0/0x14 [snd_hdspm]
    [] ? sys_init_module+0x99/0x1e0
    [] ? sys_close+0x6d/0xc0
    [] ? sysenter_do_call+0x12/0x26
    ---[ end trace 239f0661c558378b ]---

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • In contrast to the PCIe version (RME AES), the PCI version (RME AES32)
    has a different firmware revision.

    This patch adds the missing PCI revision.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     

23 Feb, 2011

8 commits

  • Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Original patch by Dan Rosenberg under commit
    e68d3b316ab7b02a074edc4f770e6a746390cb7d. I'm copying his text here:

    The SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO ioctl in hdspm.c allow unprivileged
    users to read uninitialized kernel stack memory, because several fields
    of the hdspm_config struct declared on the stack are not altered
    or zeroed before being copied back to the user. This patch takes care
    of it.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Fredrik Lingvall has discovered wrong
    frequency and sync detection on AES32. According to him, the provided
    patch fixes these issues.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • In contrast to the RME MADI card, coax/optical selection on the MADIface
    is done via a physical switch located at the breakout box. Obviously,
    the driver cannot switch ports in software.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Caused by two typos, no output channel mappings were assigned for
    MADI/MADIface at double/quad speed.

    The channel mapping is indeed identical to the single speed mapping, the
    cards will simply use the first N channels.

    Signed-off-by: Florian Faber
    Signed-off-by: Fredrik Lingvall
    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Without calling an appropriate rule, AES/AES32 cards would announce a
    theoretical channel count of 64 (HDSPM_MAX_CHANNELS), leading to the
    already known bug:

    [37422.640481] ------------[ cut here ]------------
    [37422.640487] WARNING: at sound/pci/rme9652/hdspm.c:5449
    snd_hdspm_ioctl+0x18f/0x202 [snd_hdspm]()
    [37422.640489] Hardware name: PRIMERGY RX100 S6
    [37422.640490] BUG? (info->channel >= hdspm->max_channels_in)
    [37422.640492] Modules linked in: snd_hdspm snd_seq_midi ipmi_watchdog
    ipmi_poweroff ipmi_si ipmi_devintf ipmi_msghandler i2c_i801 e1000e
    snd_rawmidi power_meter [last unloaded: snd_hdspm]
    [37422.640501] Pid: 22231, comm: jackd Tainted: G D W
    2.6.36-gentoo-r5 #5
    [37422.640502] Call Trace:
    [37422.640508] [] warn_slowpath_common+0x80/0x98
    [37422.640511] [] warn_slowpath_fmt+0x41/0x43
    [37422.640514] [] ? get_parent_ip+0x11/0x42
    [37422.640518] [] snd_hdspm_ioctl+0x18f/0x202
    [snd_hdspm]
    [37422.640522] [] snd_pcm_channel_info+0x73/0x7c
    [37422.640525] [] snd_pcm_common_ioctl1+0x326/0xb01
    [37422.640527] [] ? get_parent_ip+0x11/0x42
    [37422.640531] [] ? __srcu_read_unlock+0x3b/0x59
    [37422.640533] [] snd_pcm_capture_ioctl1+0x20a/0x227
    [37422.640537] [] ? file_has_perm+0x90/0x9e
    [37422.640540] [] snd_pcm_capture_ioctl+0x2a/0x2e
    [37422.640543] [] do_vfs_ioctl+0x404/0x453
    [37422.640546] [] sys_ioctl+0x51/0x74
    [37422.640549] [] system_call_fastpath+0x16/0x1b
    [37422.640552] ---[ end trace 0cd919cd68118082 ]---

    We already have all the right values in place, we simply have to inform
    the upper layers about this restriction.

    Note that snd_hdspm_hw_rule_rate_out_channels and
    snd_hdspm_hw_rule_rate_in_channels must not be called on AES32, because
    the channel count is always 16, no matter of the samplerate in use.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • Only RayDAT and AIO provide sane buffer pointers that can be used with
    HDSPM_BufferPositionMask, on all other cards, this would result in a
    wrong HW pointer leading to xruns and these messages:

    [260808.916788] BUG: pcmC0D0p:0, pos = 2976, buffer size = 1024, period size = 512
    [260808.961124] BUG: pcmC0D0c:0, pos = 4944, buffer size = 1024, period size = 512

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • On RME AES and AES(32), none of the required information
    (max_channels_in, max_channels_out, channel mappings, port names) was
    set, leading to the BUG below.

    This patch adds the missing bits, thus fixing the bug.

    125.058768] ------------[ cut here ]------------
    [ 125.058773] WARNING: at sound/pci/rme9652/hdspm.c:5389
    snd_hdspm_ioctl+0x10c/0x1d8 [snd_hdspm]()
    [ 125.058775] Hardware name: PRIMERGY RX100 S6
    [ 125.058777] BUG? (info->channel >= hdspm->max_channels_out)
    [ 125.058778] Modules linked in: ipmi_watchdog ipmi_poweroff ipmi_si
    ipmi_devintf ipmi_msghandler snd_hdspm power_meter e1000e snd_rawmidi
    i2c_i801
    [ 125.058787] Pid: 3652, comm: audacity Tainted: G W
    2.6.36-gentoo-r5 #5
    [ 125.058788] Call Trace:
    [ 125.058792] [] warn_slowpath_common+0x80/0x98
    [ 125.058796] [] warn_slowpath_fmt+0x41/0x43
    [ 125.058800] [] snd_hdspm_ioctl+0x10c/0x1d8
    [snd_hdspm]
    [ 125.058803] [] snd_pcm_channel_info+0x73/0x7c
    [ 125.058806] [] snd_pcm_common_ioctl1+0x326/0xb01
    [ 125.058809] [] ? __do_fault+0x361/0x3a6
    [ 125.058812] [] snd_pcm_playback_ioctl1+0x20a/0x227
    [ 125.058815] [] ? file_has_perm+0x90/0x9e
    [ 125.058818] [] snd_pcm_playback_ioctl+0x2a/0x2e
    [ 125.058821] [] do_vfs_ioctl+0x404/0x453
    [ 125.058824] [] sys_ioctl+0x51/0x74
    [ 125.058827] [] system_call_fastpath+0x16/0x1b
    [ 125.058830] ---[ end trace 5bddb08e5d4cbeb1 ]---

    Signed-off-by: Adrian Knoth
    Signed-off-by: Florian Faber
    Signed-off-by: Fredrik Lingvall
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     

27 Jan, 2011

3 commits


14 Jan, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (348 commits)
    ALSA: hda - Fix NULL-derefence with a single mic in STAC auto-mic detection
    ALSA: hda - Add missing NID 0x19 fixup for Sony VAIO
    ALSA: hda - Fix ALC275 enable hardware EQ for SONY VAIO
    ALSA: oxygen: fix Xonar DG input
    ALSA: hda - Fix EAPD on Lenovo NB ALC269 to low
    ALSA: hda - Fix missing EAPD for Acer 4930G
    ALSA: hda: Disable 4/6 channels on some NVIDIA GPUs.
    ALSA: hda - Add static_hdmi_pcm option to HDMI codec parser
    ALSA: hda - Don't refer ELD when unplugged
    ASoC: tpa6130a2: Fix compiler warning
    ASoC: tlv320dac33: Add DAPM selection for LOM invert
    ASoC: DMIC codec: Adding a generic DMIC codec
    ALSA: snd-usb-us122l: Fix missing NULL checks
    ALSA: snd-usb-us122l: Fix MIDI output
    ASoC: soc-cache: Fix invalid memory access during snd_soc_lzo_cache_sync()
    ASoC: Fix section mismatch in wm8995.c
    ALSA: oxygen: add S/PDIF source selection for Claro cards
    ALSA: oxygen: fix CD/MIDI for X-Meridian (2G)
    ASoC: fix migor audio build
    ALSA: include delay.h for msleep in Xonar DG support
    ...

    Linus Torvalds
     

01 Dec, 2010

1 commit


02 Nov, 2010

1 commit

  • "gadget", "through", "command", "maintain", "maintain", "controller", "address",
    "between", "initiali[zs]e", "instead", "function", "select", "already",
    "equal", "access", "management", "hierarchy", "registration", "interest",
    "relative", "memory", "offset", "already",

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Jiri Kosina

    Uwe Kleine-König
     

11 Oct, 2010

1 commit


25 Sep, 2010

1 commit

  • The SNDRV_HDSP_IOCTL_GET_CONFIG_INFO and
    SNDRV_HDSP_IOCTL_GET_CONFIG_INFO ioctls in hdspm.c and hdsp.c allow
    unprivileged users to read uninitialized kernel stack memory, because
    several fields of the hdsp{m}_config_info structs declared on the stack
    are not altered or zeroed before being copied back to the user. This
    patch takes care of it.

    Signed-off-by: Dan Rosenberg
    Cc:
    Signed-off-by: Takashi Iwai

    Dan Rosenberg
     

07 Sep, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

08 Mar, 2010

1 commit


09 Feb, 2010

2 commits

  • In particular, several occurances of funny versions of 'success',
    'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address',
    'beginning', 'desirable', 'separate' and 'necessary' are fixed.

    Signed-off-by: Daniel Mack
    Cc: Joe Perches
    Cc: Junio C Hamano
    Signed-off-by: Jiri Kosina

    Daniel Mack
     
  • Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to
    .devinit.rodata section, so they can be discarded in some cases,
    and make them const.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Takashi Iwai

    Alexey Dobriyan
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa