All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: drivers/isdn/hardware/mISDN/avmfritz.c:494:30: sparse: sparse: incorrect type in argument 1 (different base types)
Date: Tue, 19 Dec 2023 21:29:55 +0800	[thread overview]
Message-ID: <202312192107.YhRbeka3-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2cf4f94d8e8646803f8fb0facf134b0cd7fb691a
commit: 15104de122a4f0258981b06ed94cf616a6eb03ef x86: Adjust types used in port I/O helpers
date:   1 year, 8 months ago
config: i386-randconfig-062-20231014 (https://download.01.org/0day-ci/archive/20231219/202312192107.YhRbeka3-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231219/202312192107.YhRbeka3-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312192107.YhRbeka3-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/isdn/hardware/mISDN/avmfritz.c:421:23: sparse: sparse: cast to restricted __le32
>> drivers/isdn/hardware/mISDN/avmfritz.c:494:30: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] value @@     got restricted __le32 [usertype] @@
   drivers/isdn/hardware/mISDN/avmfritz.c:494:30: sparse:     expected unsigned int [usertype] value
   drivers/isdn/hardware/mISDN/avmfritz.c:494:30: sparse:     got restricted __le32 [usertype]

vim +494 drivers/isdn/hardware/mISDN/avmfritz.c

6115d2f3fcaebe Karsten Keil 2009-07-22  388  
6115d2f3fcaebe Karsten Keil 2009-07-22  389  static void
6115d2f3fcaebe Karsten Keil 2009-07-22  390  hdlc_empty_fifo(struct bchannel *bch, int count)
6115d2f3fcaebe Karsten Keil 2009-07-22  391  {
6115d2f3fcaebe Karsten Keil 2009-07-22  392  	u32 *ptr;
6115d2f3fcaebe Karsten Keil 2009-07-22  393  	u8 *p;
6115d2f3fcaebe Karsten Keil 2009-07-22  394  	u32  val, addr;
7206e659f68955 Karsten Keil 2012-05-15  395  	int cnt;
6115d2f3fcaebe Karsten Keil 2009-07-22  396  	struct fritzcard *fc = bch->hw;
6115d2f3fcaebe Karsten Keil 2009-07-22  397  
6115d2f3fcaebe Karsten Keil 2009-07-22  398  	pr_debug("%s: %s %d\n", fc->name, __func__, count);
c27b46e7f1cbf3 Karsten Keil 2012-05-15  399  	if (test_bit(FLG_RX_OFF, &bch->Flags)) {
c27b46e7f1cbf3 Karsten Keil 2012-05-15  400  		p = NULL;
c27b46e7f1cbf3 Karsten Keil 2012-05-15  401  		bch->dropcnt += count;
c27b46e7f1cbf3 Karsten Keil 2012-05-15  402  	} else {
7206e659f68955 Karsten Keil 2012-05-15  403  		cnt = bchannel_get_rxbuf(bch, count);
7206e659f68955 Karsten Keil 2012-05-15  404  		if (cnt < 0) {
257daba4eb7f2b Kefeng Wang  2019-10-18  405  			pr_warn("%s.B%d: No bufferspace for %d bytes\n",
7206e659f68955 Karsten Keil 2012-05-15  406  				fc->name, bch->nr, count);
6115d2f3fcaebe Karsten Keil 2009-07-22  407  			return;
6115d2f3fcaebe Karsten Keil 2009-07-22  408  		}
6115d2f3fcaebe Karsten Keil 2009-07-22  409  		p = skb_put(bch->rx_skb, count);
c27b46e7f1cbf3 Karsten Keil 2012-05-15  410  	}
6115d2f3fcaebe Karsten Keil 2009-07-22  411  	ptr = (u32 *)p;
09e79a777a0c9c Karsten Keil 2012-05-15  412  	if (fc->type == AVM_FRITZ_PCIV2)
6115d2f3fcaebe Karsten Keil 2009-07-22  413  		addr = fc->addr + (bch->nr == 2 ?
6115d2f3fcaebe Karsten Keil 2009-07-22  414  				   AVM_HDLC_FIFO_2 : AVM_HDLC_FIFO_1);
6115d2f3fcaebe Karsten Keil 2009-07-22  415  	else {
6115d2f3fcaebe Karsten Keil 2009-07-22  416  		addr = fc->addr + CHIP_WINDOW;
6115d2f3fcaebe Karsten Keil 2009-07-22  417  		outl(bch->nr == 2 ? AVM_HDLC_2 : AVM_HDLC_1, fc->addr);
6115d2f3fcaebe Karsten Keil 2009-07-22  418  	}
7206e659f68955 Karsten Keil 2012-05-15  419  	cnt = 0;
6115d2f3fcaebe Karsten Keil 2009-07-22  420  	while (cnt < count) {
6115d2f3fcaebe Karsten Keil 2009-07-22 @421  		val = le32_to_cpu(inl(addr));
c27b46e7f1cbf3 Karsten Keil 2012-05-15  422  		if (p) {
6115d2f3fcaebe Karsten Keil 2009-07-22  423  			put_unaligned(val, ptr);
6115d2f3fcaebe Karsten Keil 2009-07-22  424  			ptr++;
c27b46e7f1cbf3 Karsten Keil 2012-05-15  425  		}
6115d2f3fcaebe Karsten Keil 2009-07-22  426  		cnt += 4;
6115d2f3fcaebe Karsten Keil 2009-07-22  427  	}
c27b46e7f1cbf3 Karsten Keil 2012-05-15  428  	if (p && (debug & DEBUG_HW_BFIFO)) {
6115d2f3fcaebe Karsten Keil 2009-07-22  429  		snprintf(fc->log, LOG_SIZE, "B%1d-recv %s %d ",
6115d2f3fcaebe Karsten Keil 2009-07-22  430  			 bch->nr, fc->name, count);
6115d2f3fcaebe Karsten Keil 2009-07-22  431  		print_hex_dump_bytes(fc->log, DUMP_PREFIX_OFFSET, p, count);
6115d2f3fcaebe Karsten Keil 2009-07-22  432  	}
6115d2f3fcaebe Karsten Keil 2009-07-22  433  }
6115d2f3fcaebe Karsten Keil 2009-07-22  434  
6115d2f3fcaebe Karsten Keil 2009-07-22  435  static void
6115d2f3fcaebe Karsten Keil 2009-07-22  436  hdlc_fill_fifo(struct bchannel *bch)
6115d2f3fcaebe Karsten Keil 2009-07-22  437  {
6115d2f3fcaebe Karsten Keil 2009-07-22  438  	struct fritzcard *fc = bch->hw;
6115d2f3fcaebe Karsten Keil 2009-07-22  439  	struct hdlc_hw *hdlc;
b41a9a66f67817 Karsten Keil 2012-07-29  440  	int count, fs, cnt = 0, idx;
b41a9a66f67817 Karsten Keil 2012-07-29  441  	bool fillempty = false;
6115d2f3fcaebe Karsten Keil 2009-07-22  442  	u8 *p;
6115d2f3fcaebe Karsten Keil 2009-07-22  443  	u32 *ptr, val, addr;
6115d2f3fcaebe Karsten Keil 2009-07-22  444  
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  445  	idx = (bch->nr - 1) & 1;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  446  	hdlc = &fc->hdlc[idx];
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  447  	fs = (fc->type == AVM_FRITZ_PCIV2) ?
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  448  		HDLC_FIFO_SIZE_V2 : HDLC_FIFO_SIZE_V1;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  449  	if (!bch->tx_skb) {
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  450  		if (!test_bit(FLG_TX_EMPTY, &bch->Flags))
6115d2f3fcaebe Karsten Keil 2009-07-22  451  			return;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  452  		count = fs;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  453  		p = bch->fill;
b41a9a66f67817 Karsten Keil 2012-07-29  454  		fillempty = true;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  455  	} else {
6115d2f3fcaebe Karsten Keil 2009-07-22  456  		count = bch->tx_skb->len - bch->tx_idx;
6115d2f3fcaebe Karsten Keil 2009-07-22  457  		if (count <= 0)
6115d2f3fcaebe Karsten Keil 2009-07-22  458  			return;
6115d2f3fcaebe Karsten Keil 2009-07-22  459  		p = bch->tx_skb->data + bch->tx_idx;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  460  	}
6115d2f3fcaebe Karsten Keil 2009-07-22  461  	hdlc->ctrl.sr.cmd &= ~HDLC_CMD_XME;
09e79a777a0c9c Karsten Keil 2012-05-15  462  	if (count > fs) {
09e79a777a0c9c Karsten Keil 2012-05-15  463  		count = fs;
6115d2f3fcaebe Karsten Keil 2009-07-22  464  	} else {
6115d2f3fcaebe Karsten Keil 2009-07-22  465  		if (test_bit(FLG_HDLC, &bch->Flags))
6115d2f3fcaebe Karsten Keil 2009-07-22  466  			hdlc->ctrl.sr.cmd |= HDLC_CMD_XME;
6115d2f3fcaebe Karsten Keil 2009-07-22  467  	}
6115d2f3fcaebe Karsten Keil 2009-07-22  468  	ptr = (u32 *)p;
b41a9a66f67817 Karsten Keil 2012-07-29  469  	if (!fillempty) {
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  470  		pr_debug("%s.B%d: %d/%d/%d", fc->name, bch->nr, count,
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  471  			 bch->tx_idx, bch->tx_skb->len);
6115d2f3fcaebe Karsten Keil 2009-07-22  472  		bch->tx_idx += count;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  473  	} else {
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  474  		pr_debug("%s.B%d: fillempty %d\n", fc->name, bch->nr, count);
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  475  	}
09e79a777a0c9c Karsten Keil 2012-05-15  476  	hdlc->ctrl.sr.xml = ((count == fs) ? 0 : count);
09e79a777a0c9c Karsten Keil 2012-05-15  477  	if (fc->type == AVM_FRITZ_PCIV2) {
6115d2f3fcaebe Karsten Keil 2009-07-22  478  		__write_ctrl_pciv2(fc, hdlc, bch->nr);
6115d2f3fcaebe Karsten Keil 2009-07-22  479  		addr = fc->addr + (bch->nr == 2 ?
6115d2f3fcaebe Karsten Keil 2009-07-22  480  				   AVM_HDLC_FIFO_2 : AVM_HDLC_FIFO_1);
6115d2f3fcaebe Karsten Keil 2009-07-22  481  	} else {
6115d2f3fcaebe Karsten Keil 2009-07-22  482  		__write_ctrl_pci(fc, hdlc, bch->nr);
6115d2f3fcaebe Karsten Keil 2009-07-22  483  		addr = fc->addr + CHIP_WINDOW;
6115d2f3fcaebe Karsten Keil 2009-07-22  484  	}
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  485  	if (fillempty) {
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  486  		while (cnt < count) {
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  487  			/* all bytes the same - no worry about endian */
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  488  			outl(*ptr, addr);
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  489  			cnt += 4;
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  490  		}
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  491  	} else {
6115d2f3fcaebe Karsten Keil 2009-07-22  492  		while (cnt < count) {
6115d2f3fcaebe Karsten Keil 2009-07-22  493  			val = get_unaligned(ptr);
6115d2f3fcaebe Karsten Keil 2009-07-22 @494  			outl(cpu_to_le32(val), addr);
6115d2f3fcaebe Karsten Keil 2009-07-22  495  			ptr++;
6115d2f3fcaebe Karsten Keil 2009-07-22  496  			cnt += 4;
6115d2f3fcaebe Karsten Keil 2009-07-22  497  		}
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  498  	}
6d1ee48fd0d8d2 Karsten Keil 2012-05-15  499  	if ((debug & DEBUG_HW_BFIFO) && !fillempty) {
6115d2f3fcaebe Karsten Keil 2009-07-22  500  		snprintf(fc->log, LOG_SIZE, "B%1d-send %s %d ",
6115d2f3fcaebe Karsten Keil 2009-07-22  501  			 bch->nr, fc->name, count);
6115d2f3fcaebe Karsten Keil 2009-07-22  502  		print_hex_dump_bytes(fc->log, DUMP_PREFIX_OFFSET, p, count);
6115d2f3fcaebe Karsten Keil 2009-07-22  503  	}
6115d2f3fcaebe Karsten Keil 2009-07-22  504  }
6115d2f3fcaebe Karsten Keil 2009-07-22  505  

:::::: The code at line 494 was first introduced by commit
:::::: 6115d2f3fcaebed5b88fa9cefd178bb5b07461ff mISDN: Driver for AVM Fritz!CARD PCI

:::::: TO: Karsten Keil <keil@b1-systems.de>
:::::: CC: Karsten Keil <keil@b1-systems.de>

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

             reply	other threads:[~2023-12-19 13:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-19 13:29 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-09-25 23:15 drivers/isdn/hardware/mISDN/avmfritz.c:494:30: sparse: sparse: incorrect type in argument 1 (different base types) kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202312192107.YhRbeka3-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.