31 May, 2019

1 commit

  • Based on 3 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version [author] [kishon] [vijay] [abraham]
    [i] [kishon]@[ti] [com] this program is distributed in the hope that
    it will be useful but without any warranty without even the implied
    warranty of merchantability or fitness for a particular purpose see
    the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version [author] [graeme] [gregory]
    [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i]
    [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema]
    [hk] [hemahk]@[ti] [com] this program is distributed in the hope
    that it will be useful but without any warranty without even the
    implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 1105 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

31 May, 2017

3 commits

  • This is another attempt to work around the VLA used in
    mixer_us16x08.c. Basically the temporary array is used individually
    for two cases, and we can declare locally in each block, instead of
    hackish max() usage.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • A mixer element created in a quirk for Tascam US-16x08 contains a
    typo: it should be "EQ MidLow Q" instead of "EQ MidQLow Q".

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195875
    Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
    Cc: # v4.11+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • This reverts commit 89b593c30e83 ("ALSA: usb-audio: purge needless
    variable length array"). The patch turned out to cause a severe
    regression, triggering an Oops at snd_usb_ctl_msg(). It was overseen
    that snd_usb_ctl_msg() writes back the response to the given buffer,
    while the patch changed it to a read-only const buffer. (One should
    always double-check when an extra pointer cast is present...)

    As a simple fix, just revert the affected commit. It was merely a
    cleanup. Although it brings VLA again, it's clearer as a fix. We'll
    address the VLA later in another patch.

    Fixes: 89b593c30e83 ("ALSA: usb-audio: purge needless variable length array")
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195875
    Cc: # v4.11+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

22 Feb, 2017

3 commits

  • A few more cleanups and improvements that have been overlooked:

    - Use ARRAY_SIZE() macro appropriately
    - Code shuffling for minor optimization
    - Omit superfluous variable initializations
    - Get rid of superfluous NULL checks
    - Add const to snd_us16x08_control_params definitions

    No functional changes.

    Reviewed-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • There are a few places leaking memory and doing double-free in
    mixer_us16x08.c.

    The driver allocates a usb_mixer_elem_info object at each
    add_new_ctl() call. This has to be freed via kctl->private_free, but
    currently this is done properly only for some controls.

    Also, the driver allocates three external objects (comp_store,
    eq_store, meter_store), and these are referred in elem->private_data
    (it's not kctl->private_data). And these have to be released, but
    there are none doing it. Moreover, these extra objects have to be
    released only once. Thus the release should be done only by the first
    kctl element that refers to it.

    For fixing these, we call either snd_usb_mixer_elem_free() (only for
    kctl->private_data) or elem_private_free() (for both
    kctl->private_data and elem->private_data) via kctl->private_free
    appropriately.

    Last but not least, snd_us16x08_controls_create() may return in the
    middle without releasing the allocated *_store objects due to an
    error. For fixing this, we shuffle the allocation code so that it's
    called just before its reference.

    Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
    Reported-by: Takashi Sakamoto
    Reviewed-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Variable length array is used in 'snd_us16x08_meter_get()', while there
    is no need. It's better to purge it because variable length array has
    overhead for stack handling.

    This commit replaces the array with static length. Sparse generated below
    warning.

    sound/usb/mixer_us16x08.c:714:18: warning: Variable length array is used.

    Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

21 Feb, 2017

2 commits

  • When accessed inner a file, functions should have static qualifier for
    local-linkage.

    This commit fixes the bug. Sparse generated below warning.

    sound/usb/mixer_us16x08.c:1043:32: warning: symbol 'snd_us16x08_create_meter_store' was not declared. Should it be static?

    Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • When accessed by one referrer inner a file, variables should have static
    qualifier to declare local-linkage.

    This commit fixes the bug. Sparse generated below warnings.
    sound/usb/mixer_us16x08.c:156:13: warning: duplicate const
    sound/usb/mixer_us16x08.c:156:18: warning: symbol 'route_names' was not declared. Should it be static?

    Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

20 Feb, 2017

1 commit