tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
pending-5.4
head: 2f06062940cf83ed6c2aeeb9e0c5138f08b486a9
commit: 24a003df7ae2c314aa4c9b4f1be8d4032a5e3036 [12/75] ASoC: SOF: Intel: hda-dai: fix
potential locking issue
config: parisc-randconfig-r036-20211122 (attached as .config)
compiler: hppa-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.4
git checkout 24a003df7ae2c314aa4c9b4f1be8d4032a5e3036
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/mm.h:99,
from include/sound/pcm.h:15,
from include/sound/pcm_params.h:10,
from sound/soc/sof/intel/hda-dai.c:11:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:23: warning: variable 'old_pte' set but
not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro
'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:9: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:23: warning: variable 'old_pte' set but
not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:9: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
sound/soc/sof/intel/hda-dai.c: In function 'hda_link_stream_assign':
> sound/soc/sof/intel/hda-dai.c:110:25: error: implicit declaration
of function 'snd_hdac_ext_stream_decouple_locked'; did you mean
'snd_hdac_ext_stream_decouple'? [-Werror=implicit-function-declaration]
110 | snd_hdac_ext_stream_decouple_locked(bus, res, true);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| snd_hdac_ext_stream_decouple
cc1: some warnings being treated as errors
vim +110 sound/soc/sof/intel/hda-dai.c
53
54 static struct hdac_ext_stream *
55 hda_link_stream_assign(struct hdac_bus *bus,
56 struct snd_pcm_substream *substream)
57 {
58 struct snd_soc_pcm_runtime *rtd = substream->private_data;
59 struct sof_intel_hda_stream *hda_stream;
60 struct hdac_ext_stream *res = NULL;
61 struct hdac_stream *stream = NULL;
62
63 int stream_dir = substream->stream;
64
65 if (!bus->ppcap) {
66 dev_err(bus->dev, "stream type not supported\n");
67 return NULL;
68 }
69
70 spin_lock_irq(&bus->reg_lock);
71 list_for_each_entry(stream, &bus->stream_list, list) {
72 struct hdac_ext_stream *hstream =
73 stream_to_hdac_ext_stream(stream);
74 if (stream->direction != substream->stream)
75 continue;
76
77 hda_stream = hstream_to_sof_hda_stream(hstream);
78
79 /* check if link is available */
80 if (!hstream->link_locked) {
81 if (stream->opened) {
82 /*
83 * check if the stream tag matches the stream
84 * tag of one of the connected FEs
85 */
86 if (hda_check_fes(rtd, stream_dir,
87 stream->stream_tag)) {
88 res = hstream;
89 break;
90 }
91 } else {
92 res = hstream;
93
94 /*
95 * This must be a hostless stream.
96 * So reserve the host DMA channel.
97 */
98 hda_stream->host_reserved = 1;
99 break;
100 }
101 }
102 }
103
104 if (res) {
105 /*
106 * Decouple host and link DMA. The decoupled flag
107 * is updated in snd_hdac_ext_stream_decouple().
108 */
109 if (!res->decoupled)
110 snd_hdac_ext_stream_decouple_locked(bus, res, true);
111
112 res->link_locked = 1;
113 res->link_substream = substream;
114 }
115 spin_unlock_irq(&bus->reg_lock);
116
117 return res;
118 }
119
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org