Hi Hannes,
I love your patch! Yet something to improve:
[auto build test ERROR on s390/features]
[also build test ERROR on hch-configfs/for-next linus/master v5.10 next-20201217]
[cannot apply to mkp-scsi/for-next scsi/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Hannes-Reinecke/SCSI-result-hand...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git features
config: i386-randconfig-s002-20201217 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
#
https://github.com/0day-ci/linux/commit/eb68d2edc0c626f5aff039520daf1b3cb...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Hannes-Reinecke/SCSI-result-handling-cleanup-part-1/20201207-205241
git checkout eb68d2edc0c626f5aff039520daf1b3cb4f4052d
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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 >>):
ld: drivers/scsi/dc395x.o: in function `build_sdtr':
> drivers/scsi/dc395x.c:1285: undefined reference to
`spi_populate_sync_msg'
ld: drivers/scsi/dc395x.o: in function
`build_wdtr':
> drivers/scsi/dc395x.c:1305: undefined reference to
`spi_populate_width_msg'
vim +1285 drivers/scsi/dc395x.c
1265
1266
1267 /* SDTR */
1268 static void build_sdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
1269 struct ScsiReqBlk *srb)
1270 {
1271 u8 *ptr = srb->msgout_buf + srb->msg_count;
1272 if (srb->msg_count > 1) {
1273 dprintkl(KERN_INFO,
1274 "build_sdtr: msgout_buf BUSY (%i: %02x %02x)\n",
1275 srb->msg_count, srb->msgout_buf[0],
1276 srb->msgout_buf[1]);
1277 return;
1278 }
1279 if (!(dcb->dev_mode & NTC_DO_SYNC_NEGO)) {
1280 dcb->sync_offset = 0;
1281 dcb->min_nego_period = 200 >> 2;
1282 } else if (dcb->sync_offset == 0)
1283 dcb->sync_offset = SYNC_NEGO_OFFSET;
1284
1285 spi_populate_sync_msg(ptr, dcb->min_nego_period,
dcb->sync_offset);
1286 srb->msg_count += 5;
1287 srb->state |= SRB_DO_SYNC_NEGO;
1288 }
1289
1290
1291 /* WDTR */
1292 static void build_wdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
1293 struct ScsiReqBlk *srb)
1294 {
1295 u8 wide = ((dcb->dev_mode & NTC_DO_WIDE_NEGO) &
1296 (acb->config & HCC_WIDE_CARD)) ? 1 : 0;
1297 u8 *ptr = srb->msgout_buf + srb->msg_count;
1298 if (srb->msg_count > 1) {
1299 dprintkl(KERN_INFO,
1300 "build_wdtr: msgout_buf BUSY (%i: %02x %02x)\n",
1301 srb->msg_count, srb->msgout_buf[0],
1302 srb->msgout_buf[1]);
1303 return;
1304 }
1305 spi_populate_width_msg(ptr, wide);
1306 srb->msg_count += 4;
1307 srb->state |= SRB_DO_WIDE_NEGO;
1308 }
1309
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org