* drivers/ata/pata_ep93xx.c:494:33: sparse: sparse: incorrect type in assignment (different base types)
@ 2026-07-23 7:15 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-23 7:15 UTC (permalink / raw)
To: Rosen Penev; +Cc: oe-kbuild-all, linux-kernel, Niklas Cassel
Hi Rosen,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4539944e515183668109bdf4d0c3d7d228383d88
commit: 590da526959499e58671f65655825d8a1973ff27 ata: pata_ep93xx: add COMPILE_TEST support
date: 7 weeks ago
config: microblaze-randconfig-r121-20260723 (https://download.01.org/0day-ci/archive/20260723/202607231521.gvhnJpOG-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 16.1.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260723/202607231521.gvhnJpOG-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
| Fixes: 590da5269594 ("ata: pata_ep93xx: add COMPILE_TEST support")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607231521.gvhnJpOG-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/ata/pata_ep93xx.c:494:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/ata/pata_ep93xx.c:494:33: sparse: expected unsigned short [usertype]
drivers/ata/pata_ep93xx.c:494:33: sparse: got restricted __le16 [usertype]
>> drivers/ata/pata_ep93xx.c:498:58: sparse: sparse: cast to restricted __le16
>> drivers/ata/pata_ep93xx.c:508:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned char @@ got restricted __le16 [usertype] @@
drivers/ata/pata_ep93xx.c:508:30: sparse: expected unsigned char
drivers/ata/pata_ep93xx.c:508:30: sparse: got restricted __le16 [usertype]
drivers/ata/pata_ep93xx.c:514:58: sparse: sparse: cast to restricted __le16
vim +494 drivers/ata/pata_ep93xx.c
2fff27512600f9 Rafal Prylowski 2012-04-12 480
2fff27512600f9 Rafal Prylowski 2012-04-12 481 /* Note: original code is ata_sff_data_xfer */
989e0aac1a801e Bartlomiej Zolnierkiewicz 2016-12-30 482 static unsigned int ep93xx_pata_data_xfer(struct ata_queued_cmd *qc,
2fff27512600f9 Rafal Prylowski 2012-04-12 483 unsigned char *buf,
2fff27512600f9 Rafal Prylowski 2012-04-12 484 unsigned int buflen, int rw)
2fff27512600f9 Rafal Prylowski 2012-04-12 485 {
989e0aac1a801e Bartlomiej Zolnierkiewicz 2016-12-30 486 struct ata_port *ap = qc->dev->link->ap;
2fff27512600f9 Rafal Prylowski 2012-04-12 487 struct ep93xx_pata_data *drv_data = ap->host->private_data;
2fff27512600f9 Rafal Prylowski 2012-04-12 488 u16 *data = (u16 *)buf;
2fff27512600f9 Rafal Prylowski 2012-04-12 489 unsigned int words = buflen >> 1;
2fff27512600f9 Rafal Prylowski 2012-04-12 490
2fff27512600f9 Rafal Prylowski 2012-04-12 491 /* Transfer multiple of 2 bytes */
2fff27512600f9 Rafal Prylowski 2012-04-12 492 while (words--)
2fff27512600f9 Rafal Prylowski 2012-04-12 493 if (rw == READ)
2fff27512600f9 Rafal Prylowski 2012-04-12 @494 *data++ = cpu_to_le16(
2fff27512600f9 Rafal Prylowski 2012-04-12 495 ep93xx_pata_read_data(
2fff27512600f9 Rafal Prylowski 2012-04-12 496 drv_data, IDECTRL_ADDR_DATA));
2fff27512600f9 Rafal Prylowski 2012-04-12 497 else
2fff27512600f9 Rafal Prylowski 2012-04-12 @498 ep93xx_pata_write_data(drv_data, le16_to_cpu(*data++),
2fff27512600f9 Rafal Prylowski 2012-04-12 499 IDECTRL_ADDR_DATA);
2fff27512600f9 Rafal Prylowski 2012-04-12 500
2fff27512600f9 Rafal Prylowski 2012-04-12 501 /* Transfer trailing 1 byte, if any. */
2fff27512600f9 Rafal Prylowski 2012-04-12 502 if (unlikely(buflen & 0x01)) {
2fff27512600f9 Rafal Prylowski 2012-04-12 503 unsigned char pad[2] = { };
2fff27512600f9 Rafal Prylowski 2012-04-12 504
2fff27512600f9 Rafal Prylowski 2012-04-12 505 buf += buflen - 1;
2fff27512600f9 Rafal Prylowski 2012-04-12 506
2fff27512600f9 Rafal Prylowski 2012-04-12 507 if (rw == READ) {
2fff27512600f9 Rafal Prylowski 2012-04-12 @508 *pad = cpu_to_le16(
2fff27512600f9 Rafal Prylowski 2012-04-12 509 ep93xx_pata_read_data(
2fff27512600f9 Rafal Prylowski 2012-04-12 510 drv_data, IDECTRL_ADDR_DATA));
2fff27512600f9 Rafal Prylowski 2012-04-12 511 *buf = pad[0];
2fff27512600f9 Rafal Prylowski 2012-04-12 512 } else {
2fff27512600f9 Rafal Prylowski 2012-04-12 513 pad[0] = *buf;
2fff27512600f9 Rafal Prylowski 2012-04-12 514 ep93xx_pata_write_data(drv_data, le16_to_cpu(*pad),
2fff27512600f9 Rafal Prylowski 2012-04-12 515 IDECTRL_ADDR_DATA);
2fff27512600f9 Rafal Prylowski 2012-04-12 516 }
2fff27512600f9 Rafal Prylowski 2012-04-12 517 words++;
2fff27512600f9 Rafal Prylowski 2012-04-12 518 }
2fff27512600f9 Rafal Prylowski 2012-04-12 519
2fff27512600f9 Rafal Prylowski 2012-04-12 520 return words << 1;
2fff27512600f9 Rafal Prylowski 2012-04-12 521 }
2fff27512600f9 Rafal Prylowski 2012-04-12 522
:::::: The code at line 494 was first introduced by commit
:::::: 2fff27512600f9ad91335577e485a8552edb0abf PATA host controller driver for ep93xx
:::::: TO: Rafal Prylowski <prylowski@metasoft.pl>
:::::: CC: Jeff Garzik <jgarzik@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-23 7:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-23 7:15 drivers/ata/pata_ep93xx.c:494:33: sparse: sparse: incorrect type in assignment (different base types) 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.