]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
ALSA: au88x0: use explicitly signed char
authorJason A. Donenfeld <Jason@zx2c4.com>
Mon, 24 Oct 2022 16:29:29 +0000 (18:29 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 28 Nov 2022 14:18:02 +0000 (15:18 +0100)
BugLink: https://bugs.launchpad.net/bugs/1997981
commit ee03c0f200eb0d9f22dd8732d9fb7956d91019c2 upstream.

With char becoming unsigned by default, and with `char` alone being
ambiguous and based on architecture, signed chars need to be marked
explicitly as such. This fixes warnings like:

sound/pci/au88x0/au88x0_core.c:2029 vortex_adb_checkinout() warn: signedness bug returning '(-22)'
sound/pci/au88x0/au88x0_core.c:2046 vortex_adb_checkinout() warn: signedness bug returning '(-12)'
sound/pci/au88x0/au88x0_core.c:2125 vortex_adb_allocroute() warn: 'vortex_adb_checkinout(vortex, (0), en, 0)' is unsigned
sound/pci/au88x0/au88x0_core.c:2170 vortex_adb_allocroute() warn: 'vortex_adb_checkinout(vortex, stream->resources, en, 4)' is unsigned

As well, since one function returns errnos, return an `int` rather than
a `signed char`.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20221024162929.536004-1-Jason@zx2c4.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
sound/pci/au88x0/au88x0.h
sound/pci/au88x0/au88x0_core.c

index 0aa7af049b1b98f690d4cf288b39154b840eb829..6cbb2bc4a0483a952ca8866589f92b5be962c220 100644 (file)
@@ -141,7 +141,7 @@ struct snd_vortex {
 #ifndef CHIP_AU8810
        stream_t dma_wt[NR_WT];
        wt_voice_t wt_voice[NR_WT];     /* WT register cache. */
-       char mixwt[(NR_WT / NR_WTPB) * 6];      /* WT mixin objects */
+       s8 mixwt[(NR_WT / NR_WTPB) * 6];        /* WT mixin objects */
 #endif
 
        /* Global resources */
@@ -235,8 +235,8 @@ static int vortex_alsafmt_aspfmt(snd_pcm_format_t alsafmt, vortex_t *v);
 static void vortex_connect_default(vortex_t * vortex, int en);
 static int vortex_adb_allocroute(vortex_t * vortex, int dma, int nr_ch,
                                 int dir, int type, int subdev);
-static char vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out,
-                                 int restype);
+static int vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out,
+                                int restype);
 #ifndef CHIP_AU8810
 static int vortex_wt_allocroute(vortex_t * vortex, int dma, int nr_ch);
 static void vortex_wt_connect(vortex_t * vortex, int en);
index 2ed5100b8caeac0d5f6a410cad16683002df164d..f217c02dfdfa4afe353479c777c8f41241bb46c8 100644 (file)
@@ -1998,7 +1998,7 @@ static const int resnum[VORTEX_RESOURCE_LAST] =
  out: Mean checkout if != 0. Else mean Checkin resource.
  restype: Indicates type of resource to be checked in or out.
 */
-static char
+static int
 vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out, int restype)
 {
        int i, qty = resnum[restype], resinuse = 0;