sound/soc/uniphier/aio-compress.c:304:34: sparse: sparse: cast to restricted __be16

From: kernel test robot

Date: Thu Dec 11 2025 - 19:02:57 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d358e5254674b70f34c847715ca509e46eb81e6f
commit: ac131c4148bcfa682104628d2174e8e38e03fd25 ASoC: uniphier: Standardize ASoC menu
date: 6 months ago
config: alpha-randconfig-r121-20251212 (https://download.01.org/0day-ci/archive/20251212/202512120701.wWXYuhkv-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251212/202512120701.wWXYuhkv-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512120701.wWXYuhkv-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> sound/soc/uniphier/aio-compress.c:304:34: sparse: sparse: cast to restricted __be16
>> sound/soc/uniphier/aio-compress.c:304:34: sparse: sparse: cast to restricted __be16
>> sound/soc/uniphier/aio-compress.c:304:34: sparse: sparse: cast to restricted __be16
>> sound/soc/uniphier/aio-compress.c:304:34: sparse: sparse: cast to restricted __be16

vim +304 sound/soc/uniphier/aio-compress.c

e98131222ff931 Katsuhiro Suzuki 2018-01-19 280
e98131222ff931 Katsuhiro Suzuki 2018-01-19 281 static int aio_compr_send_to_hw(struct uniphier_aio_sub *sub,
e98131222ff931 Katsuhiro Suzuki 2018-01-19 282 char __user *buf, size_t dstsize)
e98131222ff931 Katsuhiro Suzuki 2018-01-19 283 {
e98131222ff931 Katsuhiro Suzuki 2018-01-19 284 u32 __user *srcbuf = (u32 __user *)buf;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 285 u32 *dstbuf = (u32 *)(sub->compr_area + sub->wr_offs);
e98131222ff931 Katsuhiro Suzuki 2018-01-19 286 int src = 0, dst = 0, ret;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 287 u32 frm, frm_a, frm_b;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 288
e98131222ff931 Katsuhiro Suzuki 2018-01-19 289 while (dstsize > 0) {
e98131222ff931 Katsuhiro Suzuki 2018-01-19 290 ret = get_user(frm, srcbuf + src);
e98131222ff931 Katsuhiro Suzuki 2018-01-19 291 if (ret)
e98131222ff931 Katsuhiro Suzuki 2018-01-19 292 return ret;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 293 src++;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 294
e98131222ff931 Katsuhiro Suzuki 2018-01-19 295 frm_a = frm & 0xffff;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 296 frm_b = (frm >> 16) & 0xffff;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 297
e98131222ff931 Katsuhiro Suzuki 2018-01-19 298 if (frm == IEC61937_HEADER_SIGN) {
e98131222ff931 Katsuhiro Suzuki 2018-01-19 299 frm_a |= 0x01000000;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 300
e98131222ff931 Katsuhiro Suzuki 2018-01-19 301 /* Next data is Pc and Pd */
e98131222ff931 Katsuhiro Suzuki 2018-01-19 302 sub->iec_header = true;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 303 } else {
e98131222ff931 Katsuhiro Suzuki 2018-01-19 @304 u16 pc = be16_to_cpu((__be16)frm_a);
e98131222ff931 Katsuhiro Suzuki 2018-01-19 305
e98131222ff931 Katsuhiro Suzuki 2018-01-19 306 if (sub->iec_header && sub->iec_pc != pc) {
e98131222ff931 Katsuhiro Suzuki 2018-01-19 307 /* Force overwrite IEC frame type */
e98131222ff931 Katsuhiro Suzuki 2018-01-19 308 sub->iec_pc = pc;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 309 ret = aio_oport_set_stream_type(sub, pc);
e98131222ff931 Katsuhiro Suzuki 2018-01-19 310 if (ret)
e98131222ff931 Katsuhiro Suzuki 2018-01-19 311 return ret;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 312 }
e98131222ff931 Katsuhiro Suzuki 2018-01-19 313 sub->iec_header = false;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 314 }
e98131222ff931 Katsuhiro Suzuki 2018-01-19 315 dstbuf[dst++] = frm_a;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 316 dstbuf[dst++] = frm_b;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 317
e98131222ff931 Katsuhiro Suzuki 2018-01-19 318 dstsize -= sizeof(u32) * 2;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 319 }
e98131222ff931 Katsuhiro Suzuki 2018-01-19 320
e98131222ff931 Katsuhiro Suzuki 2018-01-19 321 return 0;
e98131222ff931 Katsuhiro Suzuki 2018-01-19 322 }
e98131222ff931 Katsuhiro Suzuki 2018-01-19 323

:::::: The code at line 304 was first introduced by commit
:::::: e98131222ff931a670739cede00d1fb9d6f83763 ASoC: uniphier: add support for UniPhier AIO compress audio

:::::: TO: Katsuhiro Suzuki <suzuki.katsuhiro@xxxxxxxxxxxxx>
:::::: CC: Mark Brown <broonie@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki