All of lore.kernel.org
 help / color / mirror / Atom feed
* sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457]
@ 2022-08-11  2:50 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-08-11  2:50 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 11096 bytes --]

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check first_new_problem: sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Trevor Wu <trevor.wu@mediatek.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   aeb6e6ac18c73ec287b3b1e2c913520699358c13
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date:   12 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220810 (https://download.01.org/0day-ci/archive/20220811/202208111018.K4KqJee1-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6746cc858259985a945a07075a19ec4d24352407
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

gcc-analyzer warnings: (new ones prefixed by >>)
   sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_read_from_bt':
>> sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
     365 |         int pv;
         |             ^~
     'mtk_btcvsd_snd_irq_handler': events 1-12
       |
       |  481 | static irqreturn_t mtk_btcvsd_snd_irq_handler(int irq_id, void *dev)
       |      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                    |
       |      |                    (1) entry to 'mtk_btcvsd_snd_irq_handler'
       |......
       |  500 |         if (((control >> 31) & 1) == 0) {
       |      |            ~        
       |      |            |
       |      |            (2) following 'false' branch...
       |......
       |  506 |         if (packet_type >= BT_SCO_CVSD_MAX) {
       |      |            ~        
       |      |            |
       |      |            (3) ...to here
       |      |            (4) following 'false' branch (when 'packet_type <= 5')...
       |......
       |  512 |         packet_length = btsco_packet_info[packet_type][0];
       |      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                       |
       |      |                       (5) ...to here
       |......
       |  553 |         if (bt->rx->state == BT_SCO_STATE_RUNNING ||
       |      |            ~        
       |      |            |
       |      |            (6) following 'true' branch...
       |  554 |             bt->rx->state == BT_SCO_STATE_ENDING) {
       |  555 |                 if (bt->rx->xrun) {
       |      |                     ~~
       |      |                     |
       |      |                     (7) ...to here
       |......
       |  568 |                 if (!bt->rx->xrun &&
       |      |                    ~~~~~~~~~~~~~~~~~
       |      |                    |              |
       |      |                    |              (10) following 'true' branch...
       |      |                    (8) following 'true' branch...
       |  569 |                     (bt->rx->packet_w - bt->rx->packet_r <=
       |      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                            |
       |      |                            (9) ...to here
       |  570 |                      SCO_RX_PACKER_BUF_NUM - buf_cnt_rx)) {
       |      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |  571 |                         mtk_btcvsd_read_from_bt(bt,
       |      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                         |
       |      |                         (11) ...to here
       |      |                         (12) calling 'mtk_btcvsd_read_from_bt' from 'mtk_btcvsd_snd_irq_handler'
       |  572 |                                                 packet_type,
       |      |                                                 ~~~~~~~~~~~~
       |  573 |                                                 packet_length,
       |      |                                                 ~~~~~~~~~~~~~~
       |  574 |                                                 packet_num,
       |      |                                                 ~~~~~~~~~~~
       |  575 |                                                 buf_cnt_rx,
       |      |                                                 ~~~~~~~~~~~
       |  576 |                                                 control);
       |      |                                                 ~~~~~~~~
       |
       +--> 'mtk_btcvsd_read_from_bt': events 13-14
              |
              |  357 | static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
              |      |            ^~~~~~~~~~~~~~~~~~~~~~~
              |      |            |
              |      |            (13) entry to 'mtk_btcvsd_read_from_bt'
              |......
              |  365 |         int pv;
              |      |             ~~
              |      |             |
              |      |             (14) use of uninitialized value '<unknown>' here
              |
--
   sound/soc/mediatek/mt8195/mt8195-dai-etdm.c: In function 'mt8195_dai_etdm_parse_of':
>> sound/soc/mediatek/mt8195/mt8195-dai-etdm.c:2499:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
    2499 |         u32 sel;
         |             ^~~
     'mt8195_dai_etdm_parse_of': event 1
       |
       | 2499 |         u32 sel;
       |      |             ^~~
       |      |             |
       |      |             (1) use of uninitialized value '<unknown>' here
       |

vim +365 sound/soc/mediatek/common/mtk-btcvsd.c

4bd8597dc36c37 KaiChieh Chuang 2019-01-30  356  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  357  static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  358  				   enum bt_sco_packet_len packet_type,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  359  				   unsigned int packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  360  				   unsigned int packet_num,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  361  				   unsigned int blk_size,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  362  				   unsigned int control)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  363  {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  364  	unsigned int i;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @365  	int pv;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  366  	u8 *src;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  367  	unsigned int packet_buf_ofs;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  368  	unsigned long flags;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  369  	unsigned long connsys_addr_rx, ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  370  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  371  	connsys_addr_rx = *bt->bt_reg_pkt_r;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  372  	ap_addr_rx = (unsigned long)bt->bt_sram_bank2_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  373  		     (connsys_addr_rx & 0xFFFF);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  374  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  375  	if (connsys_addr_rx == 0xdeadfeed) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  376  		/* bt return 0xdeadfeed if read register during bt sleep */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  377  		dev_warn(bt->dev, "%s(), connsys_addr_rx == 0xdeadfeed",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  378  			 __func__);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  379  		return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  380  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  381  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  382  	src = (u8 *)ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  383  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  384  	mtk_btcvsd_snd_data_transfer(BT_SCO_DIRECT_BT2ARM, src,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  385  				     bt->rx->temp_packet_buf, packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  386  				     packet_num);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  387  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  388  	spin_lock_irqsave(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  389  	for (i = 0; i < blk_size; i++) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  390  		packet_buf_ofs = (bt->rx->packet_w & SCO_RX_PACKET_MASK) *
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  391  				 bt->rx->packet_size;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  392  		memcpy(bt->rx_packet_buf + packet_buf_ofs,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  393  		       bt->rx->temp_packet_buf + (SCO_RX_PLC_SIZE * i),
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  394  		       SCO_RX_PLC_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  395  		if ((control & btsco_packet_valid_mask[packet_type][i]) ==
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  396  		    btsco_packet_valid_mask[packet_type][i])
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  397  			pv = 1;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  398  		else
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  399  			pv = 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  400  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  401  		packet_buf_ofs += SCO_RX_PLC_SIZE;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  402  		memcpy(bt->rx_packet_buf + packet_buf_ofs, (void *)&pv,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  403  		       SCO_CVSD_PACKET_VALID_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  404  		bt->rx->packet_w++;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  405  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  406  	spin_unlock_irqrestore(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  407  	return 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  408  }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  409  

:::::: The code at line 365 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver

:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457]
@ 2022-08-13 11:24 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-08-13 11:24 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 11097 bytes --]

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check first_new_problem: sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Trevor Wu <trevor.wu@mediatek.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   69dac8e431af26173ca0a1ebc87054e01c585bcc
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date:   12 months ago
:::::: branch date: 10 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220810 (https://download.01.org/0day-ci/archive/20220813/202208131910.ZFw3TPxZ-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6746cc858259985a945a07075a19ec4d24352407
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

gcc-analyzer warnings: (new ones prefixed by >>)
   sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_read_from_bt':
>> sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
     365 |         int pv;
         |             ^~
     'mtk_btcvsd_snd_irq_handler': events 1-12
       |
       |  481 | static irqreturn_t mtk_btcvsd_snd_irq_handler(int irq_id, void *dev)
       |      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                    |
       |      |                    (1) entry to 'mtk_btcvsd_snd_irq_handler'
       |......
       |  500 |         if (((control >> 31) & 1) == 0) {
       |      |            ~        
       |      |            |
       |      |            (2) following 'false' branch...
       |......
       |  506 |         if (packet_type >= BT_SCO_CVSD_MAX) {
       |      |            ~        
       |      |            |
       |      |            (3) ...to here
       |      |            (4) following 'false' branch (when 'packet_type <= 5')...
       |......
       |  512 |         packet_length = btsco_packet_info[packet_type][0];
       |      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                       |
       |      |                       (5) ...to here
       |......
       |  553 |         if (bt->rx->state == BT_SCO_STATE_RUNNING ||
       |      |            ~        
       |      |            |
       |      |            (6) following 'true' branch...
       |  554 |             bt->rx->state == BT_SCO_STATE_ENDING) {
       |  555 |                 if (bt->rx->xrun) {
       |      |                     ~~
       |      |                     |
       |      |                     (7) ...to here
       |......
       |  568 |                 if (!bt->rx->xrun &&
       |      |                    ~~~~~~~~~~~~~~~~~
       |      |                    |              |
       |      |                    |              (10) following 'true' branch...
       |      |                    (8) following 'true' branch...
       |  569 |                     (bt->rx->packet_w - bt->rx->packet_r <=
       |      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                            |
       |      |                            (9) ...to here
       |  570 |                      SCO_RX_PACKER_BUF_NUM - buf_cnt_rx)) {
       |      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |  571 |                         mtk_btcvsd_read_from_bt(bt,
       |      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                         |
       |      |                         (11) ...to here
       |      |                         (12) calling 'mtk_btcvsd_read_from_bt' from 'mtk_btcvsd_snd_irq_handler'
       |  572 |                                                 packet_type,
       |      |                                                 ~~~~~~~~~~~~
       |  573 |                                                 packet_length,
       |      |                                                 ~~~~~~~~~~~~~~
       |  574 |                                                 packet_num,
       |      |                                                 ~~~~~~~~~~~
       |  575 |                                                 buf_cnt_rx,
       |      |                                                 ~~~~~~~~~~~
       |  576 |                                                 control);
       |      |                                                 ~~~~~~~~
       |
       +--> 'mtk_btcvsd_read_from_bt': events 13-14
              |
              |  357 | static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
              |      |            ^~~~~~~~~~~~~~~~~~~~~~~
              |      |            |
              |      |            (13) entry to 'mtk_btcvsd_read_from_bt'
              |......
              |  365 |         int pv;
              |      |             ~~
              |      |             |
              |      |             (14) use of uninitialized value '<unknown>' here
              |
--
   sound/soc/mediatek/mt8195/mt8195-dai-etdm.c: In function 'mt8195_dai_etdm_parse_of':
>> sound/soc/mediatek/mt8195/mt8195-dai-etdm.c:2499:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
    2499 |         u32 sel;
         |             ^~~
     'mt8195_dai_etdm_parse_of': event 1
       |
       | 2499 |         u32 sel;
       |      |             ^~~
       |      |             |
       |      |             (1) use of uninitialized value '<unknown>' here
       |

vim +365 sound/soc/mediatek/common/mtk-btcvsd.c

4bd8597dc36c37 KaiChieh Chuang 2019-01-30  356  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  357  static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  358  				   enum bt_sco_packet_len packet_type,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  359  				   unsigned int packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  360  				   unsigned int packet_num,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  361  				   unsigned int blk_size,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  362  				   unsigned int control)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  363  {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  364  	unsigned int i;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @365  	int pv;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  366  	u8 *src;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  367  	unsigned int packet_buf_ofs;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  368  	unsigned long flags;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  369  	unsigned long connsys_addr_rx, ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  370  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  371  	connsys_addr_rx = *bt->bt_reg_pkt_r;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  372  	ap_addr_rx = (unsigned long)bt->bt_sram_bank2_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  373  		     (connsys_addr_rx & 0xFFFF);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  374  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  375  	if (connsys_addr_rx == 0xdeadfeed) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  376  		/* bt return 0xdeadfeed if read register during bt sleep */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  377  		dev_warn(bt->dev, "%s(), connsys_addr_rx == 0xdeadfeed",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  378  			 __func__);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  379  		return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  380  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  381  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  382  	src = (u8 *)ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  383  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  384  	mtk_btcvsd_snd_data_transfer(BT_SCO_DIRECT_BT2ARM, src,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  385  				     bt->rx->temp_packet_buf, packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  386  				     packet_num);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  387  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  388  	spin_lock_irqsave(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  389  	for (i = 0; i < blk_size; i++) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  390  		packet_buf_ofs = (bt->rx->packet_w & SCO_RX_PACKET_MASK) *
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  391  				 bt->rx->packet_size;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  392  		memcpy(bt->rx_packet_buf + packet_buf_ofs,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  393  		       bt->rx->temp_packet_buf + (SCO_RX_PLC_SIZE * i),
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  394  		       SCO_RX_PLC_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  395  		if ((control & btsco_packet_valid_mask[packet_type][i]) ==
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  396  		    btsco_packet_valid_mask[packet_type][i])
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  397  			pv = 1;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  398  		else
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  399  			pv = 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  400  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  401  		packet_buf_ofs += SCO_RX_PLC_SIZE;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  402  		memcpy(bt->rx_packet_buf + packet_buf_ofs, (void *)&pv,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  403  		       SCO_CVSD_PACKET_VALID_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  404  		bt->rx->packet_w++;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  405  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  406  	spin_unlock_irqrestore(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  407  	return 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  408  }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  409  

:::::: The code at line 365 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver

:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457]
@ 2022-08-13  5:01 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-08-13  5:01 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 10554 bytes --]

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check first_new_problem: sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Trevor Wu <trevor.wu@mediatek.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   69dac8e431af26173ca0a1ebc87054e01c585bcc
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date:   12 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220810 (https://download.01.org/0day-ci/archive/20220813/202208131223.IgMqUWZm-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6746cc858259985a945a07075a19ec4d24352407
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

gcc-analyzer warnings: (new ones prefixed by >>)
   sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_read_from_bt':
>> sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
     365 |         int pv;
         |             ^~
     'mtk_btcvsd_snd_irq_handler': events 1-12
       |
       |  481 | static irqreturn_t mtk_btcvsd_snd_irq_handler(int irq_id, void *dev)
       |      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                    |
       |      |                    (1) entry to 'mtk_btcvsd_snd_irq_handler'
       |......
       |  500 |         if (((control >> 31) & 1) == 0) {
       |      |            ~        
       |      |            |
       |      |            (2) following 'false' branch...
       |......
       |  506 |         if (packet_type >= BT_SCO_CVSD_MAX) {
       |      |            ~        
       |      |            |
       |      |            (3) ...to here
       |      |            (4) following 'false' branch (when 'packet_type <= 5')...
       |......
       |  512 |         packet_length = btsco_packet_info[packet_type][0];
       |      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                       |
       |      |                       (5) ...to here
       |......
       |  553 |         if (bt->rx->state == BT_SCO_STATE_RUNNING ||
       |      |            ~        
       |      |            |
       |      |            (6) following 'true' branch...
       |  554 |             bt->rx->state == BT_SCO_STATE_ENDING) {
       |  555 |                 if (bt->rx->xrun) {
       |      |                     ~~
       |      |                     |
       |      |                     (7) ...to here
       |......
       |  568 |                 if (!bt->rx->xrun &&
       |      |                    ~~~~~~~~~~~~~~~~~
       |      |                    |              |
       |      |                    |              (10) following 'true' branch...
       |      |                    (8) following 'true' branch...
       |  569 |                     (bt->rx->packet_w - bt->rx->packet_r <=
       |      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                            |
       |      |                            (9) ...to here
       |  570 |                      SCO_RX_PACKER_BUF_NUM - buf_cnt_rx)) {
       |      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |  571 |                         mtk_btcvsd_read_from_bt(bt,
       |      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                         |
       |      |                         (11) ...to here
       |      |                         (12) calling 'mtk_btcvsd_read_from_bt' from 'mtk_btcvsd_snd_irq_handler'
       |  572 |                                                 packet_type,
       |      |                                                 ~~~~~~~~~~~~
       |  573 |                                                 packet_length,
       |      |                                                 ~~~~~~~~~~~~~~
       |  574 |                                                 packet_num,
       |      |                                                 ~~~~~~~~~~~
       |  575 |                                                 buf_cnt_rx,
       |      |                                                 ~~~~~~~~~~~
       |  576 |                                                 control);
       |      |                                                 ~~~~~~~~
       |
       +--> 'mtk_btcvsd_read_from_bt': events 13-14
              |
              |  357 | static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
              |      |            ^~~~~~~~~~~~~~~~~~~~~~~
              |      |            |
              |      |            (13) entry to 'mtk_btcvsd_read_from_bt'
              |......
              |  365 |         int pv;
              |      |             ~~
              |      |             |
              |      |             (14) use of uninitialized value '<unknown>' here
              |

vim +365 sound/soc/mediatek/common/mtk-btcvsd.c

4bd8597dc36c37 KaiChieh Chuang 2019-01-30  356  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  357  static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  358  				   enum bt_sco_packet_len packet_type,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  359  				   unsigned int packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  360  				   unsigned int packet_num,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  361  				   unsigned int blk_size,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  362  				   unsigned int control)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  363  {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  364  	unsigned int i;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @365  	int pv;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  366  	u8 *src;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  367  	unsigned int packet_buf_ofs;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  368  	unsigned long flags;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  369  	unsigned long connsys_addr_rx, ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  370  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  371  	connsys_addr_rx = *bt->bt_reg_pkt_r;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  372  	ap_addr_rx = (unsigned long)bt->bt_sram_bank2_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  373  		     (connsys_addr_rx & 0xFFFF);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  374  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  375  	if (connsys_addr_rx == 0xdeadfeed) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  376  		/* bt return 0xdeadfeed if read register during bt sleep */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  377  		dev_warn(bt->dev, "%s(), connsys_addr_rx == 0xdeadfeed",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  378  			 __func__);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  379  		return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  380  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  381  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  382  	src = (u8 *)ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  383  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  384  	mtk_btcvsd_snd_data_transfer(BT_SCO_DIRECT_BT2ARM, src,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  385  				     bt->rx->temp_packet_buf, packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  386  				     packet_num);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  387  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  388  	spin_lock_irqsave(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  389  	for (i = 0; i < blk_size; i++) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  390  		packet_buf_ofs = (bt->rx->packet_w & SCO_RX_PACKET_MASK) *
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  391  				 bt->rx->packet_size;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  392  		memcpy(bt->rx_packet_buf + packet_buf_ofs,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  393  		       bt->rx->temp_packet_buf + (SCO_RX_PLC_SIZE * i),
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  394  		       SCO_RX_PLC_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  395  		if ((control & btsco_packet_valid_mask[packet_type][i]) ==
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  396  		    btsco_packet_valid_mask[packet_type][i])
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  397  			pv = 1;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  398  		else
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  399  			pv = 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  400  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  401  		packet_buf_ofs += SCO_RX_PLC_SIZE;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  402  		memcpy(bt->rx_packet_buf + packet_buf_ofs, (void *)&pv,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  403  		       SCO_CVSD_PACKET_VALID_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  404  		bt->rx->packet_w++;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  405  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  406  	spin_unlock_irqrestore(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  407  	return 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  408  }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  409  

:::::: The code at line 365 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver

:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457]
@ 2022-08-12  7:10 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-08-12  7:10 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 11097 bytes --]

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check first_new_problem: sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Trevor Wu <trevor.wu@mediatek.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7ebfc85e2cd7b08f518b526173e9a33b56b3913b
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date:   12 months ago
:::::: branch date: 10 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220810 (https://download.01.org/0day-ci/archive/20220812/202208121528.1WZu5vhr-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6746cc858259985a945a07075a19ec4d24352407
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

gcc-analyzer warnings: (new ones prefixed by >>)
   sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_read_from_bt':
>> sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
     365 |         int pv;
         |             ^~
     'mtk_btcvsd_snd_irq_handler': events 1-12
       |
       |  481 | static irqreturn_t mtk_btcvsd_snd_irq_handler(int irq_id, void *dev)
       |      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                    |
       |      |                    (1) entry to 'mtk_btcvsd_snd_irq_handler'
       |......
       |  500 |         if (((control >> 31) & 1) == 0) {
       |      |            ~        
       |      |            |
       |      |            (2) following 'false' branch...
       |......
       |  506 |         if (packet_type >= BT_SCO_CVSD_MAX) {
       |      |            ~        
       |      |            |
       |      |            (3) ...to here
       |      |            (4) following 'false' branch (when 'packet_type <= 5')...
       |......
       |  512 |         packet_length = btsco_packet_info[packet_type][0];
       |      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                       |
       |      |                       (5) ...to here
       |......
       |  553 |         if (bt->rx->state == BT_SCO_STATE_RUNNING ||
       |      |            ~        
       |      |            |
       |      |            (6) following 'true' branch...
       |  554 |             bt->rx->state == BT_SCO_STATE_ENDING) {
       |  555 |                 if (bt->rx->xrun) {
       |      |                     ~~
       |      |                     |
       |      |                     (7) ...to here
       |......
       |  568 |                 if (!bt->rx->xrun &&
       |      |                    ~~~~~~~~~~~~~~~~~
       |      |                    |              |
       |      |                    |              (10) following 'true' branch...
       |      |                    (8) following 'true' branch...
       |  569 |                     (bt->rx->packet_w - bt->rx->packet_r <=
       |      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                            |
       |      |                            (9) ...to here
       |  570 |                      SCO_RX_PACKER_BUF_NUM - buf_cnt_rx)) {
       |      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |  571 |                         mtk_btcvsd_read_from_bt(bt,
       |      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                         |
       |      |                         (11) ...to here
       |      |                         (12) calling 'mtk_btcvsd_read_from_bt' from 'mtk_btcvsd_snd_irq_handler'
       |  572 |                                                 packet_type,
       |      |                                                 ~~~~~~~~~~~~
       |  573 |                                                 packet_length,
       |      |                                                 ~~~~~~~~~~~~~~
       |  574 |                                                 packet_num,
       |      |                                                 ~~~~~~~~~~~
       |  575 |                                                 buf_cnt_rx,
       |      |                                                 ~~~~~~~~~~~
       |  576 |                                                 control);
       |      |                                                 ~~~~~~~~
       |
       +--> 'mtk_btcvsd_read_from_bt': events 13-14
              |
              |  357 | static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
              |      |            ^~~~~~~~~~~~~~~~~~~~~~~
              |      |            |
              |      |            (13) entry to 'mtk_btcvsd_read_from_bt'
              |......
              |  365 |         int pv;
              |      |             ~~
              |      |             |
              |      |             (14) use of uninitialized value '<unknown>' here
              |
--
   sound/soc/mediatek/mt8195/mt8195-dai-etdm.c: In function 'mt8195_dai_etdm_parse_of':
>> sound/soc/mediatek/mt8195/mt8195-dai-etdm.c:2499:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
    2499 |         u32 sel;
         |             ^~~
     'mt8195_dai_etdm_parse_of': event 1
       |
       | 2499 |         u32 sel;
       |      |             ^~~
       |      |             |
       |      |             (1) use of uninitialized value '<unknown>' here
       |

vim +365 sound/soc/mediatek/common/mtk-btcvsd.c

4bd8597dc36c37 KaiChieh Chuang 2019-01-30  356  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  357  static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  358  				   enum bt_sco_packet_len packet_type,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  359  				   unsigned int packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  360  				   unsigned int packet_num,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  361  				   unsigned int blk_size,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  362  				   unsigned int control)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  363  {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  364  	unsigned int i;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @365  	int pv;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  366  	u8 *src;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  367  	unsigned int packet_buf_ofs;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  368  	unsigned long flags;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  369  	unsigned long connsys_addr_rx, ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  370  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  371  	connsys_addr_rx = *bt->bt_reg_pkt_r;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  372  	ap_addr_rx = (unsigned long)bt->bt_sram_bank2_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  373  		     (connsys_addr_rx & 0xFFFF);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  374  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  375  	if (connsys_addr_rx == 0xdeadfeed) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  376  		/* bt return 0xdeadfeed if read register during bt sleep */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  377  		dev_warn(bt->dev, "%s(), connsys_addr_rx == 0xdeadfeed",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  378  			 __func__);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  379  		return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  380  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  381  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  382  	src = (u8 *)ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  383  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  384  	mtk_btcvsd_snd_data_transfer(BT_SCO_DIRECT_BT2ARM, src,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  385  				     bt->rx->temp_packet_buf, packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  386  				     packet_num);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  387  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  388  	spin_lock_irqsave(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  389  	for (i = 0; i < blk_size; i++) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  390  		packet_buf_ofs = (bt->rx->packet_w & SCO_RX_PACKET_MASK) *
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  391  				 bt->rx->packet_size;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  392  		memcpy(bt->rx_packet_buf + packet_buf_ofs,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  393  		       bt->rx->temp_packet_buf + (SCO_RX_PLC_SIZE * i),
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  394  		       SCO_RX_PLC_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  395  		if ((control & btsco_packet_valid_mask[packet_type][i]) ==
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  396  		    btsco_packet_valid_mask[packet_type][i])
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  397  			pv = 1;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  398  		else
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  399  			pv = 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  400  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  401  		packet_buf_ofs += SCO_RX_PLC_SIZE;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  402  		memcpy(bt->rx_packet_buf + packet_buf_ofs, (void *)&pv,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  403  		       SCO_CVSD_PACKET_VALID_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  404  		bt->rx->packet_w++;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  405  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  406  	spin_unlock_irqrestore(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  407  	return 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  408  }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  409  

:::::: The code at line 365 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver

:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457]
@ 2022-08-12  5:27 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-08-12  5:27 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 10554 bytes --]

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check first_new_problem: sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Trevor Wu <trevor.wu@mediatek.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7ebfc85e2cd7b08f518b526173e9a33b56b3913b
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date:   12 months ago
:::::: branch date: 9 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220810 (https://download.01.org/0day-ci/archive/20220812/202208121317.oFHtKLbM-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6746cc858259985a945a07075a19ec4d24352407
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

gcc-analyzer warnings: (new ones prefixed by >>)
   sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_read_from_bt':
>> sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
     365 |         int pv;
         |             ^~
     'mtk_btcvsd_snd_irq_handler': events 1-12
       |
       |  481 | static irqreturn_t mtk_btcvsd_snd_irq_handler(int irq_id, void *dev)
       |      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                    |
       |      |                    (1) entry to 'mtk_btcvsd_snd_irq_handler'
       |......
       |  500 |         if (((control >> 31) & 1) == 0) {
       |      |            ~        
       |      |            |
       |      |            (2) following 'false' branch...
       |......
       |  506 |         if (packet_type >= BT_SCO_CVSD_MAX) {
       |      |            ~        
       |      |            |
       |      |            (3) ...to here
       |      |            (4) following 'false' branch (when 'packet_type <= 5')...
       |......
       |  512 |         packet_length = btsco_packet_info[packet_type][0];
       |      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                       |
       |      |                       (5) ...to here
       |......
       |  553 |         if (bt->rx->state == BT_SCO_STATE_RUNNING ||
       |      |            ~        
       |      |            |
       |      |            (6) following 'true' branch...
       |  554 |             bt->rx->state == BT_SCO_STATE_ENDING) {
       |  555 |                 if (bt->rx->xrun) {
       |      |                     ~~
       |      |                     |
       |      |                     (7) ...to here
       |......
       |  568 |                 if (!bt->rx->xrun &&
       |      |                    ~~~~~~~~~~~~~~~~~
       |      |                    |              |
       |      |                    |              (10) following 'true' branch...
       |      |                    (8) following 'true' branch...
       |  569 |                     (bt->rx->packet_w - bt->rx->packet_r <=
       |      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                            |
       |      |                            (9) ...to here
       |  570 |                      SCO_RX_PACKER_BUF_NUM - buf_cnt_rx)) {
       |      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |  571 |                         mtk_btcvsd_read_from_bt(bt,
       |      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                         |
       |      |                         (11) ...to here
       |      |                         (12) calling 'mtk_btcvsd_read_from_bt' from 'mtk_btcvsd_snd_irq_handler'
       |  572 |                                                 packet_type,
       |      |                                                 ~~~~~~~~~~~~
       |  573 |                                                 packet_length,
       |      |                                                 ~~~~~~~~~~~~~~
       |  574 |                                                 packet_num,
       |      |                                                 ~~~~~~~~~~~
       |  575 |                                                 buf_cnt_rx,
       |      |                                                 ~~~~~~~~~~~
       |  576 |                                                 control);
       |      |                                                 ~~~~~~~~
       |
       +--> 'mtk_btcvsd_read_from_bt': events 13-14
              |
              |  357 | static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
              |      |            ^~~~~~~~~~~~~~~~~~~~~~~
              |      |            |
              |      |            (13) entry to 'mtk_btcvsd_read_from_bt'
              |......
              |  365 |         int pv;
              |      |             ~~
              |      |             |
              |      |             (14) use of uninitialized value '<unknown>' here
              |

vim +365 sound/soc/mediatek/common/mtk-btcvsd.c

4bd8597dc36c37 KaiChieh Chuang 2019-01-30  356  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  357  static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  358  				   enum bt_sco_packet_len packet_type,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  359  				   unsigned int packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  360  				   unsigned int packet_num,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  361  				   unsigned int blk_size,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  362  				   unsigned int control)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  363  {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  364  	unsigned int i;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @365  	int pv;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  366  	u8 *src;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  367  	unsigned int packet_buf_ofs;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  368  	unsigned long flags;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  369  	unsigned long connsys_addr_rx, ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  370  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  371  	connsys_addr_rx = *bt->bt_reg_pkt_r;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  372  	ap_addr_rx = (unsigned long)bt->bt_sram_bank2_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  373  		     (connsys_addr_rx & 0xFFFF);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  374  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  375  	if (connsys_addr_rx == 0xdeadfeed) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  376  		/* bt return 0xdeadfeed if read register during bt sleep */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  377  		dev_warn(bt->dev, "%s(), connsys_addr_rx == 0xdeadfeed",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  378  			 __func__);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  379  		return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  380  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  381  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  382  	src = (u8 *)ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  383  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  384  	mtk_btcvsd_snd_data_transfer(BT_SCO_DIRECT_BT2ARM, src,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  385  				     bt->rx->temp_packet_buf, packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  386  				     packet_num);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  387  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  388  	spin_lock_irqsave(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  389  	for (i = 0; i < blk_size; i++) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  390  		packet_buf_ofs = (bt->rx->packet_w & SCO_RX_PACKET_MASK) *
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  391  				 bt->rx->packet_size;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  392  		memcpy(bt->rx_packet_buf + packet_buf_ofs,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  393  		       bt->rx->temp_packet_buf + (SCO_RX_PLC_SIZE * i),
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  394  		       SCO_RX_PLC_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  395  		if ((control & btsco_packet_valid_mask[packet_type][i]) ==
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  396  		    btsco_packet_valid_mask[packet_type][i])
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  397  			pv = 1;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  398  		else
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  399  			pv = 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  400  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  401  		packet_buf_ofs += SCO_RX_PLC_SIZE;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  402  		memcpy(bt->rx_packet_buf + packet_buf_ofs, (void *)&pv,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  403  		       SCO_CVSD_PACKET_VALID_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  404  		bt->rx->packet_w++;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  405  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  406  	spin_unlock_irqrestore(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  407  	return 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  408  }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  409  

:::::: The code at line 365 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver

:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457]
@ 2022-08-10 16:57 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2022-08-10 16:57 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 10555 bytes --]

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check first_new_problem: sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Trevor Wu <trevor.wu@mediatek.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d4252071b97d2027d246f6a82cbee4d52f618b47
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date:   12 months ago
:::::: branch date: 19 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220810 (https://download.01.org/0day-ci/archive/20220811/202208110016.VelOWz7z-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6746cc858259985a945a07075a19ec4d24352407
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

gcc-analyzer warnings: (new ones prefixed by >>)
   sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_read_from_bt':
>> sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
     365 |         int pv;
         |             ^~
     'mtk_btcvsd_snd_irq_handler': events 1-12
       |
       |  481 | static irqreturn_t mtk_btcvsd_snd_irq_handler(int irq_id, void *dev)
       |      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                    |
       |      |                    (1) entry to 'mtk_btcvsd_snd_irq_handler'
       |......
       |  500 |         if (((control >> 31) & 1) == 0) {
       |      |            ~        
       |      |            |
       |      |            (2) following 'false' branch...
       |......
       |  506 |         if (packet_type >= BT_SCO_CVSD_MAX) {
       |      |            ~        
       |      |            |
       |      |            (3) ...to here
       |      |            (4) following 'false' branch (when 'packet_type <= 5')...
       |......
       |  512 |         packet_length = btsco_packet_info[packet_type][0];
       |      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                       |
       |      |                       (5) ...to here
       |......
       |  553 |         if (bt->rx->state == BT_SCO_STATE_RUNNING ||
       |      |            ~        
       |      |            |
       |      |            (6) following 'true' branch...
       |  554 |             bt->rx->state == BT_SCO_STATE_ENDING) {
       |  555 |                 if (bt->rx->xrun) {
       |      |                     ~~
       |      |                     |
       |      |                     (7) ...to here
       |......
       |  568 |                 if (!bt->rx->xrun &&
       |      |                    ~~~~~~~~~~~~~~~~~
       |      |                    |              |
       |      |                    |              (10) following 'true' branch...
       |      |                    (8) following 'true' branch...
       |  569 |                     (bt->rx->packet_w - bt->rx->packet_r <=
       |      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                            |
       |      |                            (9) ...to here
       |  570 |                      SCO_RX_PACKER_BUF_NUM - buf_cnt_rx)) {
       |      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |  571 |                         mtk_btcvsd_read_from_bt(bt,
       |      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       |      |                         |
       |      |                         (11) ...to here
       |      |                         (12) calling 'mtk_btcvsd_read_from_bt' from 'mtk_btcvsd_snd_irq_handler'
       |  572 |                                                 packet_type,
       |      |                                                 ~~~~~~~~~~~~
       |  573 |                                                 packet_length,
       |      |                                                 ~~~~~~~~~~~~~~
       |  574 |                                                 packet_num,
       |      |                                                 ~~~~~~~~~~~
       |  575 |                                                 buf_cnt_rx,
       |      |                                                 ~~~~~~~~~~~
       |  576 |                                                 control);
       |      |                                                 ~~~~~~~~
       |
       +--> 'mtk_btcvsd_read_from_bt': events 13-14
              |
              |  357 | static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
              |      |            ^~~~~~~~~~~~~~~~~~~~~~~
              |      |            |
              |      |            (13) entry to 'mtk_btcvsd_read_from_bt'
              |......
              |  365 |         int pv;
              |      |             ~~
              |      |             |
              |      |             (14) use of uninitialized value '<unknown>' here
              |

vim +365 sound/soc/mediatek/common/mtk-btcvsd.c

4bd8597dc36c37 KaiChieh Chuang 2019-01-30  356  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  357  static int mtk_btcvsd_read_from_bt(struct mtk_btcvsd_snd *bt,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  358  				   enum bt_sco_packet_len packet_type,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  359  				   unsigned int packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  360  				   unsigned int packet_num,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  361  				   unsigned int blk_size,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  362  				   unsigned int control)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  363  {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  364  	unsigned int i;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @365  	int pv;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  366  	u8 *src;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  367  	unsigned int packet_buf_ofs;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  368  	unsigned long flags;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  369  	unsigned long connsys_addr_rx, ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  370  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  371  	connsys_addr_rx = *bt->bt_reg_pkt_r;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  372  	ap_addr_rx = (unsigned long)bt->bt_sram_bank2_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  373  		     (connsys_addr_rx & 0xFFFF);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  374  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  375  	if (connsys_addr_rx == 0xdeadfeed) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  376  		/* bt return 0xdeadfeed if read register during bt sleep */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  377  		dev_warn(bt->dev, "%s(), connsys_addr_rx == 0xdeadfeed",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  378  			 __func__);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  379  		return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  380  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  381  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  382  	src = (u8 *)ap_addr_rx;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  383  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  384  	mtk_btcvsd_snd_data_transfer(BT_SCO_DIRECT_BT2ARM, src,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  385  				     bt->rx->temp_packet_buf, packet_length,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  386  				     packet_num);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  387  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  388  	spin_lock_irqsave(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  389  	for (i = 0; i < blk_size; i++) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  390  		packet_buf_ofs = (bt->rx->packet_w & SCO_RX_PACKET_MASK) *
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  391  				 bt->rx->packet_size;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  392  		memcpy(bt->rx_packet_buf + packet_buf_ofs,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  393  		       bt->rx->temp_packet_buf + (SCO_RX_PLC_SIZE * i),
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  394  		       SCO_RX_PLC_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  395  		if ((control & btsco_packet_valid_mask[packet_type][i]) ==
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  396  		    btsco_packet_valid_mask[packet_type][i])
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  397  			pv = 1;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  398  		else
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  399  			pv = 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  400  
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  401  		packet_buf_ofs += SCO_RX_PLC_SIZE;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  402  		memcpy(bt->rx_packet_buf + packet_buf_ofs, (void *)&pv,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  403  		       SCO_CVSD_PACKET_VALID_SIZE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  404  		bt->rx->packet_w++;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  405  	}
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  406  	spin_unlock_irqrestore(&bt->rx_lock, flags);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  407  	return 0;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  408  }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30  409  

:::::: The code at line 365 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver

:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-13 11:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-11  2:50 sound/soc/mediatek/common/mtk-btcvsd.c:365:13: warning: use of uninitialized value '<unknown>' [CWE-457] kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2022-08-13 11:24 kernel test robot
2022-08-13  5:01 kernel test robot
2022-08-12  7:10 kernel test robot
2022-08-12  5:27 kernel test robot
2022-08-10 16:57 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.