* [hare-scsi-devel:reserved-tags.v7 28/31] drivers/scsi/hisi_sas/hisi_sas_main.c:1978:7: error: expected expression
@ 2021-02-22 22:17 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-02-22 22:17 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 6230 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git reserved-tags.v7
head: 56f43659bdb8145b5c47adbcf1bcc2993838acf4
commit: 0152023a4f1e0b375b8b49e2f0d5f4089fa3e2cc [28/31] scsi: hisi_sas: Use libsas slow task SCSI command
config: x86_64-randconfig-a012-20210222 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commit/?id=0152023a4f1e0b375b8b49e2f0d5f4089fa3e2cc
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel reserved-tags.v7
git checkout 0152023a4f1e0b375b8b49e2f0d5f4089fa3e2cc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/scsi/hisi_sas/hisi_sas_main.c:1203:18: error: variable has incomplete type 'struct scsilun'
struct scsilun lun;
^
drivers/scsi/hisi_sas/hisi_sas_main.c:1203:10: note: forward declaration of 'struct scsilun'
struct scsilun lun;
^
drivers/scsi/hisi_sas/hisi_sas_main.c:1206:8: warning: address of function 'dev_is_sata' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (!dev_is_sata) {
~^~~~~~~~~~~
drivers/scsi/hisi_sas/hisi_sas_main.c:1206:8: note: prefix with the address-of operator to silence this warning
if (!dev_is_sata) {
^
&
drivers/scsi/hisi_sas/hisi_sas_main.c:1207:24: error: initializing 'struct sas_ssp_task' with an expression of incompatible type 'void *'
struct sas_ssp_task ssp_task = parameter;
^ ~~~~~~~~~
>> drivers/scsi/hisi_sas/hisi_sas_main.c:1978:7: error: expected expression
rc = = task->tag;
^
drivers/scsi/hisi_sas/hisi_sas_main.c:2606:41: warning: shift count >= width of type [-Wshift-count-overflow]
error = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 3 errors generated.
vim +1978 drivers/scsi/hisi_sas/hisi_sas_main.c
1952
1953 static int
1954 hisi_sas_internal_abort_task_exec(struct hisi_hba *hisi_hba, int device_id,
1955 struct sas_task *task, int abort_flag,
1956 int task_tag, struct hisi_sas_dq *dq)
1957 {
1958 struct domain_device *device = task->dev;
1959 struct hisi_sas_device *sas_dev = device->lldd_dev;
1960 struct device *dev = hisi_hba->dev;
1961 struct hisi_sas_port *port;
1962 struct hisi_sas_slot *slot;
1963 struct asd_sas_port *sas_port = device->port;
1964 struct hisi_sas_cmd_hdr *cmd_hdr_base;
1965 int dlvry_queue_slot, dlvry_queue, n_elem = 0, rc, slot_idx;
1966 unsigned long flags;
1967 int wr_q_index;
1968
1969 if (unlikely(test_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags)))
1970 return -EINVAL;
1971
1972 if (!device->port)
1973 return -1;
1974
1975 port = to_hisi_sas_port(sas_port);
1976
1977 /* simply get a slot and send abort command */
> 1978 rc = = task->tag;
1979 if (rc < 0)
1980 rc = hisi_sas_slot_index_alloc(hisi_hba);
1981 if (rc < 0)
1982 goto err_out;
1983
1984 slot_idx = rc;
1985 slot = &hisi_hba->slot_info[slot_idx];
1986
1987 spin_lock(&dq->lock);
1988 wr_q_index = dq->wr_point;
1989 dq->wr_point = (dq->wr_point + 1) % HISI_SAS_QUEUE_SLOTS;
1990 list_add_tail(&slot->delivery, &dq->list);
1991 spin_unlock(&dq->lock);
1992 spin_lock(&sas_dev->lock);
1993 list_add_tail(&slot->entry, &sas_dev->list);
1994 spin_unlock(&sas_dev->lock);
1995
1996 dlvry_queue = dq->id;
1997 dlvry_queue_slot = wr_q_index;
1998
1999 slot->device_id = sas_dev->device_id;
2000 slot->n_elem = n_elem;
2001 slot->dlvry_queue = dlvry_queue;
2002 slot->dlvry_queue_slot = dlvry_queue_slot;
2003 cmd_hdr_base = hisi_hba->cmd_hdr[dlvry_queue];
2004 slot->cmd_hdr = &cmd_hdr_base[dlvry_queue_slot];
2005 slot->task = task;
2006 slot->port = port;
2007 slot->is_internal = true;
2008 task->lldd_task = slot;
2009
2010 memset(slot->cmd_hdr, 0, sizeof(struct hisi_sas_cmd_hdr));
2011 memset(hisi_sas_cmd_hdr_addr_mem(slot), 0, HISI_SAS_COMMAND_TABLE_SZ);
2012 memset(hisi_sas_status_buf_addr_mem(slot), 0,
2013 sizeof(struct hisi_sas_err_record));
2014
2015 hisi_sas_task_prep_abort(hisi_hba, slot, device_id,
2016 abort_flag, task_tag);
2017
2018 spin_lock_irqsave(&task->task_state_lock, flags);
2019 task->task_state_flags |= SAS_TASK_AT_INITIATOR;
2020 spin_unlock_irqrestore(&task->task_state_lock, flags);
2021 WRITE_ONCE(slot->ready, 1);
2022 /* send abort command to the chip */
2023 spin_lock(&dq->lock);
2024 hisi_hba->hw->start_delivery(dq);
2025 spin_unlock(&dq->lock);
2026
2027 return 0;
2028
2029 err_out:
2030 dev_err(dev, "internal abort task prep: failed[%d]!\n", rc);
2031
2032 return rc;
2033 }
2034
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 44634 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-22 22:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-22 22:17 [hare-scsi-devel:reserved-tags.v7 28/31] drivers/scsi/hisi_sas/hisi_sas_main.c:1978:7: error: expected expression 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.