[scsi:misc 108/132] drivers/scsi/aha1542.c:328: undefined reference to `__udivdi3'
Hi Christoph, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git misc head: 9167f0dcc523735d5df7c6e27b58c05740433657 commit: 1794ef2b150dd502bc31cb50ad36c901337b4d0e [108/132] scsi: aha1542: convert to DMA mapping API config: i386-randconfig-c0-11300951 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 1794ef2b150dd502bc31cb50ad36c901337b4d0e # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): ./usr/include/linux/v4l2-controls.h:1105: found __[us]{8,16,32,64} type without #include drivers/scsi/aha1542.o: In function `aha1542_interrupt': >> drivers/scsi/aha1542.c:328: undefined reference to `__udivdi3' make[1]: *** [vmlinux] Error 1 make[1]: Target '_all' not remade because of errors. vim +328 drivers/scsi/aha1542.c 257 258 static irqreturn_t aha1542_interrupt(int irq, void *dev_id) 259 { 260 struct Scsi_Host *sh = dev_id; 261 struct aha1542_hostdata *aha1542 = shost_priv(sh); 262 void (*my_done)(struct scsi_cmnd *) = NULL; 263 int errstatus, mbi, mbo, mbistatus; 264 int number_serviced; 265 unsigned long flags; 266 struct scsi_cmnd *tmp_cmd; 267 int flag; 268 struct mailbox *mb = aha1542->mb; 269 struct ccb *ccb = aha1542->ccb; 270 271 #ifdef DEBUG 272 { 273 flag = inb(INTRFLAGS(sh->io_port)); 274 shost_printk(KERN_DEBUG, sh, "aha1542_intr_handle: "); 275 if (!(flag & ANYINTR)) 276 printk("no interrupt?"); 277 if (flag & MBIF) 278 printk("MBIF "); 279 if (flag & MBOA) 280 printk("MBOF "); 281 if (flag & HACC) 282 printk("HACC "); 283 if (flag & SCRD) 284 printk("SCRD "); 285 printk("status %02x\n", inb(STATUS(sh->io_port))); 286 }; 287 #endif 288 number_serviced = 0; 289 290 spin_lock_irqsave(sh->host_lock, flags); 291 while (1) { 292 flag = inb(INTRFLAGS(sh->io_port)); 293 294 /* Check for unusual interrupts. If any of these happen, we should 295 probably do something special, but for now just printing a message 296 is sufficient. A SCSI reset detected is something that we really 297 need to deal with in some way. */ 298 if (flag & ~MBIF) { 299 if (flag & MBOA) 300 printk("MBOF "); 301 if (flag & HACC) 302 printk("HACC "); 303 if (flag & SCRD) 304 printk("SCRD "); 305 } 306 aha1542_intr_reset(sh->io_port); 307 308 mbi = aha1542->aha1542_last_mbi_used + 1; 309 if (mbi >= 2 * AHA1542_MAILBOXES) 310 mbi = AHA1542_MAILBOXES; 311 312 do { 313 if (mb[mbi].status != 0) 314 break; 315 mbi++; 316 if (mbi >= 2 * AHA1542_MAILBOXES) 317 mbi = AHA1542_MAILBOXES; 318 } while (mbi != aha1542->aha1542_last_mbi_used); 319 320 if (mb[mbi].status == 0) { 321 spin_unlock_irqrestore(sh->host_lock, flags); 322 /* Hmm, no mail. Must have read it the last time around */ 323 if (!number_serviced) 324 shost_printk(KERN_WARNING, sh, "interrupt received, but no mail.\n"); 325 return IRQ_HANDLED; 326 }; 327 > 328 mbo = (scsi2int(mb[mbi].ccbptr) - aha1542->ccb_handle) > / sizeof(struct ccb); 329 mbistatus = mb[mbi].status; 330 mb[mbi].status = 0; 331 aha1542->aha1542_last_mbi_used = mbi; 332 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 7/8] qedi: Move LL2 producer index processing in BH.
Hi Manish, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.20-rc3 next-20181120] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Nilesh-Javali/qedi-bug-fixes/20181121-022440 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-x012-201846 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/scsi//qedi/qedi_main.c: In function 'qedi_ll2_process_skb': >> drivers/scsi//qedi/qedi_main.c:752:31: error: 'qedi_ll2_buf_size' undeclared >> (first use in this function); did you mean 'qedi_ll2_free_skbs'? pkt = udev->rx_pkt + (prod * qedi_ll2_buf_size); ^ qedi_ll2_free_skbs drivers/scsi//qedi/qedi_main.c:752:31: note: each undeclared identifier is reported only once for each function it appears in vim +752 drivers/scsi//qedi/qedi_main.c 727 728 /* map this skb to iscsiuio mmaped region */ 729 static int qedi_ll2_process_skb(struct qedi_ctx *qedi, struct sk_buff *skb, 730 u16 vlan_id) 731 { 732 struct qedi_uio_dev *udev = NULL; 733 struct qedi_uio_ctrl *uctrl = NULL; 734 struct qedi_rx_bd rxbd; 735 struct qedi_rx_bd *p_rxbd; 736 u32 rx_bd_prod; 737 void *pkt; 738 int len = 0; 739 u32 prod; 740 741 if (!qedi) { 742 QEDI_ERR(NULL, "qedi is NULL\n"); 743 return -1; 744 } 745 746 udev = qedi->udev; 747 uctrl = udev->uctrl; 748 749 ++uctrl->hw_rx_prod_cnt; 750 prod = (uctrl->hw_rx_prod + 1) % RX_RING; 751 > 752 pkt = udev->rx_pkt + (prod * qedi_ll2_buf_size); 753 len = min_t(u32, skb->len, (u32)LL2_SINGLE_BUF_SIZE); 754 memcpy(pkt, skb->data, len); 755 756 memset(, 0, sizeof(rxbd)); 757 rxbd.rx_pkt_index = prod; 758 rxbd.rx_pkt_len = len; 759 rxbd.vlan_id = vlan_id; 760 761 uctrl->hw_rx_bd_prod = (uctrl->hw_rx_bd_prod + 1) % QEDI_NUM_RX_BD; 762 rx_bd_prod = uctrl->hw_rx_bd_prod; 763 p_rxbd = (struct qedi_rx_bd *)udev->ll2_ring; 764 p_rxbd += rx_bd_prod; 765 766 memcpy(p_rxbd, , sizeof(rxbd)); 767 768 QEDI_INFO(>dbg_ctx, QEDI_LOG_LL2, 769"hw_rx_prod [%d] prod [%d] hw_rx_bd_prod [%d] rx_pkt_idx [%d] rx_len [%d].\n", 770uctrl->hw_rx_prod, prod, uctrl->hw_rx_bd_prod, 771rxbd.rx_pkt_index, rxbd.rx_pkt_len); 772 QEDI_INFO(>dbg_ctx, QEDI_LOG_LL2, 773"host_rx_cons [%d] hw_rx_bd_cons [%d].\n", 774uctrl->host_rx_cons, uctrl->host_rx_bd_cons); 775 776 uctrl->hw_rx_prod = prod; 777 778 /* notify the iscsiuio about new packet */ 779 uio_event_notify(>qedi_uinfo); 780 781 return 0; 782 } 783 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3 8/8] sg: user controls for q_at_head, read_value
Hi linux-scsi-owner, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.19 next-20181019] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/linux-scsi-owner-vger-kernel-org/sg-types-and-naming-cleanup/20181026-220008 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-r0-10262157 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from include/linux/kernel.h:14:0, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/scsi/sg.c:22: drivers/scsi/sg.c: In function 'init_sg': >> drivers/scsi/sg.c:2277:3: error: 'sg_version_date' undeclared (first use in >> this function) sg_version_date); ^ include/linux/printk.h:315:34: note: in definition of macro 'pr_info' printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ^~~ drivers/scsi/sg.c:2277:3: note: each undeclared identifier is reported only once for each function it appears in sg_version_date); ^ include/linux/printk.h:315:34: note: in definition of macro 'pr_info' printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ^~~ drivers/scsi/sg.c: At top level: drivers/scsi/sg.c:246:20: warning: 'sg_rq_state_str' used but never defined static const char *sg_rq_state_str(enum sg_rq_state rq_state, bool long_str); ^~~ vim +/sg_version_date +2277 drivers/scsi/sg.c 2256 2257 static int __init 2258 init_sg(void) 2259 { 2260 int rc; 2261 2262 if (scatter_elem_sz < PAGE_SIZE) { 2263 scatter_elem_sz = PAGE_SIZE; 2264 scatter_elem_sz_prev = scatter_elem_sz; 2265 } 2266 if (def_reserved_size >= 0) 2267 sg_big_buff = def_reserved_size; 2268 else 2269 def_reserved_size = sg_big_buff; 2270 2271 rc = register_chrdev_region(MKDEV(SCSI_GENERIC_MAJOR, 0), 2272 SG_MAX_DEVS, "sg"); 2273 if (rc) 2274 return rc; 2275 pr_info("Registered %s[char major=0x%x], version: %s, date: %s\n", 2276 "sg device ", SCSI_GENERIC_MAJOR, SG_VERSION_STR, > 2277 sg_version_date); 2278 sg_sysfs_class = class_create(THIS_MODULE, "scsi_generic"); 2279 if ( IS_ERR(sg_sysfs_class) ) { 2280 rc = PTR_ERR(sg_sysfs_class); 2281 goto err_out; 2282 } 2283 sg_sysfs_valid = 1; 2284 rc = scsi_register_interface(_interface); 2285 if (0 == rc) { 2286 #ifdef CONFIG_SCSI_PROC_FS 2287 sg_proc_init(); 2288 #endif /* CONFIG_SCSI_PROC_FS */ 2289 return 0; 2290 } 2291 class_destroy(sg_sysfs_class); 2292 err_out: 2293 unregister_chrdev_region(MKDEV(SCSI_GENERIC_MAJOR, 0), SG_MAX_DEVS); 2294 return rc; 2295 } 2296 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 5/8] sg: add free list, rework locking
Hi linux-scsi-owner, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.19-rc8 next-20181019] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/linux-scsi-owner-vger-kernel-org/sg-major-cleanup-remove-max_queue-limit/20181019-183809 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: i386-randconfig-i1-201841 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/scsi/sg.o: In function `sg_rq_end_io_usercontext': >> drivers/scsi/sg.c:1494: undefined reference to `sg_rq_state_str' >> drivers/scsi/sg.c:1494: undefined reference to `sg_rq_state_str' vim +1494 drivers/scsi/sg.c 1470 1471 /* 1472 * This user context function is needed to clean up a request that has been 1473 * interrupted (e.g. by control-C at keyboard). That leads to a request 1474 * being an 'orphan' and will be cleared here unless the 'keep_orphan' flag 1475 * has been set on the owning file descriptor. In that case the user is 1476 * expected to call read() or ioctl(SG_IORECEIVE) to receive the response 1477 * and free resources held by the interrupted request. 1478 */ 1479 static void 1480 sg_rq_end_io_usercontext(struct work_struct *work) 1481 { 1482 struct sg_request *srp = container_of(work, struct sg_request, ew.work); 1483 struct sg_fd *sfp; 1484 1485 if (!srp) { 1486 WARN_ONCE("s: srp unexpectedly NULL\n", __func__); 1487 return; 1488 } 1489 sfp = srp->parentfp; 1490 if (!sfp) { 1491 WARN_ONCE(1, "%s: sfp unexpectedly NULL\n", __func__); 1492 return; 1493 } > 1494 SG_LOG(3, sfp->parentdp, "%s: clean srp=0x%p, rq_state: %s\n", 1495 __func__, srp, sg_rq_state_str(srp->rq_state, true)); 1496 sg_finish_scsi_blk_rq(srp); 1497 sg_remove_request(sfp, srp); 1498 kref_put(>f_ref, sg_remove_sfp); 1499 } 1500 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 6/8] sg: complete locking changes on ioctl+debug
Hi linux-scsi-owner, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.19-rc8 next-20181019] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/linux-scsi-owner-vger-kernel-org/sg-major-cleanup-remove-max_queue-limit/20181019-183809 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: arm-multi_v5_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): >> ERROR: "sg_rq_state_str" [drivers/scsi/sg.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 5/8] sg: add free list, rework locking
Hi linux-scsi-owner, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.19-rc8 next-20181019] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/linux-scsi-owner-vger-kernel-org/sg-major-cleanup-remove-max_queue-limit/20181019-183809 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: i386-randconfig-x078-201841 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): >> drivers//scsi/sg.c:240:20: warning: 'sg_rq_state_str' used but never defined static const char *sg_rq_state_str(u8 rq_state, bool long_str); ^~~ drivers//scsi/sg.c:933:1: warning: 'sg_fill_request_table' defined but not used [-Wunused-function] sg_fill_request_table(struct sg_fd *sfp, struct sg_req_info *rinfo, ^ drivers//scsi/sg.c:19:12: warning: 'sg_version_num' defined but not used [-Wunused-variable] static int sg_version_num = 30901; /* 2 digits for each component */ ^~ vim +/sg_rq_state_str +240 drivers//scsi/sg.c 212 213 /* tasklet or soft irq callback */ 214 static void sg_rq_end_io(struct request *rq, blk_status_t status); 215 static int sg_start_req(struct sg_request *srp, u8 *cmd); 216 static void sg_finish_scsi_blk_rq(struct sg_request *srp); 217 static int sg_mk_sgat_dlen(struct sg_request *srp, struct sg_fd *sfp, 218 int dlen); 219 static ssize_t sg_new_read(struct sg_fd *sfp, char __user *buf, size_t count, 220 struct sg_request *srp); 221 static ssize_t sg_v3_write(struct sg_fd *sfp, struct file *file, 222 const char __user *buf, size_t count, 223 bool read_only, bool sync, 224 struct sg_request **o_srp); 225 static struct sg_request *sg_common_write(struct sg_fd *sfp, 226const struct sg_io_hdr *hp, 227struct sg_io_v4 *h4p, u8 *cmnd, 228bool sync, int timeout); 229 static int sg_read_oxfer(struct sg_request *srp, char __user *outp, 230 int num_xfer); 231 static void sg_remove_sgat(struct sg_request *srp); 232 static struct sg_fd *sg_add_sfp(struct sg_device *sdp); 233 static void sg_remove_sfp(struct kref *); 234 static struct sg_request *sg_get_rq_pack_id(struct sg_fd *sfp, int pack_id); 235 static struct sg_request *sg_add_request(struct sg_fd *sfp, int dxfr_len, 236 bool sync); 237 static void sg_remove_request(struct sg_fd *sfp, struct sg_request *srp); 238 static struct sg_device *sg_get_dev(int min_dev); 239 static void sg_device_destroy(struct kref *kref); > 240 static const char *sg_rq_state_str(u8 rq_state, bool long_str); 241 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[scsi:misc 194/233] ERROR: "__aeabi_uldivmod" [drivers/scsi/myrs.ko] undefined!
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git misc head: 4d5b4ac1eae471bcd0fa381ab4099cc33e94e15d commit: 77266186397c6c782a3f670d32808a9671806ec5 [194/233] scsi: myrs: Add Mylex RAID controller (SCSI interface) config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 77266186397c6c782a3f670d32808a9671806ec5 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): >> ERROR: "__aeabi_uldivmod" [drivers/scsi/myrs.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[scsi:misc 194/233] ERROR: "__udivdi3" [drivers/scsi/myrs.ko] undefined!
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git misc head: 4d5b4ac1eae471bcd0fa381ab4099cc33e94e15d commit: 77266186397c6c782a3f670d32808a9671806ec5 [194/233] scsi: myrs: Add Mylex RAID controller (SCSI interface) config: i386-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 77266186397c6c782a3f670d32808a9671806ec5 # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> ERROR: "__udivdi3" [drivers/scsi/myrs.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3] target: split out helper for cxn timeout error stashing
Hi David, Thank you for the patch! Yet something to improve: [auto build test ERROR on target/master] [also build test ERROR on v4.19-rc7 next-20181012] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/David-Disseldorp/target-split-out-helper-for-cxn-timeout-error-stashing/20181014-111810 base: https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master config: i386-randconfig-s1-201841 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/target/iscsi/iscsi_target_util.c: In function 'iscsit_handle_nopin_response_timeout': >> drivers/target/iscsi/iscsi_target_util.c:902:36: error: 'sess' undeclared >> (first use in this function) iscsit_fill_cxn_timeout_err_stats(sess); ^~~~ drivers/target/iscsi/iscsi_target_util.c:902:36: note: each undeclared identifier is reported only once for each function it appears in vim +/sess +902 drivers/target/iscsi/iscsi_target_util.c 882 883 static void iscsit_handle_nopin_response_timeout(unsigned long data) 884 { 885 struct iscsi_conn *conn = (struct iscsi_conn *) data; 886 887 iscsit_inc_conn_usage_count(conn); 888 889 spin_lock_bh(>nopin_timer_lock); 890 if (conn->nopin_response_timer_flags & ISCSI_TF_STOP) { 891 spin_unlock_bh(>nopin_timer_lock); 892 iscsit_dec_conn_usage_count(conn); 893 return; 894 } 895 896 pr_debug("Did not receive response to NOPIN on CID: %hu on" 897 " SID: %u, failing connection.\n", conn->cid, 898 conn->sess->sid); 899 conn->nopin_response_timer_flags &= ~ISCSI_TF_RUNNING; 900 spin_unlock_bh(>nopin_timer_lock); 901 > 902 iscsit_fill_cxn_timeout_err_stats(sess); 903 iscsit_cause_connection_reinstatement(conn, 0); 904 iscsit_dec_conn_usage_count(conn); 905 } 906 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3] target: split out helper for cxn timeout error stashing
Hi David, Thank you for the patch! Yet something to improve: [auto build test ERROR on target/master] [also build test ERROR on v4.19-rc7 next-20181012] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/David-Disseldorp/target-split-out-helper-for-cxn-timeout-error-stashing/20181014-111810 base: https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master config: x86_64-randconfig-x007-201841 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/target/iscsi/iscsi_target_util.c: In function 'iscsit_handle_nopin_response_timeout': >> drivers/target/iscsi/iscsi_target_util.c:902:36: error: 'sess' undeclared >> (first use in this function); did you mean 'sem'? iscsit_fill_cxn_timeout_err_stats(sess); ^~~~ sem drivers/target/iscsi/iscsi_target_util.c:902:36: note: each undeclared identifier is reported only once for each function it appears in vim +902 drivers/target/iscsi/iscsi_target_util.c 882 883 static void iscsit_handle_nopin_response_timeout(unsigned long data) 884 { 885 struct iscsi_conn *conn = (struct iscsi_conn *) data; 886 887 iscsit_inc_conn_usage_count(conn); 888 889 spin_lock_bh(>nopin_timer_lock); 890 if (conn->nopin_response_timer_flags & ISCSI_TF_STOP) { 891 spin_unlock_bh(>nopin_timer_lock); 892 iscsit_dec_conn_usage_count(conn); 893 return; 894 } 895 896 pr_debug("Did not receive response to NOPIN on CID: %hu on" 897 " SID: %u, failing connection.\n", conn->cid, 898 conn->sess->sid); 899 conn->nopin_response_timer_flags &= ~ISCSI_TF_RUNNING; 900 spin_unlock_bh(>nopin_timer_lock); 901 > 902 iscsit_fill_cxn_timeout_err_stats(sess); 903 iscsit_cause_connection_reinstatement(conn, 0); 904 iscsit_dec_conn_usage_count(conn); 905 } 906 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 1/5] qla2xxx_nvmet: Add files for FC-NVMe Target support
Hi Anil, I love your patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.19-rc5 next-20180926] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20180926-132955 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-s0-09270145 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20180926-132955 HEAD ac552b3775986d6ba46be8dfa15cc47511c2e47c builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from drivers/scsi//qla2xxx/qla_nvmet.c:14:0: drivers/scsi//qla2xxx/qla_nvmet.h:30:25: error: field 'nvme_cmd_iu' has incomplete type struct atio7_nvme_cmnd nvme_cmd_iu; ^~~ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qlt_nvmet_ls_done': drivers/scsi//qla2xxx/qla_nvmet.c:48:46: error: 'struct ' has no member named 'cmd' struct qla_nvmet_cmd *tgt_cmd = nvme->u.nvme.cmd; ^ drivers/scsi//qla2xxx/qla_nvmet.c:58:47: error: 'struct ' has no member named 'cmd' sp, sp->vha, nvme->u.nvme.desc, nvme->u.nvme.cmd); ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_ls_rsp': >> drivers/scsi//qla2xxx/qla_nvmet.c:95:13: error: 'SRB_NVMET_LS' undeclared >> (first use in this function) sp->type = SRB_NVMET_LS; ^~~~ drivers/scsi//qla2xxx/qla_nvmet.c:95:13: note: each undeclared identifier is reported only once for each function it appears in drivers/scsi//qla2xxx/qla_nvmet.c:103:14: error: 'struct ' has no member named 'exchange_address' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ drivers/scsi//qla2xxx/qla_nvmet.c:103:49: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ drivers/scsi//qla2xxx/qla_nvmet.c:104:14: error: 'struct ' has no member named 'nport_handle' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ drivers/scsi//qla2xxx/qla_nvmet.c:104:45: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ drivers/scsi//qla2xxx/qla_nvmet.c:105:14: error: 'struct ' has no member named 'vp_index' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi//qla2xxx/qla_nvmet.c:105:41: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi//qla2xxx/qla_nvmet.c:107:14: error: 'struct ' has no member named 'cmd' nvme->u.nvme.cmd = tgt_cmd; /* To be freed */ ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_fcp_abort': >> drivers/scsi//qla2xxx/qla_nvmet.c:178:13: error: 'SRB_NVMET_SEND_ABTS' >> undeclared (first use in this function) sp->type = SRB_NVMET_SEND_ABTS; ^~~ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_create_targetport': >> drivers/scsi//qla2xxx/qla_nvmet.c:240:9: error: 'ql_dbg_nvme' undeclared >> (first use in this function) ql_dbg(ql_dbg_nvme, vha, 0xe081, ^~~ drivers/scsi//qla2xxx/qla_nvmet.c:250:10: error: 'struct scsi_qla_host' has no member named 'targetport' >targetport); ^~ drivers/scsi//qla2xxx/qla_nvmet.c:257:41: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^~ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_delete': drivers/scsi//qla2xxx/qla_nvmet.c:276:17: error: 'volatile struct ' has no member named 'nvmet_enabled'; did you mean 'nvme_enabled'? if (!vha->flags.nvmet_enabled) ^ drivers/scsi//qla2xxx/qla_nvmet.c:278:9: error: 'struct scsi_qla_host' has no member named 'targetport' if (vha->targetport) { ^~ drivers/scsi//qla2xxx/qla_nvmet.c:279:42: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^~ drivers/scsi//qla2xxx/qla_nvmet.c:281:10: error: 'ql_dbg_nvme' undeclared (first use in this function) ql_dbg(ql_dbg_nvme, vha, 0xe083,
Re: [PATCH v2 1/5] qla2xxx_nvmet: Add files for FC-NVMe Target support
Hi Anil, I love your patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.19-rc5 next-20180926] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20180926-132955 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: powerpc-pseries_defconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=powerpc Note: the linux-review/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20180926-132955 HEAD ac552b3775986d6ba46be8dfa15cc47511c2e47c builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from drivers/scsi/qla2xxx/qla_nvmet.c:14:0: >> drivers/scsi/qla2xxx/qla_nvmet.h:30:25: error: field 'nvme_cmd_iu' has >> incomplete type struct atio7_nvme_cmnd nvme_cmd_iu; ^~~ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qlt_nvmet_ls_done': >> drivers/scsi/qla2xxx/qla_nvmet.c:48:46: error: 'struct ' has no >> member named 'cmd' struct qla_nvmet_cmd *tgt_cmd = nvme->u.nvme.cmd; ^ drivers/scsi/qla2xxx/qla_nvmet.c:58:47: error: 'struct ' has no member named 'cmd' sp, sp->vha, nvme->u.nvme.desc, nvme->u.nvme.cmd); ^ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_ls_rsp': >> drivers/scsi/qla2xxx/qla_nvmet.c:95:13: error: 'SRB_NVMET_LS' undeclared >> (first use in this function); did you mean 'SRB_NVME_LS'? sp->type = SRB_NVMET_LS; ^~~~ SRB_NVME_LS drivers/scsi/qla2xxx/qla_nvmet.c:95:13: note: each undeclared identifier is reported only once for each function it appears in >> drivers/scsi/qla2xxx/qla_nvmet.c:103:14: error: 'struct ' has no >> member named 'exchange_address' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ >> drivers/scsi/qla2xxx/qla_nvmet.c:103:49: error: 'union ' has no >> member named 'pt_ls4' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ >> drivers/scsi/qla2xxx/qla_nvmet.c:104:14: error: 'struct ' has no >> member named 'nport_handle' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ drivers/scsi/qla2xxx/qla_nvmet.c:104:45: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ >> drivers/scsi/qla2xxx/qla_nvmet.c:105:14: error: 'struct ' has no >> member named 'vp_index' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi/qla2xxx/qla_nvmet.c:105:41: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi/qla2xxx/qla_nvmet.c:107:14: error: 'struct ' has no member named 'cmd' nvme->u.nvme.cmd = tgt_cmd; /* To be freed */ ^ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_fcp_abort': drivers/scsi/qla2xxx/qla_nvmet.c:178:13: error: 'SRB_NVMET_SEND_ABTS' undeclared (first use in this function); did you mean 'CF_NVME_ENABLE'? sp->type = SRB_NVMET_SEND_ABTS; ^~~ CF_NVME_ENABLE drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_create_targetport': >> drivers/scsi/qla2xxx/qla_nvmet.c:240:9: error: 'ql_dbg_nvme' undeclared >> (first use in this function); did you mean 'ql_dbg_timer'? ql_dbg(ql_dbg_nvme, vha, 0xe081, ^~~ ql_dbg_timer >> drivers/scsi/qla2xxx/qla_nvmet.c:250:10: error: 'struct scsi_qla_host' has >> no member named 'targetport' >targetport); ^~ drivers/scsi/qla2xxx/qla_nvmet.c:257:41: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^~ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_delete': >> drivers/scsi/qla2xxx/qla_nvmet.c:276:18: error: 'volatile struct >> ' has no member named 'nvmet_enabled'; did you mean >> 'nvme_enabled'? if (!vha->flags.nvmet_enabled) ^ nvme_enabled drivers/scsi/qla2xxx/qla_nvmet.c:278:9: error: 'struct scsi_qla_host' has no member named 'targetport' if (vha->targetport) {
Re: [PATCH 4/6] qla2xxx_nvmet: Add FC-NVMe Target handling
Hi Anil, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20180913] [cannot apply to v4.19-rc3] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20180916-090108 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=xtensa All warnings (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_send_plogi_resp': >> drivers/scsi/qla2xxx/qla_target.c:480:63: warning: format '%llx' expects >> argument of type 'long long unsigned int', but argument 8 has type >> 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] "sp: %p, vha: %p, plogi_ack_buf: %p, plogi_ack_udma: %#llx\n", ^ %#x sp, vha, plogi_ack_buf, plogi_ack_udma); ~~ drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_process_logo': drivers/scsi/qla2xxx/qla_target.c:693:60: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] "sp: %p, vha: %p, logo_ack_buf: %p, logo_ack_buf: %#llx\n", ^ %#x sp, vha, logo_ack_buf, logo_ack_udma); ~ vim +480 drivers/scsi/qla2xxx/qla_target.c 456 457 static int qlt_send_plogi_resp(struct scsi_qla_host *vha, uint8_t op_code, 458 struct purex_entry_24xx *purex, struct fc_port *fcport) 459 { 460 int ret, rval, i; 461 dma_addr_t plogi_ack_udma = vha->vha_tgt.qla_tgt->nvme_els_rsp; 462 void *plogi_ack_buf = vha->vha_tgt.qla_tgt->nvme_els_ptr; 463 uint8_t *tmp; 464 uint32_t *opcode; 465 srb_t *sp; 466 467 /* Alloc SRB structure */ 468 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); 469 if (!sp) { 470 ql_log(ql_log_info, vha, 0x11033, 471 "Failed to allocate SRB\n"); 472 return -ENOMEM; 473 } 474 475 sp->type = SRB_NVME_ELS_RSP; 476 sp->done = qlt_nvme_els_done; 477 sp->vha = vha; 478 479 ql_log(ql_log_info, vha, 0x11034, > 480 "sp: %p, vha: %p, plogi_ack_buf: %p, plogi_ack_udma: > %#llx\n", 481 sp, vha, plogi_ack_buf, plogi_ack_udma); 482 483 sp->u.snvme_els.dma_addr = plogi_ack_udma; 484 sp->u.snvme_els.dma_ptr = plogi_ack_buf; 485 sp->gen1 = 116; 486 sp->gen2 = ELS_ACC; 487 sp->u.snvme_els.ptr = (struct purex_entry_24xx *)purex; 488 sp->cmd_type = ELS_PLOGI; 489 490 tmp = (uint8_t *)plogi_ack_udma; 491 492 tmp += 4; /* fw doesn't return 1st 4 bytes where opcode goes */ 493 494 ret = qla2x00_get_plogi_template(vha, (dma_addr_t)tmp, (116/4 - 1)); 495 if (ret) { 496 ql_log(ql_log_warn, vha, 0x11035, 497 "Failed to get plogi template\n"); 498 return -ENOMEM; 499 } 500 501 opcode = (uint32_t *) plogi_ack_buf; 502 *opcode = cpu_to_be32(ELS_ACC << 24); 503 504 for (i = 0; i < 0x1c; i++) { 505 ++opcode; 506 *opcode = cpu_to_be32(*opcode); 507 } 508 509 ql_dbg(ql_dbg_disc + ql_dbg_verbose, vha, 0xfff3, 510 "Dumping the PLOGI from fw\n"); 511 ql_dump_buffer(ql_dbg_disc + ql_dbg_verbose, vha, 0x70cf, 512 (uint8_t *)plogi_ack_buf, 116); 513 514 rval = qla2x00_start_sp(sp); 515 if (rval != QLA_SUCCESS) 516 qla2x00_rel_sp(sp); 517 518 return 0; 519 } 520 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3] target/iblock: split T10 PI SGL across command bios
Hi Greg, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on target/for-next] [also build test WARNING on v4.19-rc1 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Greg-Edwards/target-iblock-split-T10-PI-SGL-across-command-bios/20180831-204618 base: https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git for-next config: i386-randconfig-h1-09010405 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers//target/target_core_iblock.c: In function 'iblock_alloc_bip': drivers//target/target_core_iblock.c:663:2: error: implicit declaration of function 'bio_integrity_bytes' [-Werror=implicit-function-declaration] bip->bip_iter.bi_size = bio_integrity_bytes(bi, bio_sectors(bio)); ^ In file included from include/linux/printk.h:329:0, from include/linux/kernel.h:14, from include/linux/list.h:9, from include/linux/timer.h:5, from drivers//target/target_core_iblock.c:29: >> include/linux/dynamic_debug.h:75:16: warning: format '%lu' expects argument >> of type 'long unsigned int', but argument 4 has type 'size_t' [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:111:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA_KEY' DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, 0, 0) ^ include/linux/dynamic_debug.h:125:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA' DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:333:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers//target/target_core_iblock.c:681:3: note: in expansion of macro 'pr_debug' pr_debug("Added bio integrity page: %p length: %lu offset: %lu\n", ^ cc1: some warnings being treated as errors -- drivers/target/target_core_iblock.c: In function 'iblock_alloc_bip': drivers/target/target_core_iblock.c:663:2: error: implicit declaration of function 'bio_integrity_bytes' [-Werror=implicit-function-declaration] bip->bip_iter.bi_size = bio_integrity_bytes(bi, bio_sectors(bio)); ^ In file included from include/linux/printk.h:329:0, from include/linux/kernel.h:14, from include/linux/list.h:9, from include/linux/timer.h:5, from drivers/target/target_core_iblock.c:29: >> include/linux/dynamic_debug.h:75:16: warning: format '%lu' expects argument >> of type 'long unsigned int', but argument 4 has type 'size_t' [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:111:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA_KEY' DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, 0, 0) ^ include/linux/dynamic_debug.h:125:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA' DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:333:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/target/target_core_iblock.c:681:3: note: in expansion of macro 'pr_debug' pr_debug("Added bio integrity page: %p length: %lu offset: %lu\n", ^ cc1: some warnings being treated as errors vim +75 include/linux/dynamic_debug.h ffa10cb4 Jason Baron 2011-08-11 68 b9075fa9 Joe Perches 2011-10-31 69 extern __printf(3, 4) 906d2015 Joe Perches 2014-09-24 70 void __dynamic_netdev_dbg(struct _ddebug *descriptor, ffa10cb4 Jason Baron 2011-08-11 71 const struct net_device *dev, b9075fa9 Joe Perches 2011-10-31 72 const char *fmt, ...); ffa10cb4 Jason Baron 2011-08-11 73 9049fc74 Jason Baron 2016-08-03 74 #define DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, key, init)\ c0d2af63 Joe Perches 2012-10-18 @75 static struct _ddebug __aligned(8) \ 07613b0b Jason Baron 2011-10-04 76 __attribute__((section("__verbose"))) name = { \ 07613b0b Jason Baron 2011-10-04 77 .modname = KBUILD_MODNAME, \ 07613b0b Jason Baron 2011-10-04 78 .function = __func__, \ 07613b0b Jason Baron 2011-10-04 79 .filename = __FILE__, \ 07613b0b Jason Baron 2011-10-04 80 .format = (fmt), \ 07613b0b Jason Baron 2011-10-04 81 .lineno = __LINE__, \ 07613b0b Jason Baron 2011-10-04 82 .flags = _DPRINTK_FLAGS_DEFAULT,\
Re: [PATCH 03/14] qla2xxx: Use correct qpair for ABTS/CMD
Hi Quinn, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.19-rc1 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Driver-updates-for-scsi-misc/20180831-205814 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/scsi/qla2xxx/qla_init.c:4921:22: sparse: expression using sizeof(void) drivers/scsi/qla2xxx/qla_init.c:4928:37: sparse: incorrect type in assignment (different base types) @@expected unsigned int [unsigned] [usertype] @@got ed int [unsigned] [usertype] @@ drivers/scsi/qla2xxx/qla_init.c:4928:37:expected unsigned int [unsigned] [usertype] drivers/scsi/qla2xxx/qla_init.c:4928:37:got restricted __be32 [usertype] drivers/scsi/qla2xxx/qla_init.c:4981:35: sparse: cast to restricted __le16 include/linux/slab.h:631:13: sparse: undefined identifier '__builtin_mul_overflow' drivers/scsi/qla2xxx/qla_init.c:422:5: sparse: symbol 'qla_post_els_plogi_work' was not declared. Should it be static? drivers/scsi/qla2xxx/qla_init.c:796:39: sparse: restricted __le16 degrades to integer drivers/scsi/qla2xxx/qla_init.c:798:47: sparse: restricted __le16 degrades to integer drivers/scsi/qla2xxx/qla_init.c:800:28: sparse: incorrect type in assignment (different base types) @@expected unsigned short [unsigned] [short] @@got unsigned] [short] @@ drivers/scsi/qla2xxx/qla_init.c:800:28:expected unsigned short [unsigned] [short] drivers/scsi/qla2xxx/qla_init.c:800:28:got restricted __le16 drivers/scsi/qla2xxx/qla_init.c:918:12: sparse: incorrect type in assignment (different base types) @@expected unsigned short [usertype] *mb @@got short [usertype] *mb @@ drivers/scsi/qla2xxx/qla_init.c:918:12:expected unsigned short [usertype] *mb drivers/scsi/qla2xxx/qla_init.c:918:12:got restricted __le16 * drivers/scsi/qla2xxx/qla_init.c:967:19: sparse: incorrect type in initializer (different base types) @@expected unsigned short [usertype] *mb @@got short [usertype] *mb @@ drivers/scsi/qla2xxx/qla_init.c:967:19:expected unsigned short [usertype] *mb drivers/scsi/qla2xxx/qla_init.c:967:19:got restricted __le16 * drivers/scsi/qla2xxx/qla_init.c:1136:12: sparse: incorrect type in assignment (different base types) @@expected unsigned short [usertype] *mb @@got short [usertype] *mb @@ drivers/scsi/qla2xxx/qla_init.c:1136:12:expected unsigned short [usertype] *mb drivers/scsi/qla2xxx/qla_init.c:1136:12:got restricted __le16 * drivers/scsi/qla2xxx/qla_init.c:1525:6: sparse: symbol 'qla_handle_els_plogi_done' was not declared. Should it be static? drivers/scsi/qla2xxx/qla_init.c:1649:32: sparse: incorrect type in assignment (different base types) @@expected restricted __le16 [usertype] comp_status @@got e] comp_status @@ drivers/scsi/qla2xxx/qla_init.c:1649:32:expected restricted __le16 [usertype] comp_status drivers/scsi/qla2xxx/qla_init.c:1649:32:got int drivers/scsi/qla2xxx/qla_init.c:1729:32: sparse: incorrect type in assignment (different base types) @@expected restricted __le16 [usertype] comp_status @@got e] comp_status @@ drivers/scsi/qla2xxx/qla_init.c:1729:32:expected restricted __le16 [usertype] comp_status drivers/scsi/qla2xxx/qla_init.c:1729:32:got int >> drivers/scsi/qla2xxx/qla_init.c:1771:36: sparse: incorrect type in >> assignment (different base types) @@expected restricted __le16 >> [usertype] req_que_no @@got unsignedrestricted __le16 [usertype] >> req_que_no @@ drivers/scsi/qla2xxx/qla_init.c:1771:36:expected restricted __le16 [usertype] req_que_no drivers/scsi/qla2xxx/qla_init.c:1771:36:got unsigned short [unsigned] [usertype] id drivers/scsi/qla2xxx/qla_init.c:3221:46: sparse: incorrect type in assignment (different base types) @@expected unsigned int [unsigned] [usertype] version @@got ed int [unsigned] [usertype] version @@ drivers/scsi/qla2xxx/qla_init.c:3221:46:expected unsigned int [unsigned] [usertype] version drivers/scsi/qla2xxx/qla_init.c:3221:46:got restricted __be32 [usertype] drivers/scsi/qla2xxx/qla_init.c:3223:49: sparse: incorrect type in assignment (different base types) @@expected unsigned int [unsigned] [usertype] fixed_size @@got ed int [unsigned] [usertype] fixed_size @@ drivers/scsi/qla2xxx/qla_init.c:3223:49:expected unsigned int [unsigned] [usertype] fixed_size drivers/scsi/qla2xxx/qla_init.c:3223:49:got restricted __be32 [usertype]
Re: [PATCH V4 3/3] scsi: ufs: Add configfs support for ufs provisioning
Hi Sayali, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.18-rc2 next-20180625] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sayali-Lokhande/Add-ufs-provisioning-support-in-driver/20180626-120644 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-kexec (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): >> ERROR: "ufshcd_configfs_init" [drivers/scsi/ufs/ufshcd-core.ko] undefined! >> ERROR: "ufshcd_configfs_exit" [drivers/scsi/ufs/ufshcd-core.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [RESEND] TCMUser: add read length support
Hi Bodo, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Bodo-Stroesser/TCMUser-add-read-length-support/20180526-231412 config: x86_64-randconfig-x003-201820 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers//target/target_core_user.c: In function 'tcmu_handle_completion': >> drivers//target/target_core_user.c:1077:28: error: >> 'SCF_TREAT_READ_AS_NORMAL' undeclared (first use in this function) se_cmd->se_cmd_flags |= SCF_TREAT_READ_AS_NORMAL; ^~~~ drivers//target/target_core_user.c:1077:28: note: each undeclared identifier is reported only once for each function it appears in vim +/SCF_TREAT_READ_AS_NORMAL +1077 drivers//target/target_core_user.c 1041 1042 static void tcmu_handle_completion(struct tcmu_cmd *cmd, struct tcmu_cmd_entry *entry) 1043 { 1044 struct se_cmd *se_cmd = cmd->se_cmd; 1045 struct tcmu_dev *udev = cmd->tcmu_dev; 1046 bool read_len_valid = false; 1047 uint32_t read_len = se_cmd->data_length; 1048 1049 /* 1050 * cmd has been completed already from timeout, just reclaim 1051 * data area space and free cmd 1052 */ 1053 if (test_bit(TCMU_CMD_BIT_EXPIRED, >flags)) 1054 goto out; 1055 1056 tcmu_cmd_reset_dbi_cur(cmd); 1057 1058 if (entry->hdr.uflags & TCMU_UFLAG_UNKNOWN_OP) { 1059 pr_warn("TCMU: Userspace set UNKNOWN_OP flag on se_cmd %p\n", 1060 cmd->se_cmd); 1061 entry->rsp.scsi_status = SAM_STAT_CHECK_CONDITION; 1062 goto done; 1063 } 1064 1065 if (se_cmd->data_direction == DMA_FROM_DEVICE && 1066 (entry->hdr.uflags & TCMU_UFLAG_READ_LEN) && entry->rsp.read_len) { 1067 read_len_valid = true; 1068 if (entry->rsp.read_len < read_len) 1069 read_len = entry->rsp.read_len; 1070 } 1071 1072 if (entry->rsp.scsi_status == SAM_STAT_CHECK_CONDITION) { 1073 transport_copy_sense_to_cmd(se_cmd, entry->rsp.sense_buffer); 1074 if (!read_len_valid ) 1075 goto done; 1076 else > 1077 se_cmd->se_cmd_flags |= > SCF_TREAT_READ_AS_NORMAL; 1078 } 1079 if (se_cmd->se_cmd_flags & SCF_BIDI) { 1080 /* Get Data-In buffer before clean up */ 1081 gather_data_area(udev, cmd, true, read_len); 1082 } else if (se_cmd->data_direction == DMA_FROM_DEVICE) { 1083 gather_data_area(udev, cmd, false, read_len); 1084 } else if (se_cmd->data_direction == DMA_TO_DEVICE) { 1085 /* TODO: */ 1086 } else if (se_cmd->data_direction != DMA_NONE) { 1087 pr_warn("TCMU: data direction was %d!\n", 1088 se_cmd->data_direction); 1089 } 1090 1091 done: 1092 if (read_len_valid) { 1093 pr_debug("read_len = %d\n", read_len); 1094 target_complete_cmd_with_length(cmd->se_cmd, 1095 entry->rsp.scsi_status, read_len); 1096 } else 1097 target_complete_cmd(cmd->se_cmd, entry->rsp.scsi_status); 1098 1099 out: 1100 cmd->se_cmd = NULL; 1101 tcmu_cmd_free_data(cmd, cmd->dbi_cnt); 1102 tcmu_free_cmd(cmd); 1103 } 1104 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 1/2] Convert target drivers to use sbitmap
Hi Matthew, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc5 next-20180516] [cannot apply to target/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox/Use-sbitmap-instead-of-percpu_ida/20180516-143658 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/target/iscsi/iscsi_target_util.c:150:5: sparse: symbol >> 'iscsit_wait_for_tag' was not declared. Should it be static? drivers/target/iscsi/iscsi_target_util.c:1174:31: sparse: expression using sizeof(void) drivers/target/iscsi/iscsi_target_util.c:1174:31: sparse: expression using sizeof(void) Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
[RFC PATCH] iscsit_wait_for_tag() can be static
Fixes: 5aff7a710f13 ("Convert target drivers to use sbitmap") Signed-off-by: Fengguang Wu--- iscsi_target_util.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/target/iscsi/iscsi_target_util.c b/drivers/target/iscsi/iscsi_target_util.c index 28bcffa..e147aef 100644 --- a/drivers/target/iscsi/iscsi_target_util.c +++ b/drivers/target/iscsi/iscsi_target_util.c @@ -147,7 +147,7 @@ void iscsit_free_r2ts_from_list(struct iscsi_cmd *cmd) spin_unlock_bh(>r2t_lock); } -int iscsit_wait_for_tag(struct se_session *se_sess, int state, int *cpup) +static int iscsit_wait_for_tag(struct se_session *se_sess, int state, int *cpup) { int tag = -1; DEFINE_WAIT(wait);
Re: [PATCH-next] scsi: libsas: dynamically allocate and free ata host
Hi, Thank you for the patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on next-20180504] [cannot apply to v4.17-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/linux-kernel-owner-vger-kernel-org/scsi-libsas-dynamically-allocate-and-free-ata-host/20180507-105656 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-federa-25 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): >> ERROR: "ata_host_put" [drivers/scsi/libsas/libsas.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] qlogic_stub: Fixup NULL argument to host_reset()
Hi Hannes, I love your patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.17-rc3 next-20180504] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/qlogic_stub-Fixup-NULL-argument-to-host_reset/20180505-172602 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: parisc-allmodconfig (attached as .config) compiler: hppa-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=parisc All errors (new ones prefixed by >>): drivers/scsi/pcmcia/qlogic_stub.c: In function 'qlogic_resume': >> drivers/scsi/pcmcia/qlogic_stub.c:270:6: error: invalid type argument of >> '->' (have 'struct scsi_cmnd') scmd->device = ^~ >> drivers/scsi/pcmcia/qlogic_stub.c:272:26: error: incompatible type for >> argument 1 of 'qlogicfas408_host_reset' qlogicfas408_host_reset(scmd); ^~~~ In file included from drivers/scsi/pcmcia/qlogic_stub.c:49:0: drivers/scsi/pcmcia/../qlogicfas408.h:112:12: note: expected 'struct scsi_cmnd *' but argument is of type 'struct scsi_cmnd' extern int qlogicfas408_host_reset(struct scsi_cmnd *cmd); ^~~ vim +270 drivers/scsi/pcmcia/qlogic_stub.c 253 254 static int qlogic_resume(struct pcmcia_device *link) 255 { 256 scsi_info_t *info = link->priv; 257 /* Dummy command for host_reset function */ 258 struct scsi_cmnd scmd; 259 struct scsi_device sdev; 260 261 pcmcia_enable_device(link); 262 if ((info->manf_id == MANFID_MACNICA) || 263 (info->manf_id == MANFID_PIONEER) || 264 (info->manf_id == 0x0098)) { 265 outb(0x80, link->resource[0]->start + 0xd); 266 outb(0x24, link->resource[0]->start + 0x9); 267 outb(0x04, link->resource[0]->start + 0xd); 268 } 269 sdev.host = info->host; > 270 scmd->device = 271 > 272 qlogicfas408_host_reset(scmd); 273 274 return 0; 275 } 276 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 07/21] qedf: Add dcbx_not_wait module parameter so we won't wait for DCBX convergence to start discovery.
Hi Chad, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.17-rc2 next-20180426] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chad-Dupuis/qedf-Update-driver-to-8-33-16-20/20180427-062801 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/scsi/qedf/qedf_main.c:92:6: sparse: symbol 'qedf_dcbx_no_wait' was >> not declared. Should it be static? drivers/scsi/qedf/qedf_main.c:1878:18: sparse: incorrect type in assignment (different base types) @@expected unsigned short [unsigned] [usertype] prod_idx @@got igned] [usertype] prod_idx @@ drivers/scsi/qedf/qedf_main.c:1878:18:expected unsigned short [unsigned] [usertype] prod_idx drivers/scsi/qedf/qedf_main.c:1878:18:got restricted __le16 drivers/scsi/qedf/qedf_main.c:1908:18: sparse: incorrect type in assignment (different base types) @@expected unsigned short [unsigned] [usertype] prod_idx @@got igned] [usertype] prod_idx @@ drivers/scsi/qedf/qedf_main.c:1908:18:expected unsigned short [unsigned] [usertype] prod_idx drivers/scsi/qedf/qedf_main.c:1908:18:got restricted __le16 drivers/scsi/qedf/qedf_main.c:1926:33: sparse: restricted __le32 degrades to integer drivers/scsi/qedf/qedf_main.c:1944:26: sparse: restricted __le32 degrades to integer include/linux/qed/qed_if.h:988:33: sparse: incorrect type in assignment (different base types) @@expected restricted __le32 [usertype] sb_id_and_flags @@got [usertype] sb_id_and_flags @@ include/linux/qed/qed_if.h:988:33:expected restricted __le32 [usertype] sb_id_and_flags include/linux/qed/qed_if.h:988:33:got unsigned int include/linux/qed/qed_if.h:995:9: sparse: cast from restricted __le32 include/linux/qed/qed_if.h:988:33: sparse: incorrect type in assignment (different base types) @@expected restricted __le32 [usertype] sb_id_and_flags @@got [usertype] sb_id_and_flags @@ include/linux/qed/qed_if.h:988:33:expected restricted __le32 [usertype] sb_id_and_flags include/linux/qed/qed_if.h:988:33:got unsigned int include/linux/qed/qed_if.h:995:9: sparse: cast from restricted __le32 drivers/scsi/qedf/qedf_main.c:2160:20: sparse: incorrect type in assignment (different base types) @@expected unsigned int [unsigned] [usertype] fr_crc @@got restrictunsigned int [unsigned] [usertype] fr_crc @@ drivers/scsi/qedf/qedf_main.c:2160:20:expected unsigned int [unsigned] [usertype] fr_crc drivers/scsi/qedf/qedf_main.c:2160:20:got restricted __le32 [addressable] [usertype] fcoe_crc32 drivers/scsi/qedf/qedf_main.c:2346:34: sparse: restricted __le32 degrades to integer drivers/scsi/qedf/qedf_main.c:2456:25: sparse: restricted __le32 degrades to integer drivers/scsi/qedf/qedf_main.c:2459:18: sparse: restricted __le32 degrades to integer drivers/scsi/qedf/qedf_main.c:2808:28: sparse: expression using sizeof(void) drivers/scsi/qedf/qedf_main.c:2808:28: sparse: expression using sizeof(void) include/scsi/fc/fc_fcoe.h:101:36: sparse: cast truncates bits from constant value (efc becomes fc) include/scsi/fc/fc_fcoe.h:102:23: sparse: cast truncates bits from constant value (efc00 becomes 0) Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
[RFC PATCH] qedf: qedf_dcbx_no_wait can be static
Fixes: d9867ecbae88 ("qedf: Add dcbx_not_wait module parameter so we won't wait for DCBX convergence to start discovery.") Signed-off-by: Fengguang Wu--- qedf_main.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c index 8df151e..b96c928 100644 --- a/drivers/scsi/qedf/qedf_main.c +++ b/drivers/scsi/qedf/qedf_main.c @@ -89,7 +89,7 @@ module_param_named(retry_delay, qedf_retry_delay, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(retry_delay, " Enable/disable handling of FCP_RSP IU retry " "delay handling (default off)."); -bool qedf_dcbx_no_wait; +static bool qedf_dcbx_no_wait; module_param_named(dcbx_no_wait, qedf_dcbx_no_wait, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(dcbx_no_wait, " Do not wait for DCBX convergence to start " "sending FIP VLAN requests on link up (Default: off).");
Re: [PATCH] target: prefer dbroot of /etc/target over /var/target
Hi Lee, I love your patch! Yet something to improve: [auto build test ERROR on target/for-next] [also build test ERROR on v4.16 next-20180406] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Lee-Duncan/target-prefer-dbroot-of-etc-target-over-var-target/20180406-234105 base: https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git for-next config: i386-randconfig-a0-201813 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/target/target_core_configfs.c: In function 'target_init_dbroot': >> drivers/target/target_core_configfs.c:3222:39: error: 'DB_ROOT_PREFERRED' >> undeclared (first use in this function) snprintf(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED); ^ drivers/target/target_core_configfs.c:3222:39: note: each undeclared identifier is reported only once for each function it appears in vim +/DB_ROOT_PREFERRED +3222 drivers/target/target_core_configfs.c 3217 3218 static void target_init_dbroot(void) 3219 { 3220 struct file *fp; 3221 > 3222 snprintf(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED); 3223 fp = filp_open(db_root_stage, O_RDONLY, 0); 3224 if (IS_ERR(fp)) { 3225 pr_err("db_root: cannot open: %s\n", db_root_stage); 3226 return; 3227 } 3228 if (!S_ISDIR(file_inode(fp)->i_mode)) { 3229 filp_close(fp, NULL); 3230 pr_err("db_root: not a valid directory: %s\n", db_root_stage); 3231 return; 3232 } 3233 filp_close(fp, NULL); 3234 3235 strncpy(db_root, db_root_stage, DB_ROOT_LEN); 3236 pr_debug("Target_Core_ConfigFS: db_root set to %s\n", db_root); 3237 } 3238 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] target: prefer dbroot of /etc/target over /var/target
Hi Lee, I love your patch! Yet something to improve: [auto build test ERROR on target/for-next] [also build test ERROR on v4.16 next-20180406] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Lee-Duncan/target-prefer-dbroot-of-etc-target-over-var-target/20180406-234105 base: https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git for-next config: i386-randconfig-x016-201813 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/target/target_core_configfs.c: In function 'target_init_dbroot': >> drivers/target/target_core_configfs.c:3222:39: error: 'DB_ROOT_PREFERRED' >> undeclared (first use in this function); did you mean 'DB_ROOT_DEFAULT'? snprintf(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED); ^ DB_ROOT_DEFAULT drivers/target/target_core_configfs.c:3222:39: note: each undeclared identifier is reported only once for each function it appears in vim +3222 drivers/target/target_core_configfs.c 3217 3218 static void target_init_dbroot(void) 3219 { 3220 struct file *fp; 3221 > 3222 snprintf(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED); 3223 fp = filp_open(db_root_stage, O_RDONLY, 0); 3224 if (IS_ERR(fp)) { 3225 pr_err("db_root: cannot open: %s\n", db_root_stage); 3226 return; 3227 } 3228 if (!S_ISDIR(file_inode(fp)->i_mode)) { 3229 filp_close(fp, NULL); 3230 pr_err("db_root: not a valid directory: %s\n", db_root_stage); 3231 return; 3232 } 3233 filp_close(fp, NULL); 3234 3235 strncpy(db_root, db_root_stage, DB_ROOT_LEN); 3236 pr_debug("Target_Core_ConfigFS: db_root set to %s\n", db_root); 3237 } 3238 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 1/1] scsi: mvsas:fix memory leak
Hi Xidong, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.16 next-20180403] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Xidong-Wang/scsi-mvsas-fix-memory-leak/20180404-182132 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-x010-201813 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers/scsi//mvsas/mv_init.c: In function 'mvs_pci_alloc': >> drivers/scsi//mvsas/mv_init.c:373:2: warning: this 'if' clause does not >> guard... [-Wmisleading-indentation] if (!mvi) ^~ drivers/scsi//mvsas/mv_init.c:375:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' return NULL; ^~ Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:test_and_set_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64 Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64 Cyclomatic Complexity 1 include/linux/mem_encrypt.h:sme_get_me_mask Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags Cyclomatic Complexity 1 include/linux/device.h:dev_get_drvdata Cyclomatic Complexity 1 include/linux/device.h:dev_set_drvdata Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_free_coherent Cyclomatic Complexity 1 arch/x86/include/asm/dma-mapping.h:get_arch_dma_ops Cyclomatic Complexity 4 include/linux/dma-mapping.h:get_dma_ops Cyclomatic Complexity 1 include/linux/kasan.h:kasan_kmalloc Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index Cyclomatic Complexity 1 include/linux/slab.h:kmem_cache_alloc_trace Cyclomatic Complexity 1 include/linux/slab.h:kmalloc_order_trace Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large Cyclomatic Complexity 5 include/linux/slab.h:kmalloc Cyclomatic Complexity 1 include/linux/slab.h:kzalloc Cyclomatic Complexity 1 include/linux/pci.h:pci_get_drvdata Cyclomatic Complexity 1 include/linux/pci.h:pci_set_drvdata Cyclomatic Complexity 5 drivers/scsi//mvsas/mv_init.c:mvs_post_sas_ha_init Cyclomatic Complexity 8 drivers/scsi//mvsas/mv_init.c:mvs_store_interrupt_coalescing Cyclomatic Complexity 1 drivers/scsi//mvsas/mv_init.c:mvs_show_interrupt_coalescing Cyclomatic Complexity 1 drivers/scsi//mvsas/mv_init.c:mvs_show_driver_version Cyclomatic Complexity 1 arch/x86/include/asm/io.h:ioremap Cyclomatic Complexity 1 drivers/scsi//mvsas/mv_init.c:mvs_exit Cyclomatic Complexity 2 drivers/scsi//mvsas/mv_init.c:mvs_pci_alloc Cyclomatic Complexity 4 include/linux/dma-mapping.h:dma_free_attrs Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_free_coherent Cyclomatic Complexity 13 drivers/scsi//mvsas/mv_init.c:mvs_free Cyclomatic Complexity 2 drivers/scsi//mvsas/mv_init.c:mvs_pci_remove Cyclomatic Complexity 3 drivers/scsi//mvsas/mv_init.c:mvs_tasklet Cyclomatic Complexity 2 include/linux/interrupt.h:tasklet_schedule Cyclomatic Complexity 3 drivers/scsi//mvsas/mv_init.c:mvs_interrupt Cyclomatic Complexity 4 include/linux/dma-mapping.h:dma_supported Cyclomatic Complexity 3 include/linux/dma-mapping.h:dma_check_mask Cyclomatic Complexity 3 include/linux/dma-mapping.h:dma_set_mask Cyclomatic Complexity 1 include/linux/pci-dma-compat.h:pci_set_dma_mask Cyclomatic Complexity 2 include/linux/dma-mapping.h:dma_set_coherent_mask Cyclomatic Complexity 1 include/linux/pci-dma-compat.h:pci_set_consistent_dma_mask Cyclomatic Complexity 6 drivers/scsi//mvsas/mv_init.c:pci_go_64 Cyclomatic Complexity 5 include/linux/slab.h:kmalloc_array Cyclomatic Complexity 1 include/linux/slab.h:kcalloc Cyclomatic Complexity 3 drivers/scsi//mvsas/mv_init.c:mvs_prep_sas_ha_init Cyclomatic Complexity 2 drivers/scsi//mvsas/mv_init.c:mvs_init_sas_add Cyclomatic Complexity 1 include/scsi/scsi_host.h:scsi_add_host Cyclomatic Complexity 1 include/linux/interrupt.h:request_irq Cyclomatic Complexity 13 drivers/scsi//mvsas/mv_init.c:mvs_pci_init Cyclomatic Complexity 3 drivers/scsi//mvsas/mv_init.c:mvs_init Cyclomatic Complexity 13 drivers/scsi//mvsas/mv_init.c:mvs_ioremap Cyclomatic Complexity 1 drivers/scsi//mvsas/mv_init.c:mvs_iounmap vim +/if +373 drivers/scsi//mvsas/mv_init.c 20b09c29 Andy Yan 2009-05-08 362 6f039790 Greg Kroah-Hartman 2012-12-21 363 static struct mvs_info *mvs_pci_alloc(struct pci_dev *pdev, 20b09c29 Andy Yan 2009-05-08 364 const struct pci_device_id
Re: [PATCH 1/1] scsi: mvsas:fix memory leak
Hi Xidong, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.16 next-20180403] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Xidong-Wang/scsi-mvsas-fix-memory-leak/20180404-182132 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: i386-randconfig-x016-201813 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/kernel.h:10:0, from drivers/scsi/mvsas/mv_sas.h:29, from drivers/scsi/mvsas/mv_init.c:27: drivers/scsi/mvsas/mv_init.c: In function 'mvs_pci_alloc': include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ >> drivers/scsi/mvsas/mv_init.c:373:2: note: in expansion of macro 'if' if (!mvi) ^~ drivers/scsi/mvsas/mv_init.c:375:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' return NULL; ^~ vim +/if +373 drivers/scsi/mvsas/mv_init.c 20b09c29 Andy Yan 2009-05-08 362 6f039790 Greg Kroah-Hartman 2012-12-21 363 static struct mvs_info *mvs_pci_alloc(struct pci_dev *pdev, 20b09c29 Andy Yan 2009-05-08 364 const struct pci_device_id *ent, 20b09c29 Andy Yan 2009-05-08 365 struct Scsi_Host *shost, unsigned int id) 20b09c29 Andy Yan 2009-05-08 366 { 84fbd0ce Xiangliang Yu 2011-05-24 367 struct mvs_info *mvi = NULL; 20b09c29 Andy Yan 2009-05-08 368 struct sas_ha_struct *sha = SHOST_TO_SAS_HA(shost); 20b09c29 Andy Yan 2009-05-08 369 b89e8f53 Xiangliang Yu 2011-05-24 370 mvi = kzalloc(sizeof(*mvi) + b89e8f53 Xiangliang Yu 2011-05-24 371 (1L << mvs_chips[ent->driver_data].slot_width) * b89e8f53 Xiangliang Yu 2011-05-24 372 sizeof(struct mvs_slot_info), GFP_KERNEL); 20b09c29 Andy Yan 2009-05-08 @373 if (!mvi) 549079d1 Xidong Wang2018-04-04 374 scsi_host_put(shost); 20b09c29 Andy Yan 2009-05-08 375 return NULL; dd4969a8 Jeff Garzik2009-05-08 376 20b09c29 Andy Yan 2009-05-08 377 mvi->pdev = pdev; 20b09c29 Andy Yan 2009-05-08 378 mvi->dev = >dev; 20b09c29 Andy Yan 2009-05-08 379 mvi->chip_id = ent->driver_data; 20b09c29 Andy Yan 2009-05-08 380 mvi->chip = _chips[mvi->chip_id]; 20b09c29 Andy Yan 2009-05-08 381 INIT_LIST_HEAD(>wq_list); 20b09c29 Andy Yan 2009-05-08 382 20b09c29 Andy Yan 2009-05-08 383 ((struct mvs_prv_info *)sha->lldd_ha)->mvi[id] = mvi; 20b09c29 Andy Yan 2009-05-08 384 ((struct mvs_prv_info *)sha->lldd_ha)->n_phy = mvi->chip->n_phy; 20b09c29 Andy Yan 2009-05-08 385 20b09c29 Andy Yan 2009-05-08 386 mvi->id = id; 20b09c29 Andy Yan 2009-05-08 387 mvi->sas = sha; 20b09c29 Andy Yan 2009-05-08 388 mvi->shost = shost; 20b09c29 Andy Yan 2009-05-08 389 b89e8f53 Xiangliang Yu 2011-05-24 390 mvi->tags = kzalloc(MVS_CHIP_SLOT_SZ>>3, GFP_KERNEL); b89e8f53 Xiangliang Yu 2011-05-24 391 if (!mvi->tags) b89e8f53 Xiangliang Yu 2011-05-24 392 goto err_out; b89e8f53 Xiangliang Yu 2011-05-24 393 20b09c29 Andy Yan 2009-05-08 394 if (MVS_CHIP_DISP->chip_ioremap(mvi)) 20b09c29 Andy Yan 2009-05-08 395 goto err_out; 20b09c29 Andy Yan 2009-05-08 396 if (!mvs_alloc(mvi, shost)) 20b09c29 Andy Yan 2009-05-08 397 return mvi; dd4969a8 Jeff Garzik2009-05-08 398 err_out: dd4969a8 Jeff Garzik2009-05-08 399 mvs_free(mvi); dd4969a8 Jeff Garzik2009-05-08 400 return NULL; dd4969a8 Jeff Garzik2009-05-08 401 } dd4969a8 Jeff Garzik2009-05-08 402 :: The code at line 373 was first introduced by commit :: 20b09c2992fefbe78f8cede7b404fb143a413c52 [SCSI] mvsas: add support for 94xx; layout change; bug fixes :: TO: Andy Yan:: CC: James Bottomley --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 11/15] mpt3sas: Report Firmware Package Version from HBA Driver.
Hi Chaitra, I love your patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on next-20180329] [cannot apply to scsi/for-next v4.16-rc7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chaitra-P-B/mpt3sas-Enhancements-and-Defect-fixes/20180331-123801 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/scsi/mpt3sas/mpt3sas_base.c:3878:32: sparse: incorrect type in >> assignment (different base types) @@expected restricted __le32 >> [usertype] ImageSize @@got unsigned long [unsrestricted __le32 >> [usertype] ImageSize @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3878:32:expected restricted __le32 [usertype] ImageSize drivers/scsi/mpt3sas/mpt3sas_base.c:3878:32:got unsigned long [unsigned] [assigned] [usertype] data_length >> drivers/scsi/mpt3sas/mpt3sas_base.c:3903:63: sparse: incorrect type in >> assignment (different base types) @@expected restricted __le32 >> [usertype] Word @@got unsignrestricted __le32 [usertype] Word @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3903:63:expected restricted __le32 [usertype] Word drivers/scsi/mpt3sas/mpt3sas_base.c:3903:63:got unsigned int [unsigned] [usertype] drivers/scsi/mpt3sas/mpt3sas_base.c:3906:41: sparse: restricted __le32 degrades to integer drivers/scsi/mpt3sas/mpt3sas_base.c:3906:41: sparse: restricted __le32 degrades to integer drivers/scsi/mpt3sas/mpt3sas_base.c:3906:41: sparse: restricted __le32 degrades to integer drivers/scsi/mpt3sas/mpt3sas_base.c:3906:41: sparse: restricted __le32 degrades to integer vim +3878 drivers/scsi/mpt3sas/mpt3sas_base.c 3826 3827 /** 3828 * _base_display_fwpkg_version - sends FWUpload request to pull FWPkg 3829 * version from FW Image Header. 3830 * @ioc: per adapter object 3831 * 3832 * Returns 0 for success, non-zero for failure. 3833 */ 3834 static int 3835 _base_display_fwpkg_version(struct MPT3SAS_ADAPTER *ioc) 3836 { 3837 Mpi2FWImageHeader_t *FWImgHdr; 3838 Mpi25FWUploadRequest_t *mpi_request; 3839 Mpi2FWUploadReply_t mpi_reply; 3840 int r = 0; 3841 void *fwpkg_data = NULL; 3842 dma_addr_t fwpkg_data_dma; 3843 u16 smid, ioc_status; 3844 size_t data_length; 3845 3846 dinitprintk(ioc, pr_info(MPT3SAS_FMT "%s\n", ioc->name, 3847 __func__)); 3848 3849 if (ioc->base_cmds.status & MPT3_CMD_PENDING) { 3850 pr_err(MPT3SAS_FMT "%s: internal command already in use\n", 3851 ioc->name, __func__); 3852 return -EAGAIN; 3853 } 3854 3855 data_length = sizeof(Mpi2FWImageHeader_t); 3856 fwpkg_data = pci_alloc_consistent(ioc->pdev, data_length, 3857 _data_dma); 3858 if (!fwpkg_data) { 3859 pr_err(MPT3SAS_FMT "failure at %s:%d/%s()!\n", 3860 ioc->name, __FILE__, __LINE__, __func__); 3861 return -ENOMEM; 3862 } 3863 3864 smid = mpt3sas_base_get_smid(ioc, ioc->base_cb_idx); 3865 if (!smid) { 3866 pr_err(MPT3SAS_FMT "%s: failed obtaining a smid\n", 3867 ioc->name, __func__); 3868 r = -EAGAIN; 3869 goto out; 3870 } 3871 3872 ioc->base_cmds.status = MPT3_CMD_PENDING; 3873 mpi_request = mpt3sas_base_get_msg_frame(ioc, smid); 3874 ioc->base_cmds.smid = smid; 3875 memset(mpi_request, 0, sizeof(Mpi25FWUploadRequest_t)); 3876 mpi_request->Function = MPI2_FUNCTION_FW_UPLOAD; 3877 mpi_request->ImageType = MPI2_FW_UPLOAD_ITYPE_FW_FLASH; > 3878 mpi_request->ImageSize = data_length; 3879 ioc->build_sg(ioc, _request->SGL, 0, 0, fwpkg_data_dma, 3880 data_length); 3881 init_completion(>base_cmds.done); 3882 mpt3sas_base_put_smid_default(ioc, smid); 3883 /* Wait for 15 seconds */ 3884 wait_for_completion_timeout(>base_cmds.done, 3885 FW_IMG_HDR_READ_TIMEOUT*HZ); 3886 pr_info(MPT3SAS_FMT "%s: complete\n", 3887 ioc->name, __func__); 3888 if (!(ioc->base_cmds.status & MPT3_CMD_COMPLETE)) { 3889 pr_err(MPT3SAS_FMT "%s: timeout\n", 3890 ioc->name, __func__); 3891
Re: [PATCH net-next] qed*: Utilize FW 8.33.11.0
Hi Michal, I love your patch! Perhaps something to improve: [auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/Michal-Kalderon/qed-Utilize-FW-8-33-11-0/20180327-070630 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/net/ethernet/qlogic/qed/qed_cxt.c:972:41: sparse: incorrect type in >> assignment (different base types) @@expected unsigned long long >> [unsigned] [usertype] next @@got g long [unsigned] [usertype] next @@ drivers/net/ethernet/qlogic/qed/qed_cxt.c:972:41:expected unsigned long long [unsigned] [usertype] next drivers/net/ethernet/qlogic/qed/qed_cxt.c:972:41:got restricted __be64 [usertype] drivers/net/ethernet/qlogic/qed/qed_cxt.c:979:33: sparse: incorrect type in assignment (different base types) @@expected unsigned long long [unsigned] [usertype] next @@got g long [unsigned] [usertype] next @@ drivers/net/ethernet/qlogic/qed/qed_cxt.c:979:33:expected unsigned long long [unsigned] [usertype] next drivers/net/ethernet/qlogic/qed/qed_cxt.c:979:33:got restricted __be64 [usertype] >> drivers/net/ethernet/qlogic/qed/qed_cxt.c:1534:6: sparse: symbol >> 'qed_cm_init_pf' was not declared. Should it be static? >> drivers/net/ethernet/qlogic/qed/qed_cxt.c:2331:25: sparse: invalid >> assignment: &= drivers/net/ethernet/qlogic/qed/qed_cxt.c:2331:25:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_cxt.c:2331:25:right side has type int drivers/net/ethernet/qlogic/qed/qed_cxt.c:2331:25: sparse: invalid assignment: |= drivers/net/ethernet/qlogic/qed/qed_cxt.c:2331:25:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_cxt.c:2331:25:right side has type unsigned long long -- >> drivers/net/ethernet/qlogic/qed/qed_dev.c:233:4: sparse: symbol >> 'qed_init_qm_get_num_tcs' was not declared. Should it be static? >> drivers/net/ethernet/qlogic/qed/qed_dev.c:238:5: sparse: symbol >> 'qed_init_qm_get_num_vfs' was not declared. Should it be static? >> drivers/net/ethernet/qlogic/qed/qed_dev.c:246:5: sparse: symbol >> 'qed_init_qm_get_num_pf_rls' was not declared. Should it be static? >> drivers/net/ethernet/qlogic/qed/qed_dev.c:264:5: sparse: symbol >> 'qed_init_qm_get_num_vports' was not declared. Should it be static? >> drivers/net/ethernet/qlogic/qed/qed_dev.c:276:5: sparse: symbol >> 'qed_init_qm_get_num_pqs' was not declared. Should it be static? >> drivers/net/ethernet/qlogic/qed/qed_dev.c:510:5: sparse: symbol >> 'qed_get_cm_pq_idx_rl' was not declared. Should it be static? -- >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid >> assignment: &= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type int drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid assignment: |= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type unsigned long long >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid >> assignment: &= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type int drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid assignment: |= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type int >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid >> assignment: &= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type int drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid assignment: |= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type unsigned long long >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid >> assignment: &= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type restricted __le32 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:right side has type int drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17: sparse: invalid assignment: |= drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:503:17:left side has type
[RFC PATCH] qed*: qed_cm_init_pf() can be static
Fixes: cda33d25b808 ("qed*: Utilize FW 8.33.11.0") Signed-off-by: Fengguang Wu--- qed_cxt.c |2 +- qed_dcbx.c |2 +- qed_dev.c | 12 ++-- qed_init_fw_funcs.c |2 +- qed_iscsi.c |4 ++-- qed_iwarp.c | 18 +- qed_ll2.c |4 ++-- qed_mcp.c |2 +- qed_rdma.c |4 ++-- qed_roce.c |2 +- qed_sriov.c |8 qed_vf.c|2 +- 12 files changed, 31 insertions(+), 31 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_cxt.c b/drivers/net/ethernet/qlogic/qed/qed_cxt.c index 00f41c1..1695c90 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_cxt.c +++ b/drivers/net/ethernet/qlogic/qed/qed_cxt.c @@ -1531,7 +1531,7 @@ void qed_qm_init_pf(struct qed_hwfn *p_hwfn, } /* CM PF */ -void qed_cm_init_pf(struct qed_hwfn *p_hwfn) +static void qed_cm_init_pf(struct qed_hwfn *p_hwfn) { /* XCM pure-LB queue */ STORE_RT_REG(p_hwfn, XCM_REG_CON_PHY_Q3_RT_OFFSET, diff --git a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c index 449777f..456b8d1 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c @@ -860,7 +860,7 @@ static int qed_dcbx_read_mib(struct qed_hwfn *p_hwfn, return rc; } -void qed_dcbx_aen(struct qed_hwfn *hwfn, u32 mib_type) +static void qed_dcbx_aen(struct qed_hwfn *hwfn, u32 mib_type) { struct qed_common_cb_ops *op = hwfn->cdev->protocol_ops.common; void *cookie = hwfn->cdev->ops_cookie; diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index de5527c..0daef44 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -230,12 +230,12 @@ static u32 qed_get_pq_flags(struct qed_hwfn *p_hwfn) } /* Getters for resource amounts necessary for qm initialization */ -u8 qed_init_qm_get_num_tcs(struct qed_hwfn *p_hwfn) +static u8 qed_init_qm_get_num_tcs(struct qed_hwfn *p_hwfn) { return p_hwfn->hw_info.num_hw_tc; } -u16 qed_init_qm_get_num_vfs(struct qed_hwfn *p_hwfn) +static u16 qed_init_qm_get_num_vfs(struct qed_hwfn *p_hwfn) { return IS_QED_SRIOV(p_hwfn->cdev) ? p_hwfn->cdev->p_iov_info->total_vfs : 0; @@ -243,7 +243,7 @@ u16 qed_init_qm_get_num_vfs(struct qed_hwfn *p_hwfn) #define NUM_DEFAULT_RLS 1 -u16 qed_init_qm_get_num_pf_rls(struct qed_hwfn *p_hwfn) +static u16 qed_init_qm_get_num_pf_rls(struct qed_hwfn *p_hwfn) { u16 num_pf_rls, num_vfs = qed_init_qm_get_num_vfs(p_hwfn); @@ -261,7 +261,7 @@ u16 qed_init_qm_get_num_pf_rls(struct qed_hwfn *p_hwfn) return num_pf_rls; } -u16 qed_init_qm_get_num_vports(struct qed_hwfn *p_hwfn) +static u16 qed_init_qm_get_num_vports(struct qed_hwfn *p_hwfn) { u32 pq_flags = qed_get_pq_flags(p_hwfn); @@ -273,7 +273,7 @@ u16 qed_init_qm_get_num_vports(struct qed_hwfn *p_hwfn) } /* calc amount of PQs according to the requested flags */ -u16 qed_init_qm_get_num_pqs(struct qed_hwfn *p_hwfn) +static u16 qed_init_qm_get_num_pqs(struct qed_hwfn *p_hwfn) { u32 pq_flags = qed_get_pq_flags(p_hwfn); @@ -507,7 +507,7 @@ u16 qed_get_cm_pq_idx_vf(struct qed_hwfn *p_hwfn, u16 vf) return qed_get_cm_pq_idx(p_hwfn, PQ_FLAGS_VFS) + vf; } -u16 qed_get_cm_pq_idx_rl(struct qed_hwfn *p_hwfn, u8 rl) +static u16 qed_get_cm_pq_idx_rl(struct qed_hwfn *p_hwfn, u8 rl) { u16 max_rl = qed_init_qm_get_num_pf_rls(p_hwfn); diff --git a/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c b/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c index 1365da7..b296b78 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c +++ b/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c @@ -1225,7 +1225,7 @@ void qed_gft_disable(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, u16 pf_id) 0); } -void qed_set_gft_event_id_cm_hdr(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) +static void qed_set_gft_event_id_cm_hdr(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) { u32 rfs_cm_hdr_event_id; diff --git a/drivers/net/ethernet/qlogic/qed/qed_iscsi.c b/drivers/net/ethernet/qlogic/qed/qed_iscsi.c index c0d4a54..1135387 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_iscsi.c +++ b/drivers/net/ethernet/qlogic/qed/qed_iscsi.c @@ -873,8 +873,8 @@ static void qed_iscsi_release_connection(struct qed_hwfn *p_hwfn, spin_unlock_bh(_hwfn->p_iscsi_info->lock); } -void qed_iscsi_free_connection(struct qed_hwfn *p_hwfn, - struct qed_iscsi_conn *p_conn) +static void qed_iscsi_free_connection(struct qed_hwfn *p_hwfn, + struct qed_iscsi_conn *p_conn) { qed_chain_free(p_hwfn->cdev, _conn->xhq); qed_chain_free(p_hwfn->cdev, _conn->uhq); diff --git
Re: [PATCH 3/3] Storvsc: Select channel based on available percentage of ring buffer to write
Hi Long, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on v4.16-rc6] [cannot apply to linus/master net-next/master net/master next-20180323] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Long-Li/Vmbus-Add-function-to-report-available-ring-buffer-to-write-in-total-ring-size-percentage/20180324-124431 config: x86_64-rhel (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers//scsi/storvsc_drv.c: In function 'storvsc_do_io': >> drivers//scsi/storvsc_drv.c:1402:1: warning: the frame size of 2064 bytes is >> larger than 2048 bytes [-Wframe-larger-than=] } ^ vim +1402 drivers//scsi/storvsc_drv.c d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1287 d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1288 c1b3d067 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1289 static int storvsc_do_io(struct hv_device *device, d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1290 struct storvsc_cmd_request *request, u16 q_num) 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1291 { 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1292 struct storvsc_device *stor_device; 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1293 struct vstor_packet *vstor_packet; e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1294 struct vmbus_channel *outgoing_channel, *channel; 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1295 int ret = 0; e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1296 struct cpumask alloced_mask, other_numa_mask; d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1297 int tgt_cpu; 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1298 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1299 vstor_packet = >vstor_packet; 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1300 stor_device = get_out_stor_device(device); 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1301 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1302 if (!stor_device) 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1303 return -ENODEV; 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1304 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1305 8dcf37d4 drivers/staging/hv/storvsc_drv.c K. Y. Srinivasan 2011-08-27 1306 request->device = device; 6f94d5de drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1307 /* 6f94d5de drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1308 * Select an an appropriate channel to send the request out. 6f94d5de drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2013-06-04 1309 */ d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1310 if (stor_device->stor_chns[q_num] != NULL) { d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1311 outgoing_channel = stor_device->stor_chns[q_num]; e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1312 if (outgoing_channel->target_cpu == q_num) { d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1313 /* d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1314 * Ideally, we want to pick a different channel if d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1315 * available on the same NUMA node. d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1316 */ d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1317 cpumask_and(_mask, _device->alloced_cpus, d86adf48 drivers/scsi/storvsc_drv.c K. Y. Srinivasan 2016-12-14 1318 cpumask_of_node(cpu_to_node(q_num))); e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1319 e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1320 for_each_cpu_wrap(tgt_cpu, _mask, q_num + 1) { e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1321 if (tgt_cpu == q_num) e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1322 continue; e75adf20 drivers/scsi/storvsc_drv.c Long Li 2018-03-22 1323
Re: [PATCH] target: Use WARNON_NON_RT(!irqs_disabled())
Hi Arnaldo, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc6 next-20180322] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Arnaldo-Carvalho-de-Melo/target-Use-WARNON_NON_RT-irqs_disabled/20180322-174549 config: i386-randconfig-s1-03221113 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/target/target_core_transport.c: In function '__transport_check_aborted_status': >> drivers/target/target_core_transport.c:3207:2: error: implicit declaration >> of function 'WARN_ON_ONCE_NONRT' [-Werror=implicit-function-declaration] WARN_ON_ONCE_NONRT(!irqs_disabled()); ^~ cc1: some warnings being treated as errors vim +/WARN_ON_ONCE_NONRT +3207 drivers/target/target_core_transport.c 3199 3200 static int __transport_check_aborted_status(struct se_cmd *cmd, int send_status) 3201 __releases(>t_state_lock) 3202 __acquires(>t_state_lock) 3203 { 3204 int ret; 3205 3206 assert_spin_locked(>t_state_lock); > 3207 WARN_ON_ONCE_NONRT(!irqs_disabled()); 3208 3209 if (!(cmd->transport_state & CMD_T_ABORTED)) 3210 return 0; 3211 /* 3212 * If cmd has been aborted but either no status is to be sent or it has 3213 * already been sent, just return 3214 */ 3215 if (!send_status || !(cmd->se_cmd_flags & SCF_SEND_DELAYED_TAS)) { 3216 if (send_status) 3217 cmd->se_cmd_flags |= SCF_SEND_DELAYED_TAS; 3218 return 1; 3219 } 3220 3221 pr_debug("Sending delayed SAM_STAT_TASK_ABORTED status for CDB:" 3222 " 0x%02x ITT: 0x%08llx\n", cmd->t_task_cdb[0], cmd->tag); 3223 3224 cmd->se_cmd_flags &= ~SCF_SEND_DELAYED_TAS; 3225 cmd->scsi_status = SAM_STAT_TASK_ABORTED; 3226 trace_target_cmd_complete(cmd); 3227 3228 spin_unlock_irq(>t_state_lock); 3229 ret = cmd->se_tfo->queue_status(cmd); 3230 if (ret) 3231 transport_handle_queue_full(cmd, cmd->se_dev, ret, false); 3232 spin_lock_irq(>t_state_lock); 3233 3234 return 1; 3235 } 3236 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] target: Use WARNON_NON_RT(!irqs_disabled())
Hi Arnaldo, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc6 next-20180322] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Arnaldo-Carvalho-de-Melo/target-Use-WARNON_NON_RT-irqs_disabled/20180322-174549 config: i386-randconfig-x015-201811 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers//target/target_core_transport.c: In function '__transport_check_aborted_status': >> drivers//target/target_core_transport.c:3207:2: error: implicit declaration >> of function 'WARN_ON_ONCE_NONRT'; did you mean 'WARN_ON_ONCE'? >> [-Werror=implicit-function-declaration] WARN_ON_ONCE_NONRT(!irqs_disabled()); ^~ WARN_ON_ONCE cc1: some warnings being treated as errors vim +3207 drivers//target/target_core_transport.c 3199 3200 static int __transport_check_aborted_status(struct se_cmd *cmd, int send_status) 3201 __releases(>t_state_lock) 3202 __acquires(>t_state_lock) 3203 { 3204 int ret; 3205 3206 assert_spin_locked(>t_state_lock); > 3207 WARN_ON_ONCE_NONRT(!irqs_disabled()); 3208 3209 if (!(cmd->transport_state & CMD_T_ABORTED)) 3210 return 0; 3211 /* 3212 * If cmd has been aborted but either no status is to be sent or it has 3213 * already been sent, just return 3214 */ 3215 if (!send_status || !(cmd->se_cmd_flags & SCF_SEND_DELAYED_TAS)) { 3216 if (send_status) 3217 cmd->se_cmd_flags |= SCF_SEND_DELAYED_TAS; 3218 return 1; 3219 } 3220 3221 pr_debug("Sending delayed SAM_STAT_TASK_ABORTED status for CDB:" 3222 " 0x%02x ITT: 0x%08llx\n", cmd->t_task_cdb[0], cmd->tag); 3223 3224 cmd->se_cmd_flags &= ~SCF_SEND_DELAYED_TAS; 3225 cmd->scsi_status = SAM_STAT_TASK_ABORTED; 3226 trace_target_cmd_complete(cmd); 3227 3228 spin_unlock_irq(>t_state_lock); 3229 ret = cmd->se_tfo->queue_status(cmd); 3230 if (ret) 3231 transport_handle_queue_full(cmd, cmd->se_dev, ret, false); 3232 spin_lock_irq(>t_state_lock); 3233 3234 return 1; 3235 } 3236 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3 01/13] qla2xxx: Remove unneeded message and minor cleanup for FC-NVMe
Hi Himanshu, Thank you for the patch! Yet something to improve: [auto build test ERROR on v4.16-rc4] [also build test ERROR on next-20180320] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Remove-unneeded-message-and-minor-cleanup-for-FC-NVMe/20180320-215409 config: x86_64-lkp (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Himanshu-Madhani/qla2xxx-Remove-unneeded-message-and-minor-cleanup-for-FC-NVMe/20180320-215409 HEAD 50dbc1dc7fc60496f8e073be2dd0fc1a0347e95d builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_nvme.c: In function 'qla2x00_start_nvme_mq': >> drivers/scsi/qla2xxx/qla_nvme.c:478:6: error: 'rsp' undeclared (first use in >> this function); did you mean 'sp'? rsp->ring_ptr->signature != RESPONSE_PROCESSED) ^~~ sp drivers/scsi/qla2xxx/qla_nvme.c:478:6: note: each undeclared identifier is reported only once for each function it appears in vim +478 drivers/scsi/qla2xxx/qla_nvme.c e84067d7 Duane Grigsby2017-06-21 300 e84067d7 Duane Grigsby2017-06-21 301 static int qla2x00_start_nvme_mq(srb_t *sp) e84067d7 Duane Grigsby2017-06-21 302 { e84067d7 Duane Grigsby2017-06-21 303 unsigned long flags; e84067d7 Duane Grigsby2017-06-21 304 uint32_t*clr_ptr; e84067d7 Duane Grigsby2017-06-21 305 uint32_tindex; e84067d7 Duane Grigsby2017-06-21 306 uint32_thandle; e84067d7 Duane Grigsby2017-06-21 307 struct cmd_nvme *cmd_pkt; e84067d7 Duane Grigsby2017-06-21 308 uint16_tcnt, i; e84067d7 Duane Grigsby2017-06-21 309 uint16_treq_cnt; e84067d7 Duane Grigsby2017-06-21 310 uint16_ttot_dsds; e84067d7 Duane Grigsby2017-06-21 311 uint16_tavail_dsds; e84067d7 Duane Grigsby2017-06-21 312 uint32_t*cur_dsd; e84067d7 Duane Grigsby2017-06-21 313 struct req_que *req = NULL; e84067d7 Duane Grigsby2017-06-21 314 struct scsi_qla_host *vha = sp->fcport->vha; e84067d7 Duane Grigsby2017-06-21 315 struct qla_hw_data *ha = vha->hw; e84067d7 Duane Grigsby2017-06-21 316 struct qla_qpair *qpair = sp->qpair; e84067d7 Duane Grigsby2017-06-21 317 struct srb_iocb *nvme = >u.iocb_cmd; e84067d7 Duane Grigsby2017-06-21 318 struct scatterlist *sgl, *sg; e84067d7 Duane Grigsby2017-06-21 319 struct nvmefc_fcp_req *fd = nvme->u.nvme.desc; e84067d7 Duane Grigsby2017-06-21 320 uint32_trval = QLA_SUCCESS; e84067d7 Duane Grigsby2017-06-21 321 ee6b1136 Himanshu Madhani 2018-03-19 322 /* Setup qpair pointers */ ee6b1136 Himanshu Madhani 2018-03-19 323 req = qpair->req; e84067d7 Duane Grigsby2017-06-21 324 tot_dsds = fd->sg_cnt; e84067d7 Duane Grigsby2017-06-21 325 e84067d7 Duane Grigsby2017-06-21 326 /* Acquire qpair specific lock */ e84067d7 Duane Grigsby2017-06-21 327 spin_lock_irqsave(>qp_lock, flags); e84067d7 Duane Grigsby2017-06-21 328 e84067d7 Duane Grigsby2017-06-21 329 /* Check for room in outstanding command list. */ e84067d7 Duane Grigsby2017-06-21 330 handle = req->current_outstanding_cmd; e84067d7 Duane Grigsby2017-06-21 331 for (index = 1; index < req->num_outstanding_cmds; index++) { e84067d7 Duane Grigsby2017-06-21 332 handle++; e84067d7 Duane Grigsby2017-06-21 333 if (handle == req->num_outstanding_cmds) e84067d7 Duane Grigsby2017-06-21 334 handle = 1; e84067d7 Duane Grigsby2017-06-21 335 if (!req->outstanding_cmds[handle]) e84067d7 Duane Grigsby2017-06-21 336 break; e84067d7 Duane Grigsby2017-06-21 337 } e84067d7 Duane Grigsby2017-06-21 338 e84067d7 Duane Grigsby2017-06-21 339 if (index == req->num_outstanding_cmds) { e84067d7 Duane Grigsby2017-06-21 340 rval = -1; e84067d7 Duane Grigsby2017-06-21 341 goto queuing_error; e84067d7 Duane Grigsby2017-06-21 342 } e84067d7 Duane Grigsby2017-06-21 343 req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); e84067d7 Duane Grigsby2017-06-21 344 if (req->cnt < (req_cnt + 2)) { e84067d7 Duane Grigsby2017-06-21 345 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : e84067d7 Duane Grigsby2017-06-21 346 RD_REG_DWORD_RELAXED(req->req_q_out); e84067d7 Duane Grigsby2017-06-21 347 e84067d7 Duane Grigsby2017-06-21 348 if (req->ring_index < cnt) e84067d7 Duane Grigsby2017-06-21 349
Re: [PATCH] mpt3sas: Cache enclosure pages during enclosure add.
Hi Chaitra, I love your patch! Perhaps something to improve: [auto build test WARNING on v4.16-rc4] [also build test WARNING on next-20180320] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chaitra-P-B/mpt3sas-Cache-enclosure-pages-during-enclosure-add/20180320-220411 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/scsi/mpt3sas/mpt3sas_scsih.c:6100:63: sparse: incorrect type in >> argument 2 (different base types) @@expected unsigned short [unsigned] >> [usertype] handle @@got restriunsigned short [unsigned] [usertype] >> handle @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:6100:63:expected unsigned short [unsigned] [usertype] handle drivers/scsi/mpt3sas/mpt3sas_scsih.c:6100:63:got restricted __le16 [addressable] [usertype] EnclosureHandle drivers/scsi/mpt3sas/mpt3sas_scsih.c:6907:13: sparse: cast to restricted __le16 drivers/scsi/mpt3sas/mpt3sas_scsih.c:6907:13: sparse: cast from restricted __le32 drivers/scsi/mpt3sas/mpt3sas_scsih.c:160:22: sparse: symbol 'mpt3sas_raid_template' was not declared. Should it be static? drivers/scsi/mpt3sas/mpt3sas_scsih.c:161:22: sparse: symbol 'mpt2sas_raid_template' was not declared. Should it be static? >> drivers/scsi/mpt3sas/mpt3sas_scsih.c:1373:24: sparse: symbol >> 'mpt3sas_scsih_enclosure_find_by_handle' was not declared. Should it be >> static? drivers/scsi/mpt3sas/mpt3sas_scsih.c:3749:36: sparse: incorrect type in assignment (different base types) @@expected unsigned short [unsigned] [usertype] handle @@got short [unsigned] [usertype] handle @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:3749:36:expected unsigned short [unsigned] [usertype] handle drivers/scsi/mpt3sas/mpt3sas_scsih.c:3749:36:got restricted __le16 [usertype] DevHandle drivers/scsi/mpt3sas/mpt3sas_scsih.c:3942:9: sparse: cast to restricted __le16 drivers/scsi/mpt3sas/mpt3sas_scsih.c:3949:28: sparse: incorrect type in assignment (different base types) @@expected restricted __le16 [usertype] Event @@got unsignedrestricted __le16 [usertype] Event @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:3949:28:expected restricted __le16 [usertype] Event drivers/scsi/mpt3sas/mpt3sas_scsih.c:3949:28:got unsigned short [unsigned] [usertype] event drivers/scsi/mpt3sas/mpt3sas_scsih.c:3950:35: sparse: incorrect type in assignment (different base types) @@expected restricted __le32 [usertype] EventContext @@got unsignrestricted __le32 [usertype] EventContext @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:3950:35:expected restricted __le32 [usertype] EventContext drivers/scsi/mpt3sas/mpt3sas_scsih.c:3950:35:got unsigned int [unsigned] [usertype] event_context drivers/scsi/mpt3sas/mpt3sas_scsih.c:4001:9: sparse: cast to restricted __le16 drivers/scsi/mpt3sas/mpt3sas_scsih.c:4009:32: sparse: incorrect type in assignment (different base types) @@expected restricted __le16 [usertype] DevHandle @@got unsignedrestricted __le16 [usertype] DevHandle @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4009:32:expected restricted __le16 [usertype] DevHandle drivers/scsi/mpt3sas/mpt3sas_scsih.c:4009:32:got unsigned short [unsigned] [usertype] handle drivers/scsi/mpt3sas/mpt3sas_scsih.c:4531:61: sparse: incorrect type in assignment (different base types) @@expected restricted __le32 [usertype] PrimaryReferenceTag @@got restricted __le32 [usertype] PrimaryReferenceTag @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4531:61:expected restricted __le32 [usertype] PrimaryReferenceTag drivers/scsi/mpt3sas/mpt3sas_scsih.c:4531:61:got restricted __be32 [usertype] >> drivers/scsi/mpt3sas/mpt3sas_scsih.c:7324:37: sparse: incorrect type in >> assignment (different base types) @@expected restricted __le16 >> [usertype] EnclosureHandle @@got unsignedrestricted __le16 [usertype] >> EnclosureHandle @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:7324:37:expected restricted __le16 [usertype] EnclosureHandle drivers/scsi/mpt3sas/mpt3sas_scsih.c:7324:37:got unsigned short [unsigned] [usertype] >> drivers/scsi/mpt3sas/mpt3sas_scsih.c:7329:59: sparse: incorrect type in >> argument 2 (different base types) @@expected unsigned short [unsigned] >> [usertype] handle @@got short [unsigned] [usertype] handle @@ drivers/scsi/mpt3sas/mpt3sas_scsih.c:7329:59:expected unsigned short [unsigned] [usertype] handle drivers/scsi/mpt3sas/mpt3sas_scsih.c:7329:59:got restricted __le16 [usertype] EnclosureHandle >> drivers/scsi/mpt3sas/mpt3sas_scsih.c:7345:43: sparse: incorrect type in >> argument 5 (different base types) @@expected unsigned int [unsigned] >> [usertype] handle @@got ed int [unsigned] [usertype] handle @@
[RFC PATCH] mpt3sas: mpt3sas_scsih_enclosure_find_by_handle can be static
Fixes: 793a6223beef ("mpt3sas: Cache enclosure pages during enclosure add.") Signed-off-by: Fengguang Wu--- mpt3sas_scsih.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index c93c5c5..67a43957 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -1370,7 +1370,7 @@ mpt3sas_scsih_expander_find_by_handle(struct MPT3SAS_ADAPTER *ioc, u16 handle) * This searches for enclosure device based on handle, then returns the * enclosure object. */ -struct _enclosure_node * +static struct _enclosure_node * mpt3sas_scsih_enclosure_find_by_handle(struct MPT3SAS_ADAPTER *ioc, u16 handle) { struct _enclosure_node *enclosure_dev, *r;
Re: [PATCH 12/13] qla2xxx: Fix Async GPN_FT for FCP and FC-NVMe scan
Hi Quinn, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20180309] [also build test WARNING on v4.16-rc5] [cannot apply to v4.16-rc4 v4.16-rc3 v4.16-rc2] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Fixes-for-FC-NVMe/20180313-055925 config: i386-randconfig-x078-201810 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_inc Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 2 include/linux/workqueue.h:to_delayed_work Cyclomatic Complexity 1 include/linux/completion.h:__init_completion Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_alloc_coherent Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_free_coherent Cyclomatic Complexity 1 arch/x86/include/asm/dma-mapping.h:get_arch_dma_ops Cyclomatic Complexity 4 include/linux/dma-mapping.h:get_dma_ops Cyclomatic Complexity 7 include/linux/dma-mapping.h:dma_alloc_attrs Cyclomatic Complexity 71 include/linux/dma-mapping.h:dma_free_attrs Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_alloc_coherent Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_free_coherent Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_zalloc_coherent Cyclomatic Complexity 1 include/linux/unaligned/access_ok.h:get_unaligned_be64 Cyclomatic Complexity 1 include/scsi/scsi_transport_fc.h:wwn_to_u64 Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_target.h:qla_ini_mode_enabled Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_target.h:qla_dual_mode_enabled Cyclomatic Complexity 5 drivers/scsi/qla2xxx/qla_inline.h:qla2x00_is_reserved_id Cyclomatic Complexity 3 drivers/scsi/qla2xxx/qla_inline.h:qla2x00_clear_loop_id Cyclomatic Complexity 5 drivers/scsi/qla2xxx/qla_inline.h:qla2x00_get_sp Cyclomatic Complexity 4 drivers/scsi/qla2xxx/qla_inline.h:qla2x00_init_timer Cyclomatic Complexity 1 include/linux/utsname.h:utsname Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_prep_ct_req Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_gid_pt_rsp_size Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_prep_sns_cmd Cyclomatic Complexity 2 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_update_ms_fdmi_iocb Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_prep_ct_fdmi_req Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_gs.c:qla24xx_prep_ct_fm_req Cyclomatic Complexity 4 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_sns_ga_nxt Cyclomatic Complexity 6 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_sns_gid_pt Cyclomatic Complexity 5 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_sns_gpn_id Cyclomatic Complexity 5 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_sns_gnn_id Cyclomatic Complexity 3 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_sns_rft_id Cyclomatic Complexity 3 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_sns_rnn_id Cyclomatic Complexity 7 drivers/scsi/qla2xxx/qla_gs.c:qla_async_rftid Cyclomatic Complexity 5 drivers/scsi/qla2xxx/qla_gs.c:qla_async_rffid Cyclomatic Complexity 5 drivers/scsi/qla2xxx/qla_gs.c:qla_async_rnnid Cyclomatic Complexity 8 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_async_sns_sp_done Cyclomatic Complexity 8 drivers/scsi/qla2xxx/qla_gs.c:qla24xx_async_gnnft Cyclomatic Complexity 11 drivers/scsi/qla2xxx/qla_gs.c:qla24xx_async_gpsc_sp_done Cyclomatic Complexity 4 drivers/scsi/qla2xxx/qla_gs.c:qla24xx_async_gffid_sp_done Cyclomatic Complexity 2 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_async_gnnid_sp_done Cyclomatic Complexity 2 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_async_gfpnid_sp_done Cyclomatic Complexity 6 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_is_a_vp Cyclomatic Complexity 29 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_async_gpnft_gnnft_sp_done Cyclomatic Complexity 2 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_prep_ms_iocb Cyclomatic Complexity 1 drivers/scsi/qla2xxx/qla_gs.c:qla24xx_prep_ms_iocb Cyclomatic Complexity 11 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_chk_ms_status Cyclomatic Complexity 3 drivers/scsi/qla2xxx/qla_gs.c:qla2x00_fdmi_dhba Cyclomatic Complexity 8
[scsi:misc 327/330] drivers//scsi/storvsc_drv.c:1313:4: error: implicit declaration of function 'for_each_cpu_wrap'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git misc head: 16a628faa63c8149d9a8f433e5c6548f6cff98e4 commit: 2439bec3bf084ab6cbc69a66797a4612042be6ca [327/330] scsi: storvsc: Spread interrupts when picking a channel for I/O requests config: x86_64-randconfig-s1-02071932 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: git checkout 2439bec3bf084ab6cbc69a66797a4612042be6ca # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers//scsi/storvsc_drv.c: In function 'storvsc_do_io': >> drivers//scsi/storvsc_drv.c:1313:4: error: implicit declaration of function >> 'for_each_cpu_wrap' [-Werror=implicit-function-declaration] for_each_cpu_wrap(tgt_cpu, _mask, ^ drivers//scsi/storvsc_drv.c:1314:40: error: expected ';' before '{' token outgoing_channel->target_cpu + 1) { ^ cc1: some warnings being treated as errors vim +/for_each_cpu_wrap +1313 drivers//scsi/storvsc_drv.c 1280 1281 1282 static int storvsc_do_io(struct hv_device *device, 1283 struct storvsc_cmd_request *request, u16 q_num) 1284 { 1285 struct storvsc_device *stor_device; 1286 struct vstor_packet *vstor_packet; 1287 struct vmbus_channel *outgoing_channel; 1288 int ret = 0; 1289 struct cpumask alloced_mask; 1290 int tgt_cpu; 1291 1292 vstor_packet = >vstor_packet; 1293 stor_device = get_out_stor_device(device); 1294 1295 if (!stor_device) 1296 return -ENODEV; 1297 1298 1299 request->device = device; 1300 /* 1301 * Select an an appropriate channel to send the request out. 1302 */ 1303 1304 if (stor_device->stor_chns[q_num] != NULL) { 1305 outgoing_channel = stor_device->stor_chns[q_num]; 1306 if (outgoing_channel->target_cpu == smp_processor_id()) { 1307 /* 1308 * Ideally, we want to pick a different channel if 1309 * available on the same NUMA node. 1310 */ 1311 cpumask_and(_mask, _device->alloced_cpus, 1312 cpumask_of_node(cpu_to_node(q_num))); > 1313 for_each_cpu_wrap(tgt_cpu, _mask, 1314 outgoing_channel->target_cpu + 1) { 1315 if (tgt_cpu != outgoing_channel->target_cpu) { 1316 outgoing_channel = 1317 stor_device->stor_chns[tgt_cpu]; 1318 break; 1319 } 1320 } 1321 } 1322 } else { 1323 outgoing_channel = get_og_chn(stor_device, q_num); 1324 } 1325 1326 1327 vstor_packet->flags |= REQUEST_COMPLETION_FLAG; 1328 1329 vstor_packet->vm_srb.length = (sizeof(struct vmscsi_request) - 1330 vmscsi_size_delta); 1331 1332 1333 vstor_packet->vm_srb.sense_info_length = sense_buffer_size; 1334 1335 1336 vstor_packet->vm_srb.data_transfer_length = 1337 request->payload->range.len; 1338 1339 vstor_packet->operation = VSTOR_OPERATION_EXECUTE_SRB; 1340 1341 if (request->payload->range.len) { 1342 1343 ret = vmbus_sendpacket_mpb_desc(outgoing_channel, 1344 request->payload, request->payload_sz, 1345 vstor_packet, 1346 (sizeof(struct vstor_packet) - 1347 vmscsi_size_delta), 1348 (unsigned long)request); 1349 } else { 1350 ret = vmbus_sendpacket(outgoing_channel, vstor_packet, 1351 (sizeof(struct vstor_packet) - 1352 vmscsi_size_delta), 1353 (unsigned long)request, 1354 VM_PKT_DATA_INBAND, 1355 VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED); 1356 } 1357 1358 if (ret != 0) 1359 return ret; 1360 1361 atomic_inc(_device->num_outstanding_req); 1362 1363 return ret; 1364 } 1365 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel
Re: [PATCH 6/6] scsi: qedf: use correct strncpy() size
Hi Arnd, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Arnd-Bergmann/scsi-fixes-for-building-with-LTO/20180205-083607 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): drivers/scsi//qedf/qedf_dbg.c: In function 'qedf_uevent_emit': >> drivers/scsi//qedf/qedf_dbg.c:163:4: warning: ignoring return value of >> 'strscpy', declared with attribute warn_unused_result [-Wunused-result] strscpy(event_string, msg, sizeof(event_string)); ^~~~ vim +/strscpy +163 drivers/scsi//qedf/qedf_dbg.c 152 153 void 154 qedf_uevent_emit(struct Scsi_Host *shost, u32 code, char *msg) 155 { 156 char event_string[40]; 157 char *envp[] = {event_string, NULL}; 158 159 memset(event_string, 0, sizeof(event_string)); 160 switch (code) { 161 case QEDF_UEVENT_CODE_GRCDUMP: 162 if (msg) > 163 strscpy(event_string, msg, > sizeof(event_string)); 164 else 165 sprintf(event_string, "GRCDUMP=%u", shost->host_no); 166 break; 167 default: 168 /* do nothing */ 169 break; 170 } 171 172 kobject_uevent_env(>shost_gendev.kobj, KOBJ_CHANGE, envp); 173 } 174 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 6/6] mpt3sas: Introduce function to clone mpi reply.
Hi Suganath, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15-rc8 next-20180119] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Add-PCI-device-ID-for-Andromeda/20180121-002454 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/scsi/mpt3sas/mpt3sas_base.c:148:35: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:151:16: sparse: cast from restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:151:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:151:16: expected unsigned int val drivers/scsi/mpt3sas/mpt3sas_base.c:151:16: got restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:151:36: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got @@ drivers/scsi/mpt3sas/mpt3sas_base.c:151:36: expected void volatile drivers/scsi/mpt3sas/mpt3sas_base.c:151:36: got void drivers/scsi/mpt3sas/mpt3sas_base.c:169:24: sparse: cast from restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:169:24: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:169:24: expected unsigned int val drivers/scsi/mpt3sas/mpt3sas_base.c:169:24: got restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:169:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got @@ drivers/scsi/mpt3sas/mpt3sas_base.c:169:64: expected void volatile drivers/scsi/mpt3sas/mpt3sas_base.c:169:64: got void COPYING CREDITS Documentation Kbuild Kconfig MAINTAINERS Makefile README arch block certs crypto drivers firmware fs include init ipc kernel lib mm net samples scripts security sound tools usr virt drivers/scsi/mpt3sas/mpt3sas_base.c:186:24: sparse: cast from restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:186:24: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:186:24: expected unsigned int val drivers/scsi/mpt3sas/mpt3sas_base.c:186:24: got restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:186:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got @@ drivers/scsi/mpt3sas/mpt3sas_base.c:186:64: expected void volatile drivers/scsi/mpt3sas/mpt3sas_base.c:186:64: got void COPYING CREDITS Documentation Kbuild Kconfig MAINTAINERS Makefile README arch block certs crypto drivers firmware fs include init ipc kernel lib mm net samples scripts security sound tools usr virt drivers/scsi/mpt3sas/mpt3sas_base.c:206:24: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:359:24: sparse: undefined identifier 'mpt3sas_scsih_scsi_lookup_get' drivers/scsi/mpt3sas/mpt3sas_base.c:1208:42: sparse: incorrect type in assignment (different base types) @@ expected unsigned short Event @@ got short Event @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1209:49: sparse: incorrect type in assignment (different base types) @@ expected unsigned int EventContext @@ got ed int EventContext @@ >> drivers/scsi/mpt3sas/mpt3sas_base.c:1404:75: sparse: incorrect type in >> argument 2 (different base types) @@ expected restricted __le32 reply @@ got >> unsigned int [unsrestricted __le32 reply @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1430:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1479:52: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3011:32: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:3359:26: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:3303:26: sparse: incorrect type in initializer (different base types) @@ expected unsigned long long data_out @@ got g long data_out @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3326:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3326:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3443:34: sparse: cast
Re: [PATCH 5/6] mpt3sas: Introduce function to clone mpi request.
Hi Suganath, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15-rc8 next-20180119] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Add-PCI-device-ID-for-Andromeda/20180121-002454 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/scsi/mpt3sas/mpt3sas_base.c:143:24: sparse: cast from restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:143:24: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:143:24: expected unsigned int val drivers/scsi/mpt3sas/mpt3sas_base.c:143:24: got restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:143:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got @@ drivers/scsi/mpt3sas/mpt3sas_base.c:143:64: expected void volatile drivers/scsi/mpt3sas/mpt3sas_base.c:143:64: got void COPYING CREDITS Documentation Kbuild Kconfig MAINTAINERS Makefile README arch block certs crypto drivers firmware fs include init ipc kernel lib mm net samples scripts security sound tools usr virt drivers/scsi/mpt3sas/mpt3sas_base.c:160:24: sparse: cast from restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:160:24: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:160:24: expected unsigned int val drivers/scsi/mpt3sas/mpt3sas_base.c:160:24: got restricted __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:160:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got @@ drivers/scsi/mpt3sas/mpt3sas_base.c:160:64: expected void volatile drivers/scsi/mpt3sas/mpt3sas_base.c:160:64: got void COPYING CREDITS Documentation Kbuild Kconfig MAINTAINERS Makefile README arch block certs crypto drivers firmware fs include init ipc kernel lib mm net samples scripts security sound tools usr virt drivers/scsi/mpt3sas/mpt3sas_base.c:180:24: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:333:24: sparse: undefined identifier 'mpt3sas_scsih_scsi_lookup_get' drivers/scsi/mpt3sas/mpt3sas_base.c:1182:42: sparse: incorrect type in assignment (different base types) @@ expected unsigned short Event @@ got short Event @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1183:49: sparse: incorrect type in assignment (different base types) @@ expected unsigned int EventContext @@ got ed int EventContext @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1401:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1450:52: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:2982:32: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:3330:26: sparse: cast removes address space of expression >> drivers/scsi/mpt3sas/mpt3sas_base.c:3274:26: sparse: incorrect type in >> initializer (different base types) @@ expected unsigned long long data_out >> @@ got g long data_out @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3297:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3297:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3414:34: sparse: cast removes address space of expression >> drivers/scsi/mpt3sas/mpt3sas_base.c:3274:26: sparse: incorrect type in >> initializer (different base types) @@ expected unsigned long long data_out >> @@ got g long data_out @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3297:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3297:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3483:34: sparse: cast removes address space of expression >> drivers/scsi/mpt3sas/mpt3sas_base.c:3274:26: sparse: incorrect type in >> initializer (different base types) @@ expected unsigned long long data_out >> @@ got g long data_out @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3297:16: sparse: incorrect type in argument 1 (different base types) @@ expected
Re: [PATCH 4/6] mpt3sas: Introduce Base function for cloning.
Hi Suganath, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15-rc8 next-20180119] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Add-PCI-device-ID-for-Andromeda/20180121-002454 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/scsi/mpt3sas/mpt3sas_base.c:142:24: sparse: cast from restricted >> __le32 drivers/scsi/mpt3sas/mpt3sas_base.c:142:24: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:142:24: expected unsigned int val drivers/scsi/mpt3sas/mpt3sas_base.c:142:24: got restricted __le32 >> drivers/scsi/mpt3sas/mpt3sas_base.c:142:64: sparse: incorrect type in >> argument 2 (different address spaces) @@ expected void volatile @@ got @@ drivers/scsi/mpt3sas/mpt3sas_base.c:142:64: expected void volatile drivers/scsi/mpt3sas/mpt3sas_base.c:142:64: got void COPYING CREDITS Documentation Kbuild Kconfig MAINTAINERS Makefile README arch block certs crypto drivers firmware fs include init ipc kernel lib mm net samples scripts security sound tools usr virt drivers/scsi/mpt3sas/mpt3sas_base.c:162:24: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:315:24: sparse: undefined identifier 'mpt3sas_scsih_scsi_lookup_get' drivers/scsi/mpt3sas/mpt3sas_base.c:1164:42: sparse: incorrect type in assignment (different base types) @@ expected unsigned short Event @@ got short Event @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1165:49: sparse: incorrect type in assignment (different base types) @@ expected unsigned int EventContext @@ got ed int EventContext @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1383:64: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:1432:52: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:2964:32: sparse: cast removes address space of expression drivers/scsi/mpt3sas/mpt3sas_base.c:3256:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3256:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3256:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3256:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3256:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long val @@ got restunsigned long val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3411:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3433:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3456:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3477:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:3498:16: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:4950:24: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restrunsigned int val @@ drivers/scsi/mpt3sas/mpt3sas_base.c:4971:20: sparse: cast to restricted __le16 drivers/scsi/mpt3sas/mpt3sas_base.c:4980:20: sparse: cast to restricted __le16 drivers/scsi/mpt3sas/mpt3sas_base.c:4994:36: sparse: cast to restricted __le16 drivers/scsi/mpt3sas/mpt3sas_base.c:6175:55: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile @@ got oid volatile @@ drivers/scsi/mpt3sas/mpt3sas_base.c:315:53: sparse: call with no type! drivers/scsi/mpt3sas/mpt3sas_base.c: In function '_clone_sg_entries': drivers/scsi/mpt3sas/mpt3sas_base.c:315:10: error: implicit
Re: [PATCH 4/6] mpt3sas: Introduce Base function for cloning.
Hi Suganath, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15-rc8 next-20180119] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Add-PCI-device-ID-for-Andromeda/20180121-002454 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: i386-randconfig-i1-201802 (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/scsi/mpt3sas/mpt3sas_base.c: In function '_base_get_chain_phys': drivers/scsi/mpt3sas/mpt3sas_base.c:188:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] base_chain_phys = (void *)ioc->chip_phys + MPI_FRAME_START_OFFSET + ^ drivers/scsi/mpt3sas/mpt3sas_base.c: In function '_clone_sg_entries': drivers/scsi/mpt3sas/mpt3sas_base.c:315:10: error: implicit declaration of function 'mpt3sas_scsih_scsi_lookup_get'; did you mean 'mpt3sas_scsih_issue_locked_tm'? [-Werror=implicit-function-declaration] scmd = mpt3sas_scsih_scsi_lookup_get(ioc, smid); ^ mpt3sas_scsih_issue_locked_tm drivers/scsi/mpt3sas/mpt3sas_base.c:315:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion] scmd = mpt3sas_scsih_scsi_lookup_get(ioc, smid); ^ >> drivers/scsi/mpt3sas/mpt3sas_base.c:378:20: warning: cast from pointer to >> integer of different size [-Wpointer-to-int-cast] sgel->Address = (dma_addr_t)dst_addr_phys; ^ drivers/scsi/mpt3sas/mpt3sas_base.c:389:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (dma_addr_t)buff_ptr_phys; ^ drivers/scsi/mpt3sas/mpt3sas_base.c:395:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (dma_addr_t)buff_ptr_phys; ^ At top level: drivers/scsi/mpt3sas/mpt3sas_base.c:278:13: warning: '_clone_sg_entries' defined but not used [-Wunused-function] static void _clone_sg_entries(struct MPT3SAS_ADAPTER *ioc, ^ cc1: some warnings being treated as errors vim +378 drivers/scsi/mpt3sas/mpt3sas_base.c 265 266 /** 267 * _clone_sg_entries - MPI EP's scsiio and config requests 268 * are handled here. Base function for 269 * double buffering, before submitting 270 * the requests. 271 * 272 * @ioc: per adapter object. 273 * @mpi_request: mf request pointer. 274 * @smid: system request message index. 275 * 276 * @Returns: Nothing. 277 */ 278 static void _clone_sg_entries(struct MPT3SAS_ADAPTER *ioc, 279 void *mpi_request, u16 smid) 280 { 281 Mpi2SGESimple32_t *sgel, *sgel_next; 282 u32 sgl_flags, sge_chain_count = 0; 283 bool is_write = 0; 284 u16 i = 0; 285 void *buffer_iomem, *buffer_iomem_phys; 286 void *buff_ptr, *buff_ptr_phys; 287 void *dst_chain_addr[MCPU_MAX_CHAINS_PER_IO]; 288 void *src_chain_addr[MCPU_MAX_CHAINS_PER_IO], *dst_addr_phys; 289 MPI2RequestHeader_t *request_hdr; 290 struct scsi_cmnd *scmd; 291 struct scatterlist *sg_scmd = NULL; 292 int is_scsiio_req = 0; 293 294 request_hdr = (MPI2RequestHeader_t *) mpi_request; 295 296 if (request_hdr->Function == MPI2_FUNCTION_SCSI_IO_REQUEST) { 297 Mpi25SCSIIORequest_t *scsiio_request = 298 (Mpi25SCSIIORequest_t *)mpi_request; 299 sgel = (Mpi2SGESimple32_t *) _request->SGL; 300 is_scsiio_req = 1; 301 } else if (request_hdr->Function == MPI2_FUNCTION_CONFIG) { 302 Mpi2ConfigRequest_t *config_req = 303 (Mpi2ConfigRequest_t *)mpi_request; 304 sgel = (Mpi2SGESimple32_t *) _req->PageBufferSGE; 305 } else 306 return; 307 308 /* From smid we can get scsi_cmd, once we have sg_scmd, 309 * we just need to get sg_virt and sg_next to get virual 310 * address associated with sgel->Address. 311 */ 312 313 if (is_scsiio_req) { 314 /* Get scsi_cmd using smid */ > 315 scmd = mpt3sas_scsih_scsi_lookup_get(ioc, smid); 316 if (scmd == NULL) { 317 pr_err(MPT3SAS_FMT "scmd is NULL\n", ioc->name); 318
Re: [PATCH 3/6] mpt3sas: Introduce API's to get BAR0 mapped buffer address.
Hi Suganath, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15-rc8 next-20180119] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Add-PCI-device-ID-for-Andromeda/20180121-002454 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: i386-randconfig-x017-201803 (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/scsi/mpt3sas/mpt3sas_base.c: In function '_base_get_chain_phys': >> drivers/scsi/mpt3sas/mpt3sas_base.c:171:21: warning: cast to pointer from >> integer of different size [-Wint-to-pointer-cast] base_chain_phys = (void *)ioc->chip_phys + MPI_FRAME_START_OFFSET + ^ At top level: drivers/scsi/mpt3sas/mpt3sas_base.c:212:1: warning: '_base_get_buffer_phys_bar0' defined but not used [-Wunused-function] _base_get_buffer_phys_bar0(struct MPT3SAS_ADAPTER *ioc, u16 smid) ^~ drivers/scsi/mpt3sas/mpt3sas_base.c:191:1: warning: '_base_get_buffer_bar0' defined but not used [-Wunused-function] _base_get_buffer_bar0(struct MPT3SAS_ADAPTER *ioc, u16 smid) ^ vim +171 drivers/scsi/mpt3sas/mpt3sas_base.c 152 153 /** 154 * _base_get_chain_phys - Calculates and Returns physical address 155 * in BAR0 for scatter gather chains, for 156 * the provided smid. 157 * 158 * @ioc: per adapter object 159 * @smid: system request message index 160 * @sge_chain_count: Scatter gather chain count. 161 * 162 * @Return - Physical chain address. 163 */ 164 static inline void * 165 _base_get_chain_phys(struct MPT3SAS_ADAPTER *ioc, u16 smid, 166 u8 sge_chain_count) 167 { 168 void *base_chain_phys, *chain_phys; 169 u16 cmd_credit = ioc->facts.RequestCredit + 1; 170 > 171 base_chain_phys = (void *)ioc->chip_phys + > MPI_FRAME_START_OFFSET + 172 (cmd_credit * ioc->request_sz) + 173 REPLY_FREE_POOL_SIZE; 174 chain_phys = base_chain_phys + (smid * ioc->facts.MaxChainDepth * 175 ioc->request_sz) + (sge_chain_count * ioc->request_sz); 176 return chain_phys; 177 } 178 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[RFC PATCH mkp-scsi] scsi: libsas: sas_destruct_ports() can be static
Fixes: 99cfdc04c12e ("scsi: libsas: direct call probe and destruct") Signed-off-by: Fengguang Wu--- sas_discover.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c index 190108e..e4fd078 100644 --- a/drivers/scsi/libsas/sas_discover.c +++ b/drivers/scsi/libsas/sas_discover.c @@ -361,7 +361,7 @@ void sas_destruct_devices(struct asd_sas_port *port) } } -void sas_destruct_ports(struct asd_sas_port *port) +static void sas_destruct_ports(struct asd_sas_port *port) { struct sas_port *sas_port, *p;
[mkp-scsi:for-next 237/263] drivers/scsi/libsas/sas_discover.c:364:6: sparse: symbol 'sas_destruct_ports' was not declared. Should it be static?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next head: f7c3d0667404295422c9a5d71fd87ca20c770f49 commit: 99cfdc04c12ea1bc5719bff15f24dae8b5b90da9 [237/263] scsi: libsas: direct call probe and destruct reproduce: # apt-get install sparse git checkout 99cfdc04c12ea1bc5719bff15f24dae8b5b90da9 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/scsi/libsas/sas_discover.c:364:6: sparse: symbol >> 'sas_destruct_ports' was not declared. Should it be Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH v2 net-next 3/4] qed*: Utilize FW 8.33.1.0
Hi Tomer, Thank you for the patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Tomer-Tayar/qed-Refactoring-and-rearranging-FW-API-with-no-functional-impact/20171227-110607 config: i386-randconfig-h0-12271326 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.o: In function `qed_calc_cdu_validation_byte': >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:1322: undefined >> reference to `crc8_populate_msb' >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:1343: undefined >> reference to `crc8' vim +1322 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c 1311 1312 /* Calculate and return CDU validation byte per connection type/region/cid */ 1313 static u8 qed_calc_cdu_validation_byte(u8 conn_type, u8 region, u32 cid) 1314 { 1315 const u8 validation_cfg = CDU_VALIDATION_DEFAULT_CFG; 1316 u8 crc, validation_byte = 0; 1317 static u8 crc8_table_valid; /* automatically initialized to 0 */ 1318 u32 validation_string = 0; 1319 u32 data_to_crc; 1320 1321 if (!crc8_table_valid) { > 1322 crc8_populate_msb(cdu_crc8_table, 0x07); 1323 crc8_table_valid = 1; 1324 } 1325 1326 /* The CRC is calculated on the String-to-compress: 1327 * [31:8] = {CID[31:20],CID[11:0]} 1328 * [7:4] = Region 1329 * [3:0] = Type 1330 */ 1331 if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_CID) & 1) 1332 validation_string |= (cid & 0xFFF0) | ((cid & 0xFFF) << 8); 1333 1334 if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_REGION) & 1) 1335 validation_string |= ((region & 0xF) << 4); 1336 1337 if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_TYPE) & 1) 1338 validation_string |= (conn_type & 0xF); 1339 1340 /* Convert to big-endian and calculate CRC8 */ 1341 data_to_crc = be32_to_cpu(validation_string); 1342 > 1343 crc = crc8(cdu_crc8_table, 1344 (u8 *)_to_crc, sizeof(data_to_crc), CRC8_INIT_VALUE); 1345 1346 /* The validation byte [7:0] is composed: 1347 * for type A validation 1348 * [7] = active configuration bit 1349 * [6:0]= crc[6:0] 1350 * 1351 * for type B validation 1352 * [7] = active configuration bit 1353 * [6:3]= connection_type[3:0] 1354 * [2:0]= crc[2:0] 1355 */ 1356 validation_byte |= 1357 ((validation_cfg >> 1358CDU_CONTEXT_VALIDATION_CFG_USE_ACTIVE) & 1) << 7; 1359 1360 if ((validation_cfg >> 1361 CDU_CONTEXT_VALIDATION_CFG_VALIDATION_TYPE_SHIFT) & 1) 1362 validation_byte |= ((conn_type & 0xF) << 3) | (crc & 0x7); 1363 else 1364 validation_byte |= crc & 0x7F; 1365 1366 return validation_byte; 1367 } 1368 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 9/9] ufs: sysfs: attributes
Hi Stanislav, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.15-rc5 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-rhel (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): WARNING: modpost: missing MODULE_LICENSE() in drivers/hid/hid-holtekff.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/scsi/ufs/ufs-sysfs.o see include/linux/module.h for more information >> ERROR: "ufs_sysfs_lun_attributes_group" [drivers/scsi/ufs/ufshcd.ko] >> undefined! ERROR: "ufs_sysfs_unit_descriptor_group" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufs_sysfs_add_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufs_sysfs_remove_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufshcd_read_string_desc" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! ERROR: "ufshcd_query_descriptor_retry" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! ERROR: "ufshcd_query_flag" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! >> ERROR: "ufshcd_query_attr" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 8/9] ufs: sysfs: flags
Hi Stanislav, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.15-rc5 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-rhel (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): WARNING: modpost: missing MODULE_LICENSE() in drivers/hid/hid-holtekff.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/scsi/ufs/ufs-sysfs.o see include/linux/module.h for more information ERROR: "ufs_sysfs_unit_descriptor_group" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufs_sysfs_add_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufs_sysfs_remove_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufshcd_read_string_desc" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! ERROR: "ufshcd_query_descriptor_retry" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! >> ERROR: "ufshcd_query_flag" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 7/9] ufs: sysfs: unit descriptor
Hi Stanislav, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.15-rc5 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-rhel (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): WARNING: modpost: missing MODULE_LICENSE() in drivers/hid/hid-holtekff.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/scsi/ufs/ufs-sysfs.o see include/linux/module.h for more information >> ERROR: "ufs_sysfs_unit_descriptor_group" [drivers/scsi/ufs/ufshcd.ko] >> undefined! ERROR: "ufs_sysfs_add_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufs_sysfs_remove_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufshcd_read_string_desc" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! ERROR: "ufshcd_query_descriptor_retry" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 6/9] ufs: sysfs: string descriptors
Hi Stanislav, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.15-rc5 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-rhel (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): WARNING: modpost: missing MODULE_LICENSE() in drivers/hid/hid-holtekff.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/scsi/ufs/ufs-sysfs.o see include/linux/module.h for more information ERROR: "ufs_sysfs_add_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! ERROR: "ufs_sysfs_remove_device_management" [drivers/scsi/ufs/ufshcd.ko] undefined! >> ERROR: "ufshcd_read_string_desc" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! ERROR: "ufshcd_query_descriptor_retry" [drivers/scsi/ufs/ufs-sysfs.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 1/9] ufs: sysfs: device descriptor
Hi Stanislav, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.15-rc5 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-kexec (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): WARNING: modpost: missing MODULE_LICENSE() in drivers/scsi/ufs/ufs-sysfs.o see include/linux/module.h for more information >> ERROR: "ufs_sysfs_remove_device_management" [drivers/scsi/ufs/ufshcd.ko] >> undefined! >> ERROR: "ufs_sysfs_add_device_management" [drivers/scsi/ufs/ufshcd.ko] >> undefined! >> ERROR: "ufshcd_query_descriptor_retry" [drivers/scsi/ufs/ufs-sysfs.ko] >> undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 1/9] ufs: sysfs: device descriptor
Hi Stanislav, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.15-rc5 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) vim +40 drivers/scsi/ufs/ufs-sysfs.c 15 16 static inline ssize_t ufs_sysfs_read_desc_param( 17 struct ufs_hba *hba, u8 desc_idn, u8 index, char *buf, u8 off, 18 enum ufs_desc_param_size param_size) 19 { 20 int desc_len; 21 int ret; 22 u8 *desc_buf; 23 24 if (ufshcd_map_desc_id_to_length(hba, desc_idn, _len) || 25 off >= desc_len) 26 return -EINVAL; 27 desc_buf = kzalloc(desc_len, GFP_ATOMIC); 28 if (!desc_buf) 29 return -ENOMEM; 30 ret = ufshcd_query_descriptor_retry(hba, UPIU_QUERY_OPCODE_READ_DESC, 31 desc_idn, index, 0, desc_buf, _len); 32 if (ret) 33 return -EINVAL; 34 switch (param_size) { 35 case UFS_PARAM_BYTE_SIZE: 36 ret = sprintf(buf, "0x%02X\n", desc_buf[off]); 37 break; 38 case UFS_PARAM_WORD_SIZE: 39 ret = sprintf(buf, "0x%04X\n", > 40 be16_to_cpu(*((u16 *)(desc_buf + off; 41 break; 42 case UFS_PARAM_DWORD_SIZE: 43 ret = sprintf(buf, "0x%08X\n", > 44 be32_to_cpu(*((u32 *)(desc_buf + off; 45 break; 46 case UFS_PARAM_QWORD_SIZE: 47 ret = sprintf(buf, "0x%016llX\n", > 48 be64_to_cpu(*((u64 *)(desc_buf + off; 49 break; 50 } 51 kfree(desc_buf); 52 53 return ret; 54 } 55 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH net-next] qed*: Utilize FW 8.33.1.0
Hi Tomer, Thank you for the patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Tomer-Tayar/qed-Utilize-FW-8-33-1-0/20171221-180506 config: x86_64-randconfig-s0-12221644 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from drivers/net/ethernet/qlogic/qed/qed_sp_commands.c:48:0: >> drivers/net/ethernet/qlogic/qed/qed_sriov.h:464:1: error: static declaration >> of 'qed_iov_is_valid_vfid' follows non-static declaration qed_iov_is_valid_vfid(struct qed_hwfn *p_hwfn, ^ drivers/net/ethernet/qlogic/qed/qed_sriov.h:144:6: note: previous declaration of 'qed_iov_is_valid_vfid' was here bool qed_iov_is_valid_vfid(struct qed_hwfn *p_hwfn, ^ vim +/qed_iov_is_valid_vfid +464 drivers/net/ethernet/qlogic/qed/qed_sriov.h 462 463 static inline bool > 464 qed_iov_is_valid_vfid(struct qed_hwfn *p_hwfn, 465int rel_vf_id, bool b_enabled_only, bool b_non_malicious) 466 { 467 return false; 468 } 469 #endif 470 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH net-next] qed*: Utilize FW 8.33.1.0
Hi Tomer, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/Tomer-Tayar/qed-Utilize-FW-8-33-1-0/20171221-180506 config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:7:0, from include/linux/kernel.h:14, from include/asm-generic/bug.h:18, from ./arch/xtensa/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/io.h:23, from drivers/net//ethernet/qlogic/qed/qed_hw.c:34: drivers/net//ethernet/qlogic/qed/qed_hw.c: In function 'qed_dmae_sanity': >> include/linux/kern_levels.h:5:18: warning: format '%llx' expects argument of >> type 'long long unsigned int', but argument 6 has type 'dma_addr_t {aka >> unsigned int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:13:21: note: in expansion of macro 'KERN_SOH' #define KERN_NOTICE KERN_SOH "5" /* normal but significant condition */ ^~~~ >> include/linux/printk.h:306:9: note: in expansion of macro 'KERN_NOTICE' printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) ^~~ >> include/linux/qed/qed_if.h:761:4: note: in expansion of macro 'pr_notice' pr_notice("[%s:%d(%s)]" fmt,\ ^ >> drivers/net//ethernet/qlogic/qed/qed_hw.c:866:4: note: in expansion of macro >> 'DP_NOTICE' DP_NOTICE(p_hwfn, ^ drivers/net//ethernet/qlogic/qed/qed_hw.c:867:42: note: format string is defined here "DMAE sanity [%s]: addr={phys 0x%llx, virt %p}, read_val 0x%08x, expected_val 0x%08x\n", ~~~^ %x -- In file included from include/linux/printk.h:7:0, from include/linux/kernel.h:14, from include/asm-generic/bug.h:18, from ./arch/xtensa/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/io.h:23, from drivers/net/ethernet/qlogic/qed/qed_hw.c:34: drivers/net/ethernet/qlogic/qed/qed_hw.c: In function 'qed_dmae_sanity': >> include/linux/kern_levels.h:5:18: warning: format '%llx' expects argument of >> type 'long long unsigned int', but argument 6 has type 'dma_addr_t {aka >> unsigned int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:13:21: note: in expansion of macro 'KERN_SOH' #define KERN_NOTICE KERN_SOH "5" /* normal but significant condition */ ^~~~ >> include/linux/printk.h:306:9: note: in expansion of macro 'KERN_NOTICE' printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) ^~~ >> include/linux/qed/qed_if.h:761:4: note: in expansion of macro 'pr_notice' pr_notice("[%s:%d(%s)]" fmt,\ ^ drivers/net/ethernet/qlogic/qed/qed_hw.c:866:4: note: in expansion of macro 'DP_NOTICE' DP_NOTICE(p_hwfn, ^ drivers/net/ethernet/qlogic/qed/qed_hw.c:867:42: note: format string is defined here "DMAE sanity [%s]: addr={phys 0x%llx, virt %p}, read_val 0x%08x, expected_val 0x%08x\n", ~~~^ %x vim +5 include/linux/kern_levels.h 314ba352 Joe Perches 2012-07-30 4 04d2c8c8 Joe Perches 2012-07-30 @5 #define KERN_SOH"\001" /* ASCII Start Of Header */ 04d2c8c8 Joe Perches 2012-07-30 6 #define KERN_SOH_ASCII '\001' 04d2c8c8 Joe Perches 2012-07-30 7 :: The code at line 5 was first introduced by commit :: 04d2c8c83d0e3ac5f78aeede51babb3236200112 printk: convert the format for KERN_ to a 2 byte pattern :: TO: Joe Perches:: CC: Linus Torvalds --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 19/43] qla2xxx: Fix session cleanup for N2N
Hi Quinn, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20171220] [cannot apply to v4.15-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Driver-update/20171221-085840 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) vim +4828 drivers/scsi/qla2xxx/qla_os.c 4743 4744 static 4745 void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e) 4746 { 4747 unsigned long flags; 4748 fc_port_t *fcport = NULL, *tfcp; 4749 struct qlt_plogi_ack_t *pla = 4750 (struct qlt_plogi_ack_t *)e->u.new_sess.pla; 4751 uint8_t free_fcport = 0; 4752 4753 ql_dbg(ql_dbg_disc, vha, 0x, 4754 "%s %d %8phC enter\n", 4755 __func__, __LINE__, e->u.new_sess.port_name); 4756 4757 spin_lock_irqsave(>hw->tgt.sess_lock, flags); 4758 fcport = qla2x00_find_fcport_by_wwpn(vha, e->u.new_sess.port_name, 1); 4759 if (fcport) { 4760 fcport->d_id = e->u.new_sess.id; 4761 if (pla) { 4762 fcport->fw_login_state = DSC_LS_PLOGI_PEND; 4763 memcpy(fcport->node_name, 4764 pla->iocb.u.isp24.u.plogi.node_name, 4765 WWN_SIZE); 4766 qlt_plogi_ack_link(vha, pla, fcport, QLT_PLOGI_LINK_SAME_WWN); 4767 /* we took an extra ref_count to prevent PLOGI ACK when 4768 * fcport/sess has not been created. 4769 */ 4770 pla->ref_count--; 4771 } 4772 } else { 4773 spin_unlock_irqrestore(>hw->tgt.sess_lock, flags); 4774 fcport = qla2x00_alloc_fcport(vha, GFP_KERNEL); 4775 if (fcport) { 4776 fcport->d_id = e->u.new_sess.id; 4777 fcport->scan_state = QLA_FCPORT_FOUND; 4778 fcport->flags |= FCF_FABRIC_DEVICE; 4779 fcport->fw_login_state = DSC_LS_PLOGI_PEND; 4780 4781 memcpy(fcport->port_name, e->u.new_sess.port_name, 4782 WWN_SIZE); 4783 } else { 4784 ql_dbg(ql_dbg_disc, vha, 0x, 4785 "%s %8phC mem alloc fail.\n", 4786 __func__, e->u.new_sess.port_name); 4787 4788 if (pla) 4789 kmem_cache_free(qla_tgt_plogi_cachep, pla); 4790 return; 4791 } 4792 4793 spin_lock_irqsave(>hw->tgt.sess_lock, flags); 4794 /* search again to make sure one else got ahead */ 4795 tfcp = qla2x00_find_fcport_by_wwpn(vha, 4796 e->u.new_sess.port_name, 1); 4797 if (tfcp) { 4798 /* should rarily happen */ 4799 ql_dbg(ql_dbg_disc, vha, 0x, 4800 "%s %8phC found existing fcport b4 add. DS %d LS %d\n", 4801 __func__, tfcp->port_name, tfcp->disc_state, 4802 tfcp->fw_login_state); 4803 4804 free_fcport = 1; 4805 } else { 4806 list_add_tail(>list, >vp_fcports); 4807 4808 } 4809 if (pla) { 4810 qlt_plogi_ack_link(vha, pla, fcport, 4811 QLT_PLOGI_LINK_SAME_WWN); 4812 pla->ref_count--; 4813 } 4814 } 4815 spin_unlock_irqrestore(>hw->tgt.sess_lock, flags); 4816 4817 if (fcport) { 4818 if (N2N_TOPO(vha->hw)) 4819 fcport->flags &= ~FCF_FABRIC_DEVICE; 4820 4821 if (pla) { 4822 if (pla->iocb.u.isp24.status_subcode == ELS_PRLI) { 4823 u16 wd3_lo; 4824 4825 fcport->fw_login_state = DSC_LS_PRLI_PEND; 4826 fcport->local = 0; 4827 fcport->loop_id = > 4828 le16_to_cpu( 4829
[RFC PATCH] qla2xxx: sp_str[] can be static
Fixes: a3e84f0484ea ("qla2xxx: Fix stale memory access for name pointer") Signed-off-by: Fengguang Wu--- qla_gs.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index 7e88e828..54c8dfd 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c @@ -15,7 +15,7 @@ static int qla2x00_sns_gnn_id(scsi_qla_host_t *, sw_info_t *); static int qla2x00_sns_rft_id(scsi_qla_host_t *); static int qla2x00_sns_rnn_id(scsi_qla_host_t *); -struct sp_name sp_str[] = { +static struct sp_name sp_str[] = { { SPCN_UNKNOWN, "unknown" }, { SPCN_GIDPN, "gidpn" }, { SPCN_GPSC, "gpsc" },
Re: [PATCH 01/43] qla2xxx: Fix stale memory access for name pointer
Hi Quinn, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20171220] [cannot apply to v4.15-rc4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Driver-update/20171221-085840 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH 4/4] scsi: arcmsr: simplify all arcmsr_hbaX_get_config routine by call a new get_adapter_config function
Hi Ching, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20171213] [cannot apply to v4.15-rc3] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ching-Huang/scsi-arcmsr-simplify-hba_get_config-routine/20171213-224803 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) vim +2971 drivers/scsi/arcmsr/arcmsr_hba.c 2958 2959 static void arcmsr_get_adapter_config(struct AdapterControlBlock *pACB, uint32_t *rwbuffer) 2960 { 2961 int count; 2962 uint32_t *acb_firm_model = (uint32_t *)pACB->firm_model; 2963 uint32_t *acb_firm_version = (uint32_t *)pACB->firm_version; 2964 uint32_t *acb_device_map = (uint32_t *)pACB->device_map; 2965 uint32_t *firm_model = [15]; 2966 uint32_t *firm_version = [17]; 2967 uint32_t *device_map = [21]; 2968 2969 count = 2; 2970 while (count) { > 2971 *acb_firm_model = readl(firm_model); 2972 acb_firm_model++; 2973 firm_model++; 2974 count--; 2975 } 2976 count = 4; 2977 while (count) { 2978 *acb_firm_version = readl(firm_version); 2979 acb_firm_version++; 2980 firm_version++; 2981 count--; 2982 } 2983 count = 4; 2984 while (count) { 2985 *acb_device_map = readl(device_map); 2986 acb_device_map++; 2987 device_map++; 2988 count--; 2989 } 2990 pACB->signature = readl([0]); 2991 pACB->firm_request_len = readl([1]); 2992 pACB->firm_numbers_queue = readl([2]); > 2993 pACB->firm_sdram_size = readl([3]); > 2994 pACB->firm_hd_channels = readl([4]); 2995 pACB->firm_cfg_version = readl([25]); 2996 pr_notice("Areca RAID Controller%d: Model %s, F/W %s\n", 2997 pACB->host->host_no, 2998 pACB->firm_model, 2999 pACB->firm_version); 3000 } 3001 3002 static bool arcmsr_hbaA_get_config(struct AdapterControlBlock *acb) 3003 { 3004 struct MessageUnit_A __iomem *reg = acb->pmuA; 3005 3006 arcmsr_wait_firmware_ready(acb); 3007 writel(ARCMSR_INBOUND_MESG0_GET_CONFIG, >inbound_msgaddr0); 3008 if (!arcmsr_hbaA_wait_msgint_ready(acb)) { 3009 printk(KERN_NOTICE "arcmsr%d: wait 'get adapter firmware \ 3010 miscellaneous data' timeout \n", acb->host->host_no); 3011 return false; 3012 } > 3013 arcmsr_get_adapter_config(acb, reg->message_rwbuffer); 3014 return true; 3015 } 3016 static bool arcmsr_hbaB_get_config(struct AdapterControlBlock *acb) 3017 { 3018 struct MessageUnit_B *reg = acb->pmuB; 3019 3020 arcmsr_wait_firmware_ready(acb); 3021 writel(ARCMSR_MESSAGE_START_DRIVER_MODE, reg->drv2iop_doorbell); 3022 if (!arcmsr_hbaB_wait_msgint_ready(acb)) { 3023 printk(KERN_ERR "arcmsr%d: can't set driver mode.\n", acb->host->host_no); 3024 return false; 3025 } 3026 writel(ARCMSR_MESSAGE_GET_CONFIG, reg->drv2iop_doorbell); 3027 if (!arcmsr_hbaB_wait_msgint_ready(acb)) { 3028 printk(KERN_NOTICE "arcmsr%d: wait 'get adapter firmware \ 3029 miscellaneous data' timeout \n", acb->host->host_no); 3030 return false; 3031 } > 3032 arcmsr_get_adapter_config(acb, reg->message_rwbuffer); 3033 return true; 3034 } 3035 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH] scsi: ufs: Fix Runtime PM
Hi Michał, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.14-rc8 next-20171109] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Michal-Potomski/scsi-ufs-Fix-Runtime-PM/20171110-191314 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-randconfig-v0-11102116 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/async.h:15, from drivers/scsi/ufs/ufshcd.c:40: drivers/scsi/ufs/ufshcd.c: In function 'ufshcd_pm_runtime_get': drivers/scsi/ufs/ufshcd.c:246:16: error: 'struct dev_pm_info' has no member named 'runtime_status' if (dev->power.runtime_status == RPM_RESUMING || ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/scsi/ufs/ufshcd.c:246:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c:247:16: error: 'struct dev_pm_info' has no member named 'runtime_status' dev->power.runtime_status == RPM_SUSPENDING) ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/scsi/ufs/ufshcd.c:246:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c:246:16: error: 'struct dev_pm_info' has no member named 'runtime_status' if (dev->power.runtime_status == RPM_RESUMING || ^ include/linux/compiler.h:156:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/scsi/ufs/ufshcd.c:246:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c:247:16: error: 'struct dev_pm_info' has no member named 'runtime_status' dev->power.runtime_status == RPM_SUSPENDING) ^ include/linux/compiler.h:156:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/scsi/ufs/ufshcd.c:246:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c:246:16: error: 'struct dev_pm_info' has no member named 'runtime_status' if (dev->power.runtime_status == RPM_RESUMING || ^ include/linux/compiler.h:167:16: note: in definition of macro '__trace_if' __r = !!(cond); \ ^~~~ >> drivers/scsi/ufs/ufshcd.c:246:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c:247:16: error: 'struct dev_pm_info' has no member named 'runtime_status' dev->power.runtime_status == RPM_SUSPENDING) ^ include/linux/compiler.h:167:16: note: in definition of macro '__trace_if' __r = !!(cond); \ ^~~~ >> drivers/scsi/ufs/ufshcd.c:246:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c: In function 'ufshcd_pm_runtime_put': drivers/scsi/ufs/ufshcd.c:258:16: error: 'struct dev_pm_info' has no member named 'runtime_status' if (dev->power.runtime_status == RPM_RESUMING || ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ drivers/scsi/ufs/ufshcd.c:258:2: note: in expansion of macro 'if' if (dev->power.runtime_status == RPM_RESUMING || ^~ drivers/scsi/ufs/ufshcd.c:259:16: error: 'struct dev_pm_info' has no member named 'runtime_status' dev->power.runtime_status == RPM_SUSPENDING) ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ drivers/scsi/ufs/ufshcd.c:258:2: note: in expansion of macro 'if' if (dev->power.runtime_status ==
Re: [PATCH] scsi: ufs: Fix Runtime PM
Hi Michał, Thank you for the patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.14-rc8 next-20171109] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Michal-Potomski/scsi-ufs-Fix-Runtime-PM/20171110-191314 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: m68k-allyesconfig (attached as .config) compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers/scsi/ufs/ufshcd.c: In function 'ufshcd_pm_runtime_get': >> drivers/scsi/ufs/ufshcd.c:246:16: error: 'struct dev_pm_info' has no member >> named 'runtime_status' if (dev->power.runtime_status == RPM_RESUMING || ^ drivers/scsi/ufs/ufshcd.c:247:16: error: 'struct dev_pm_info' has no member named 'runtime_status' dev->power.runtime_status == RPM_SUSPENDING) ^ drivers/scsi/ufs/ufshcd.c: In function 'ufshcd_pm_runtime_put': drivers/scsi/ufs/ufshcd.c:258:16: error: 'struct dev_pm_info' has no member named 'runtime_status' if (dev->power.runtime_status == RPM_RESUMING || ^ drivers/scsi/ufs/ufshcd.c:259:16: error: 'struct dev_pm_info' has no member named 'runtime_status' dev->power.runtime_status == RPM_SUSPENDING) ^ vim +246 drivers/scsi/ufs/ufshcd.c 242 243 static void ufshcd_pm_runtime_get(struct device *dev) 244 { 245 // Don't trigger PM events while in transition states > 246 if (dev->power.runtime_status == RPM_RESUMING || 247 dev->power.runtime_status == RPM_SUSPENDING) 248 pm_runtime_get_noresume(dev); 249 else 250 pm_runtime_get_sync(dev); 251 } 252 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/4] qla2xxx_nvmet: Added Makefile and Kconfig changes
Hi Anil, I love your patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.14-rc8 next-20171106] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20171107-153645 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: i386-randconfig-x001-201745 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: the linux-review/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20171107-153645 HEAD 9c5e24e821aa40552221b3103bc914bc4cd42293 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): In file included from drivers/scsi/qla2xxx/qla_nvmet.c:14:0: drivers/scsi/qla2xxx/qla_nvmet.h:31:25: error: field 'nvme_cmd_iu' has incomplete type struct atio7_nvme_cmnd nvme_cmd_iu; ^~~ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qlt_nvmet_ls_done': >> drivers/scsi/qla2xxx/qla_nvmet.c:48:46: error: 'struct ' has no >> member named 'cmd' struct qla_nvmet_cmd *tgt_cmd = nvme->u.nvme.cmd; ^ drivers/scsi/qla2xxx/qla_nvmet.c:55:47: error: 'struct ' has no member named 'cmd' sp, sp->vha, nvme->u.nvme.desc, nvme->u.nvme.cmd); ^ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_ls_rsp': >> drivers/scsi/qla2xxx/qla_nvmet.c:92:13: error: 'SRB_NVMET_LS' undeclared >> (first use in this function) sp->type = SRB_NVMET_LS; ^~~~ drivers/scsi/qla2xxx/qla_nvmet.c:92:13: note: each undeclared identifier is reported only once for each function it appears in >> drivers/scsi/qla2xxx/qla_nvmet.c:100:14: error: 'struct ' has no >> member named 'exchange_address' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ >> drivers/scsi/qla2xxx/qla_nvmet.c:100:49: error: 'union ' has no >> member named 'pt_ls4' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ >> drivers/scsi/qla2xxx/qla_nvmet.c:101:14: error: 'struct ' has no >> member named 'nport_handle' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ drivers/scsi/qla2xxx/qla_nvmet.c:101:45: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ >> drivers/scsi/qla2xxx/qla_nvmet.c:102:14: error: 'struct ' has no >> member named 'vp_index' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi/qla2xxx/qla_nvmet.c:102:41: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi/qla2xxx/qla_nvmet.c:104:14: error: 'struct ' has no member named 'cmd' nvme->u.nvme.cmd = tgt_cmd; /* To be freed */ ^ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_fcp_abort': >> drivers/scsi/qla2xxx/qla_nvmet.c:168:13: error: 'SRB_NVMET_SEND_ABTS' >> undeclared (first use in this function) sp->type = SRB_NVMET_SEND_ABTS; ^~~ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_create_targetport': >> drivers/scsi/qla2xxx/qla_nvmet.c:226:9: error: 'ql_dbg_nvme' undeclared >> (first use in this function) ql_dbg(ql_dbg_nvme, vha, 0xe081, ^~~ >> drivers/scsi/qla2xxx/qla_nvmet.c:236:10: error: 'struct scsi_qla_host' has >> no member named 'targetport' >targetport); ^~ drivers/scsi/qla2xxx/qla_nvmet.c:243:41: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^~ drivers/scsi/qla2xxx/qla_nvmet.c: In function 'qla_nvmet_delete': >> drivers/scsi/qla2xxx/qla_nvmet.c:261:17: error: 'volatile struct >> ' has no member named 'nvmet_enabled'; did you mean >> 'nvme_enabled'? if (!vha->flags.nvmet_enabled) ^ drivers/scsi/qla2xxx/qla_nvmet.c:263:9: error: 'struct scsi_qla_host' has no member named 'targetport' if (vha->targetport) { ^~ drivers/scsi/qla2xxx/qla_nvmet.c:264:42: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^~ drivers/scsi/qla2xxx/qla_nvmet.c:266:10: error: 'ql_dbg_nvme' undeclared (first use in this function) ql_dbg(ql_dbg_nvme, vha, 0xe083,
Re: [PATCH 4/4] qla2xxx_nvmet: Add FC-NVMe Target handling
Hi Anil, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20171106] [cannot apply to v4.14-rc8] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20171107-153645 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_send_els_resp': >> drivers/scsi/qla2xxx/qla_target.c:400:6: warning: format '%llx' expects >> argument of type 'long long unsigned int', but argument 7 has type >> 'dma_addr_t' [-Wformat=] sp, purex, udma, loop_id); ^ drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_nvme_els_done': drivers/scsi/qla2xxx/qla_target.c:446:6: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t' [-Wformat=] sp->gen1); ^ drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_send_plogi_resp': drivers/scsi/qla2xxx/qla_target.c:475:6: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t' [-Wformat=] sp, vha, plogi_ack_buf, plogi_ack_udma); ^ drivers/scsi/qla2xxx/qla_target.c:488:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ret = qla2x00_get_plogi_template(vha, (uint64_t)tmp, (116/4 - 1)); ^ drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_process_logo': drivers/scsi/qla2xxx/qla_target.c:689:6: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t' [-Wformat=] sp, vha, logo_ack_buf, logo_ack_udma); ^ drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_process_prli': drivers/scsi/qla2xxx/qla_target.c:754:6: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t' [-Wformat=] sp, vha, prli_ack_buf, prli_ack_udma); ^ vim +400 drivers/scsi/qla2xxx/qla_target.c 375 376 /* Send an ELS response */ 377 int qlt_send_els_resp(srb_t *sp, struct __els_pt *els_pkt) 378 { 379 struct purex_entry_24xx *purex = (struct purex_entry_24xx *) 380 sp->u.snvme_els.ptr; 381 dma_addr_t udma = sp->u.snvme_els.dma_addr; 382 struct fc_port *fcport; 383 port_id_t port_id; 384 uint16_t loop_id; 385 386 port_id.b.domain = purex->s_id[2]; 387 port_id.b.area = purex->s_id[1]; 388 port_id.b.al_pa = purex->s_id[0]; 389 port_id.b.rsvd_1 = 0; 390 391 fcport = qla2x00_find_fcport_by_nportid(sp->vha, _id, 1); 392 if (fcport) 393 /* There is no session with the swt */ 394 loop_id = fcport->loop_id; 395 else 396 loop_id = 0x; 397 398 ql_log(ql_log_info, sp->vha, 0xfff9, 399 "sp: %p, purex: %p, udam: %#llx, loop_id: 0x%x\n", > 400 sp, purex, udma, loop_id); 401 402 els_pkt->entry_type = ELS_IOCB_TYPE; 403 els_pkt->entry_count = 1; 404 405 els_pkt->handle = sp->handle; 406 els_pkt->nphdl = cpu_to_le16(loop_id); 407 els_pkt->tx_dsd_cnt = cpu_to_le16(1); 408 els_pkt->vp_index = purex->vp_idx; 409 els_pkt->sof = EST_SOFI3; 410 els_pkt->rcv_exchg_id = cpu_to_le32(purex->rx_xchg_addr); 411 els_pkt->op_code = sp->cmd_type; 412 els_pkt->did_lo = cpu_to_le16(purex->s_id[0] | (purex->s_id[1] << 8)); 413 els_pkt->did_hi = purex->s_id[2]; 414 els_pkt->sid_hi = purex->d_id[2]; 415 els_pkt->sid_lo = cpu_to_le16(purex->d_id[0] | (purex->d_id[1] << 8)); 416 417 if (sp->gen2 == ELS_ACC) 418 els_pkt->cntl_flags = cpu_to_le16(EPD_ELS_ACC); 419 else 420 els_pkt->cntl_flags = cpu_to_le16(EPD_ELS_RJT); 421 422 els_pkt->tx_bc = cpu_to_le32(sp->gen1); 423 els_pkt->tx_dsd[0] = cpu_to_le32(LSD(udma)); 424 els_pkt->tx_dsd[1] = cpu_to_le32(MSD(udma)); 425 els_pkt->tx_dsd_len = cpu_to_le32(sp->gen1); 426 /* Memory Barrier */ 427 wmb(); 428 429
Re: [PATCH 2/4] qla2xxx_nvmet: Added Makefile and Kconfig changes
Hi Anil, I love your patch! Yet something to improve: [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.14-rc8 next-20171106] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20171107-153645 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa Note: the linux-review/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20171107-153645 HEAD 9c5e24e821aa40552221b3103bc914bc4cd42293 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from drivers/scsi//qla2xxx/qla_nvmet.c:14:0: drivers/scsi//qla2xxx/qla_nvmet.h:31:25: error: field 'nvme_cmd_iu' has incomplete type struct atio7_nvme_cmnd nvme_cmd_iu; ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qlt_nvmet_ls_done': drivers/scsi//qla2xxx/qla_nvmet.c:48:46: error: 'struct ' has no member named 'cmd' struct qla_nvmet_cmd *tgt_cmd = nvme->u.nvme.cmd; ^ drivers/scsi//qla2xxx/qla_nvmet.c:55:47: error: 'struct ' has no member named 'cmd' sp, sp->vha, nvme->u.nvme.desc, nvme->u.nvme.cmd); ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_ls_rsp': drivers/scsi//qla2xxx/qla_nvmet.c:92:13: error: 'SRB_NVMET_LS' undeclared (first use in this function) sp->type = SRB_NVMET_LS; ^ drivers/scsi//qla2xxx/qla_nvmet.c:92:13: note: each undeclared identifier is reported only once for each function it appears in drivers/scsi//qla2xxx/qla_nvmet.c:100:14: error: 'struct ' has no member named 'exchange_address' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ drivers/scsi//qla2xxx/qla_nvmet.c:100:49: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.exchange_address = tgt_cmd->atio.u.pt_ls4.exchange_address; ^ drivers/scsi//qla2xxx/qla_nvmet.c:101:14: error: 'struct ' has no member named 'nport_handle' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ drivers/scsi//qla2xxx/qla_nvmet.c:101:45: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.nport_handle = tgt_cmd->atio.u.pt_ls4.nport_handle; ^ drivers/scsi//qla2xxx/qla_nvmet.c:102:14: error: 'struct ' has no member named 'vp_index' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi//qla2xxx/qla_nvmet.c:102:41: error: 'union ' has no member named 'pt_ls4' nvme->u.nvme.vp_index = tgt_cmd->atio.u.pt_ls4.vp_index; ^ drivers/scsi//qla2xxx/qla_nvmet.c:104:14: error: 'struct ' has no member named 'cmd' nvme->u.nvme.cmd = tgt_cmd; /* To be freed */ ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_fcp_abort': drivers/scsi//qla2xxx/qla_nvmet.c:168:13: error: 'SRB_NVMET_SEND_ABTS' undeclared (first use in this function) sp->type = SRB_NVMET_SEND_ABTS; ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_create_targetport': drivers/scsi//qla2xxx/qla_nvmet.c:226:9: error: 'ql_dbg_nvme' undeclared (first use in this function) ql_dbg(ql_dbg_nvme, vha, 0xe081, ^ drivers/scsi//qla2xxx/qla_nvmet.c:236:10: error: 'struct scsi_qla_host' has no member named 'targetport' >targetport); ^ drivers/scsi//qla2xxx/qla_nvmet.c:243:41: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^ drivers/scsi//qla2xxx/qla_nvmet.c: In function 'qla_nvmet_delete': >> drivers/scsi//qla2xxx/qla_nvmet.c:261:17: error: 'volatile struct >> ' has no member named 'nvmet_enabled' if (!vha->flags.nvmet_enabled) ^ drivers/scsi//qla2xxx/qla_nvmet.c:263:9: error: 'struct scsi_qla_host' has no member named 'targetport' if (vha->targetport) { ^ drivers/scsi//qla2xxx/qla_nvmet.c:264:42: error: 'struct scsi_qla_host' has no member named 'targetport' tport = (struct qla_nvmet_tgtport *)vha->targetport->private; ^ drivers/scsi//qla2xxx/qla_nvmet.c:266:10: error: 'ql_dbg_nvme' undeclared (first use in this function)
Re: [PATCH 4/4] qla2xxx_nvmet: Add FC-NVMe Target handling
Hi Anil, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20171106] [cannot apply to v4.14-rc8] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Himanshu-Madhani/qla2xxx-Add-FC-NVMe-Target-support/20171107-153645 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: i386-randconfig-x001-201745 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/scsi//qla2xxx/qla_target.c: In function 'qlt_send_els_resp': >> drivers/scsi//qla2xxx/qla_target.c:399:36: warning: format '%llx' expects >> argument of type 'long long unsigned int', but argument 7 has type >> 'dma_addr_t {aka unsigned int}' [-Wformat=] "sp: %p, purex: %p, udam: %#llx, loop_id: 0x%x\n", ^ drivers/scsi//qla2xxx/qla_target.c: In function 'qlt_nvme_els_done': drivers/scsi//qla2xxx/qla_target.c:444:50: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t {aka unsigned int}' [-Wformat=] "sp: %p vha: %p, dma_ptr: %p, dma_addr: %#llx, len: %#x\n", ^ drivers/scsi//qla2xxx/qla_target.c: In function 'qlt_send_plogi_resp': drivers/scsi//qla2xxx/qla_target.c:474:63: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t {aka unsigned int}' [-Wformat=] "sp: %p, vha: %p, plogi_ack_buf: %p, plogi_ack_udma: %#llx\n", ^ >> drivers/scsi//qla2xxx/qla_target.c:488:40: warning: cast from pointer to >> integer of different size [-Wpointer-to-int-cast] ret = qla2x00_get_plogi_template(vha, (uint64_t)tmp, (116/4 - 1)); ^ drivers/scsi//qla2xxx/qla_target.c: In function 'qlt_process_logo': drivers/scsi//qla2xxx/qla_target.c:688:60: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t {aka unsigned int}' [-Wformat=] "sp: %p, vha: %p, logo_ack_buf: %p, logo_ack_buf: %#llx\n", ^ drivers/scsi//qla2xxx/qla_target.c: In function 'qlt_process_prli': drivers/scsi//qla2xxx/qla_target.c:753:61: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 8 has type 'dma_addr_t {aka unsigned int}' [-Wformat=] "sp: %p, vha: %p, prli_ack_buf: %p, prli_ack_udma: %#llx\n", ^ vim +399 drivers/scsi//qla2xxx/qla_target.c 375 376 /* Send an ELS response */ 377 int qlt_send_els_resp(srb_t *sp, struct __els_pt *els_pkt) 378 { 379 struct purex_entry_24xx *purex = (struct purex_entry_24xx *) 380 sp->u.snvme_els.ptr; 381 dma_addr_t udma = sp->u.snvme_els.dma_addr; 382 struct fc_port *fcport; 383 port_id_t port_id; 384 uint16_t loop_id; 385 386 port_id.b.domain = purex->s_id[2]; 387 port_id.b.area = purex->s_id[1]; 388 port_id.b.al_pa = purex->s_id[0]; 389 port_id.b.rsvd_1 = 0; 390 391 fcport = qla2x00_find_fcport_by_nportid(sp->vha, _id, 1); 392 if (fcport) 393 /* There is no session with the swt */ 394 loop_id = fcport->loop_id; 395 else 396 loop_id = 0x; 397 398 ql_log(ql_log_info, sp->vha, 0xfff9, > 399 "sp: %p, purex: %p, udam: %#llx, loop_id: 0x%x\n", 400 sp, purex, udma, loop_id); 401 402 els_pkt->entry_type = ELS_IOCB_TYPE; 403 els_pkt->entry_count = 1; 404 405 els_pkt->handle = sp->handle; 406 els_pkt->nphdl = cpu_to_le16(loop_id); 407 els_pkt->tx_dsd_cnt = cpu_to_le16(1); 408 els_pkt->vp_index = purex->vp_idx; 409 els_pkt->sof = EST_SOFI3; 410 els_pkt->rcv_exchg_id = cpu_to_le32(purex->rx_xchg_addr); 411 els_pkt->op_code = sp->cmd_type; 412 els_pkt->did_lo = cpu_to_le16(purex->s_id[0] | (purex->s_id[1] << 8)); 413 els_pkt->did_hi = purex->s_id[2]; 414 els_pkt->sid_hi = purex->d_id[2]; 415 els_pkt->sid_lo = cpu_to_le16(purex->d_id[0] | (purex->d_id[1] << 8)); 416 417 if (sp->gen2 == ELS_ACC) 418 els_pkt->cntl_flags = cpu_to_le16(EPD_ELS_ACC); 419 else 420
Re: [PATCH V9 3/4] scsi: Align block queue to dma_get_cache_alignment()
Hi Huacai, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.14-rc7] [cannot apply to next-20171103] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/dma-mapping-Rework-dma_get_cache_alignment/20171023-154436 config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers//scsi/scsi_lib.c: In function '__scsi_init_queue': >> drivers//scsi/scsi_lib.c:2139:2: error: implicit declaration of function >> 'dma_get_cache_alignment' [-Werror=implicit-function-declaration] blk_queue_dma_alignment(q, max(4, dma_get_cache_alignment(dev)) - 1); ^ cc1: some warnings being treated as errors vim +/dma_get_cache_alignment +2139 drivers//scsi/scsi_lib.c 2103 2104 void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) 2105 { 2106 struct device *dev = shost->dma_dev; 2107 2108 queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q); 2109 2110 /* 2111 * this limit is imposed by hardware restrictions 2112 */ 2113 blk_queue_max_segments(q, min_t(unsigned short, shost->sg_tablesize, 2114 SG_MAX_SEGMENTS)); 2115 2116 if (scsi_host_prot_dma(shost)) { 2117 shost->sg_prot_tablesize = 2118 min_not_zero(shost->sg_prot_tablesize, 2119 (unsigned short)SCSI_MAX_PROT_SG_SEGMENTS); 2120 BUG_ON(shost->sg_prot_tablesize < shost->sg_tablesize); 2121 blk_queue_max_integrity_segments(q, shost->sg_prot_tablesize); 2122 } 2123 2124 blk_queue_max_hw_sectors(q, shost->max_sectors); 2125 blk_queue_bounce_limit(q, scsi_calculate_bounce_limit(shost)); 2126 blk_queue_segment_boundary(q, shost->dma_boundary); 2127 dma_set_seg_boundary(dev, shost->dma_boundary); 2128 2129 blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); 2130 2131 if (!shost->use_clustering) 2132 q->limits.cluster = 0; 2133 2134 /* 2135 * set a reasonable default alignment on word/cacheline boundaries: 2136 * the host and device may alter it using 2137 * blk_queue_update_dma_alignment() later. 2138 */ > 2139 blk_queue_dma_alignment(q, max(4, dma_get_cache_alignment(dev)) > - 1); 2140 } 2141 EXPORT_SYMBOL_GPL(__scsi_init_queue); 2142 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[scsi:for-next 182/194] drivers/scsi//mpt3sas/mpt3sas_base.c:1418:13: warning: cast from pointer to integer of different size
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next head: 1c356ec5e932c8d4c83d9782ab3c4164b6471d5d commit: 016d5c35e27824f31c394009dd0f72f2c6b0dc85 [182/194] scsi: mpt3sas: SGL to PRP Translation for I/Os to NVMe devices config: i386-randconfig-x071-201744 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout 016d5c35e27824f31c394009dd0f72f2c6b0dc85 # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/scsi//mpt3sas/mpt3sas_base.c: In function 'base_make_prp_nvme': >> drivers/scsi//mpt3sas/mpt3sas_base.c:1418:13: warning: cast from pointer to >> integer of different size [-Wpointer-to-int-cast] msg_phys = (dma_addr_t)mpt3sas_base_get_pcie_sgl_dma(ioc, smid); ^ vim +1418 drivers/scsi//mpt3sas/mpt3sas_base.c 1347 1348 /** 1349 * base_make_prp_nvme - 1350 * Prepare PRPs(Physical Region Page)- SGLs specific to NVMe drives only 1351 * 1352 * @ioc:per adapter object 1353 * @scmd: SCSI command from the mid-layer 1354 * @mpi_request:mpi request 1355 * @smid: msg Index 1356 * @sge_count: scatter gather element count. 1357 * 1358 * Returns: true: PRPs are built 1359 * false: IEEE SGLs needs to be built 1360 */ 1361 void 1362 base_make_prp_nvme(struct MPT3SAS_ADAPTER *ioc, 1363 struct scsi_cmnd *scmd, 1364 Mpi25SCSIIORequest_t *mpi_request, 1365 u16 smid, int sge_count) 1366 { 1367 int sge_len, offset, num_prp_in_chain = 0; 1368 Mpi25IeeeSgeChain64_t *main_chain_element, *ptr_first_sgl; 1369 u64 *curr_buff; 1370 dma_addr_t msg_phys; 1371 u64 sge_addr; 1372 u32 page_mask, page_mask_result; 1373 struct scatterlist *sg_scmd; 1374 u32 first_prp_len; 1375 int data_len = scsi_bufflen(scmd); 1376 u32 nvme_pg_size; 1377 1378 nvme_pg_size = max_t(u32, ioc->page_size, NVME_PRP_PAGE_SIZE); 1379 /* 1380 * Nvme has a very convoluted prp format. One prp is required 1381 * for each page or partial page. Driver need to split up OS sg_list 1382 * entries if it is longer than one page or cross a page 1383 * boundary. Driver also have to insert a PRP list pointer entry as 1384 * the last entry in each physical page of the PRP list. 1385 * 1386 * NOTE: The first PRP "entry" is actually placed in the first 1387 * SGL entry in the main message as IEEE 64 format. The 2nd 1388 * entry in the main message is the chain element, and the rest 1389 * of the PRP entries are built in the contiguous pcie buffer. 1390 */ 1391 page_mask = nvme_pg_size - 1; 1392 1393 /* 1394 * Native SGL is needed. 1395 * Put a chain element in main message frame that points to the first 1396 * chain buffer. 1397 * 1398 * NOTE: The ChainOffset field must be 0 when using a chain pointer to 1399 *a native SGL. 1400 */ 1401 1402 /* Set main message chain element pointer */ 1403 main_chain_element = (pMpi25IeeeSgeChain64_t)_request->SGL; 1404 /* 1405 * For NVMe the chain element needs to be the 2nd SG entry in the main 1406 * message. 1407 */ 1408 main_chain_element = (Mpi25IeeeSgeChain64_t *) 1409 ((u8 *)main_chain_element + sizeof(MPI25_IEEE_SGE_CHAIN64)); 1410 1411 /* 1412 * For the PRP entries, use the specially allocated buffer of 1413 * contiguous memory. Normal chain buffers can't be used 1414 * because each chain buffer would need to be the size of an OS 1415 * page (4k). 1416 */ 1417 curr_buff = mpt3sas_base_get_pcie_sgl(ioc, smid); > 1418 msg_phys = (dma_addr_t)mpt3sas_base_get_pcie_sgl_dma(ioc, smid); 1419 1420 main_chain_element->Address = cpu_to_le64(msg_phys); 1421 main_chain_element->NextChainOffset = 0; 1422 main_chain_element->Flags = MPI2_IEEE_SGE_FLAGS_CHAIN_ELEMENT | 1423 MPI2_IEEE_SGE_FLAGS_SYSTEM_ADDR | 1424 MPI26_IEEE_SGE_FLAGS_NSF_NVME_PRP; 1425 1426 /* Build first prp, sge need not to be page aligned*/ 1427 ptr_first_sgl = (pMpi25IeeeSgeChain64_t)_request->SGL; 1428 sg_scmd = scsi_sglist(scmd); 1429 sge_addr = sg_dma_address(sg_scmd); 1430 sge_len = sg_dma_len(sg_scmd); 1431 1432 offset = (u32)(sge_addr &
Re: [PATCH V8 4/5] libsas: Align SMP req/resp to dma_get_cache_alignment()
Hi Huacai, [auto build test ERROR on linus/master] [also build test ERROR on v4.14-rc5 next-20171018] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/dma-mapping-Rework-dma_get_cache_alignment/20171020-050317 config: um-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=um All errors (new ones prefixed by >>): drivers/scsi/libsas/sas_expander.c: In function 'sas_ex_phy_discover': >> drivers/scsi/libsas/sas_expander.c:410:10: error: implicit declaration of >> function 'dma_get_cache_alignment' [-Werror=implicit-function-declaration] align = dma_get_cache_alignment(>phy->dev); ^~~ Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_set Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64 Cyclomatic Complexity 1 arch/x86/include/uapi/asm/swab.h:__arch_swab64 Cyclomatic Complexity 1 include/uapi/linux/swab.h:__fswab16 Cyclomatic Complexity 1 include/uapi/linux/swab.h:__fswab64 Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64 Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD Cyclomatic Complexity 2 include/linux/list.h:__list_add Cyclomatic Complexity 1 include/linux/list.h:list_add_tail Cyclomatic Complexity 1 include/linux/list.h:__list_del Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry Cyclomatic Complexity 1 include/linux/list.h:list_del Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock_irq Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irq Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 1 include/linux/refcount.h:refcount_set Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large Cyclomatic Complexity 5 include/linux/slab.h:kmalloc Cyclomatic Complexity 1 include/linux/slab.h:kzalloc Cyclomatic Complexity 1 include/linux/kref.h:kref_init Cyclomatic Complexity 1 include/linux/kref.h:kref_get Cyclomatic Complexity 2 include/linux/kref.h:kref_put Cyclomatic Complexity 1 include/scsi/scsi.h:scsi_to_u32 Cyclomatic Complexity 1 include/scsi/sas_ata.h:dev_is_sata Cyclomatic Complexity 5 drivers/scsi/libsas/sas_internal.h:sas_fill_in_rphy Cyclomatic Complexity 2 drivers/scsi/libsas/sas_internal.h:sas_add_parent_port Cyclomatic Complexity 2 drivers/scsi/libsas/sas_internal.h:sas_alloc_device Cyclomatic Complexity 1 drivers/scsi/libsas/sas_internal.h:sas_put_device Cyclomatic Complexity 2 drivers/scsi/libsas/sas_expander.c:alloc_smp_req Cyclomatic Complexity 1 drivers/scsi/libsas/sas_expander.c:alloc_smp_resp Cyclomatic Complexity 5 drivers/scsi/libsas/sas_expander.c:sas_route_char Cyclomatic Complexity 4 drivers/scsi/libsas/sas_expander.c:to_dev_type Cyclomatic Complexity 4 drivers/scsi/libsas/sas_expander.c:dev_type_flutter Cyclomatic Complexity 3 drivers/scsi/libsas/sas_expander.c:sas_print_parent_topology_bug Cyclomatic Complexity 17 drivers/scsi/libsas/sas_expander.c:smp_execute_task_sg Cyclomatic Complexity 1 drivers/scsi/libsas/sas_expander.c:smp_execute_task Cyclomatic Complexity 21 drivers/scsi/libsas/sas_expander.c:sas_configure_present Cyclomatic Complexity 4 drivers/scsi/libsas/sas_expander.c:sas_get_phy_discover Cyclomatic Complexity 3 drivers/scsi/libsas/sas_expander.c:sas_get_phy_change_count Cyclomatic Complexity 6 drivers/scsi/libsas/sas_expander.c:sas_find_bcast_phy Cyclomatic Complexity 6 drivers/scsi/libsas/sas_expander.c:sas_get_ex_change_count Cyclomatic Complexity 2 drivers/scsi/libsas/sas_expander.c:smp_task_timedout Cyclomatic Complexity 2 drivers/scsi/libsas/sas_expander.c:smp_task_done Cyclomatic Complexity 4 drivers/scsi/libsas/sas_expander.c:ex_assign_report_general Cyclomatic Complexity 22 drivers/scsi/libsas/sas_expander.c:sas_check_eeds Cyclomatic Complexity 23 drivers/scsi/libsas/sas_expander.c:sas_check_parent_topology Cyclomatic Complexity 11 drivers/scsi/libsas/sas_expander.c:sas_configure_set Cyclomatic Complexity 3 drivers/scsi/libsas/sas_expander.c:sas_configure_phy Cyclomatic Complexity 11 drivers/scsi/libsas/sas_expander.c:sas_configure_parent Cyclomatic Complexity 2 drivers/scsi/libsas/sas_expander.c:sas_configure_routing Cyclomatic Complexity 2 drivers/scsi/libsas/sas_expander.c:sas_disable_routing Cyclomatic
Re: [PATCH] scsi: scsi_transport_fc: make the function argument as const
Hi Bhumika, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.14-rc4 next-20171013] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Bhumika-Goyal/scsi-scsi_transport_fc-make-the-function-argument-as-const/20171016-040132 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-x015-201742 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers/scsi/scsi_transport_fc.c: In function 'fc_attach_transport': >> drivers/scsi/scsi_transport_fc.c:2198:7: warning: assignment discards >> 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] i->f = ft; ^ vim +/const +2198 drivers/scsi/scsi_transport_fc.c 5c44cd2af james.sm...@emulex.com 2005-06-10 2163 ^1da177e4 Linus Torvalds 2005-04-16 2164 struct scsi_transport_template * b38779136 Bhumika Goyal 2017-10-13 2165 fc_attach_transport(const struct fc_function_template *ft) ^1da177e4 Linus Torvalds 2005-04-16 2166 { ^1da177e4 Linus Torvalds 2005-04-16 2167 int count; 24669f75a Jes Sorensen 2006-01-16 2168 struct fc_internal *i = kzalloc(sizeof(struct fc_internal), 24669f75a Jes Sorensen 2006-01-16 2169 GFP_KERNEL); ^1da177e4 Linus Torvalds 2005-04-16 2170 ^1da177e4 Linus Torvalds 2005-04-16 2171 if (unlikely(!i)) ^1da177e4 Linus Torvalds 2005-04-16 2172 return NULL; ^1da177e4 Linus Torvalds 2005-04-16 2173 ^1da177e4 Linus Torvalds 2005-04-16 2174 i->t.target_attrs.ac.attrs = >starget_attrs[0]; ^1da177e4 Linus Torvalds 2005-04-16 2175 i->t.target_attrs.ac.class = _transport_class.class; ^1da177e4 Linus Torvalds 2005-04-16 2176 i->t.target_attrs.ac.match = fc_target_match; ^1da177e4 Linus Torvalds 2005-04-16 2177 i->t.target_size = sizeof(struct fc_starget_attrs); ^1da177e4 Linus Torvalds 2005-04-16 2178 transport_container_register(>t.target_attrs); ^1da177e4 Linus Torvalds 2005-04-16 2179 ^1da177e4 Linus Torvalds 2005-04-16 2180 i->t.host_attrs.ac.attrs = >host_attrs[0]; ^1da177e4 Linus Torvalds 2005-04-16 2181 i->t.host_attrs.ac.class = _host_class.class; ^1da177e4 Linus Torvalds 2005-04-16 2182 i->t.host_attrs.ac.match = fc_host_match; ^1da177e4 Linus Torvalds 2005-04-16 2183 i->t.host_size = sizeof(struct fc_host_attrs); ^1da177e4 Linus Torvalds 2005-04-16 2184 if (ft->get_fc_host_stats) ^1da177e4 Linus Torvalds 2005-04-16 2185 i->t.host_attrs.statistics = _statistics_group; ^1da177e4 Linus Torvalds 2005-04-16 2186 transport_container_register(>t.host_attrs); ^1da177e4 Linus Torvalds 2005-04-16 2187 ^1da177e4 Linus Torvalds 2005-04-16 2188 i->rport_attr_cont.ac.attrs = >rport_attrs[0]; ^1da177e4 Linus Torvalds 2005-04-16 2189 i->rport_attr_cont.ac.class = _rport_class.class; ^1da177e4 Linus Torvalds 2005-04-16 2190 i->rport_attr_cont.ac.match = fc_rport_match; ^1da177e4 Linus Torvalds 2005-04-16 2191 transport_container_register(>rport_attr_cont); ^1da177e4 Linus Torvalds 2005-04-16 2192 a53eb5e06 James Smart2007-04-27 2193 i->vport_attr_cont.ac.attrs = >vport_attrs[0]; a53eb5e06 James Smart2007-04-27 2194 i->vport_attr_cont.ac.class = _vport_class.class; a53eb5e06 James Smart2007-04-27 2195 i->vport_attr_cont.ac.match = fc_vport_match; a53eb5e06 James Smart2007-04-27 2196 transport_container_register(>vport_attr_cont); a53eb5e06 James Smart2007-04-27 2197 ^1da177e4 Linus Torvalds 2005-04-16 @2198 i->f = ft; ^1da177e4 Linus Torvalds 2005-04-16 2199 ^1da177e4 Linus Torvalds 2005-04-16 2200 /* Transport uses the shost workq for scsi scanning */ ^1da177e4 Linus Torvalds 2005-04-16 2201 i->t.create_work_queue = 1; ^1da177e4 Linus Torvalds 2005-04-16 2202 e02f3f592 Christoph Hellwig 2006-01-13 2203 i->t.user_scan = fc_user_scan; 5c44cd2af james.sm...@emulex.com 2005-06-10 2204 ^1da177e4 Linus Torvalds 2005-04-16 2205 /* ^1da177e4 Linus Torvalds 2005-04-16 2206* Setup SCSI Target Attributes. ^1da177e4 Linus Torvalds 2005-04-16 2207*/ ^1da177e4 Linus Torvalds 2005-04-16 2208 count = 0; ^1da177e4 Linus Torvalds 2005-04-16 2209 SETUP_STARGET_ATTRIBUTE_RD(node_name); ^1da177e4 Linus
Re: [PATCH 4/5] qla2xxx: Changes to support N2N logins
Hi Duane, [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.14-rc4 next-20171009] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Madhani-Himanshu/qla2xxx-Patches-for-scsi-misc/20171013-130300 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: i386-randconfig-x076-201741 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_iocb.c: In function 'qla2x00_els_dcmd2_iocb_timeout': >> drivers/scsi/qla2xxx/qla_iocb.c:2611:50: warning: format '%x' expects a >> matching 'unsigned int' argument [-Wformat=] "%s %d ELS Timeout, %8phC hdl=%x, portid=%06x\n", ^ drivers/scsi/qla2xxx/qla_iocb.c: In function 'qla2x00_els_dcmd2_sp_done': >> drivers/scsi/qla2xxx/qla_iocb.c:2634:11: warning: format '%s' expects >> argument of type 'char *', but argument 6 has type 'uint32_t {aka unsigned >> int}' [-Wformat=] "%s %s ELS hdl=%x, portid=%06x done %8pC\n", ^ >> drivers/scsi/qla2xxx/qla_iocb.c:2634:35: warning: format '%x' expects >> argument of type 'unsigned int', but argument 8 has type 'uint8_t * {aka >> unsigned char *}' [-Wformat=] "%s %s ELS hdl=%x, portid=%06x done %8pC\n", ^ >> drivers/scsi/qla2xxx/qla_iocb.c:2634:44: warning: format '%p' expects a >> matching 'void *' argument [-Wformat=] "%s %s ELS hdl=%x, portid=%06x done %8pC\n", ^ vim +2611 drivers/scsi/qla2xxx/qla_iocb.c 2598 2599 static void 2600 qla2x00_els_dcmd2_iocb_timeout(void *data) 2601 { 2602 srb_t *sp = data; 2603 fc_port_t *fcport = sp->fcport; 2604 struct scsi_qla_host *vha = sp->vha; 2605 struct qla_hw_data *ha = vha->hw; 2606 struct srb_iocb *lio = >u.iocb_cmd; 2607 unsigned long flags = 0; 2608 int res; 2609 2610 ql_dbg(ql_dbg_io + ql_dbg_disc, vha, 0x3069, > 2611 "%s %d ELS Timeout, %8phC hdl=%x, portid=%06x\n", 2612 sp->name, sp->handle, fcport->port_name, fcport->d_id.b24); 2613 2614 /* Abort the exchange */ 2615 spin_lock_irqsave(>hardware_lock, flags); 2616 res = ha->isp_ops->abort_command(sp); 2617 ql_dbg(ql_dbg_io, vha, 0x3070, 2618 "mbx abort_command %s\n", 2619 (res == QLA_SUCCESS) ? "successful" : "failed"); 2620 spin_unlock_irqrestore(>hardware_lock, flags); 2621 2622 complete(>u.els_plogi.comp); 2623 } 2624 2625 static void 2626 qla2x00_els_dcmd2_sp_done(void *ptr, int res) 2627 { 2628 srb_t *sp = ptr; 2629 fc_port_t *fcport = sp->fcport; 2630 struct srb_iocb *lio = >u.iocb_cmd; 2631 struct scsi_qla_host *vha = sp->vha; 2632 2633 ql_dbg(ql_dbg_io + ql_dbg_disc, vha, 0x3072, > 2634 "%s %s ELS hdl=%x, portid=%06x done %8pC\n", 2635 sp->name, sp->handle, fcport->d_id.b24, fcport->port_name); 2636 2637 complete(>u.els_plogi.comp); 2638 } 2639 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 4/5] qla2xxx: Changes to support N2N logins
Hi Duane, [auto build test WARNING on scsi/for-next] [also build test WARNING on v4.14-rc4 next-20171009] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Madhani-Himanshu/qla2xxx-Patches-for-scsi-misc/20171013-130300 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allyesconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_iocb.c: In function 'qla2x00_els_dcmd2_iocb_timeout': drivers/scsi/qla2xxx/qla_iocb.c:2612:6: warning: format '%x' expects a matching 'unsigned int' argument [-Wformat=] sp->name, sp->handle, fcport->port_name, fcport->d_id.b24); ^ drivers/scsi/qla2xxx/qla_iocb.c: In function 'qla2x00_els_dcmd2_sp_done': >> drivers/scsi/qla2xxx/qla_iocb.c:2635:6: warning: format '%s' expects >> argument of type 'char *', but argument 6 has type 'uint32_t' [-Wformat=] sp->name, sp->handle, fcport->d_id.b24, fcport->port_name); ^ >> drivers/scsi/qla2xxx/qla_iocb.c:2635:6: warning: format '%x' expects >> argument of type 'unsigned int', but argument 8 has type 'uint8_t *' >> [-Wformat=] drivers/scsi/qla2xxx/qla_iocb.c:2635:6: warning: format '%p' expects a matching 'void *' argument [-Wformat=] vim +2635 drivers/scsi/qla2xxx/qla_iocb.c 2598 2599 static void 2600 qla2x00_els_dcmd2_iocb_timeout(void *data) 2601 { 2602 srb_t *sp = data; 2603 fc_port_t *fcport = sp->fcport; 2604 struct scsi_qla_host *vha = sp->vha; 2605 struct qla_hw_data *ha = vha->hw; 2606 struct srb_iocb *lio = >u.iocb_cmd; 2607 unsigned long flags = 0; 2608 int res; 2609 2610 ql_dbg(ql_dbg_io + ql_dbg_disc, vha, 0x3069, 2611 "%s %d ELS Timeout, %8phC hdl=%x, portid=%06x\n", > 2612 sp->name, sp->handle, fcport->port_name, fcport->d_id.b24); 2613 2614 /* Abort the exchange */ 2615 spin_lock_irqsave(>hardware_lock, flags); 2616 res = ha->isp_ops->abort_command(sp); 2617 ql_dbg(ql_dbg_io, vha, 0x3070, 2618 "mbx abort_command %s\n", 2619 (res == QLA_SUCCESS) ? "successful" : "failed"); 2620 spin_unlock_irqrestore(>hardware_lock, flags); 2621 2622 complete(>u.els_plogi.comp); 2623 } 2624 2625 static void 2626 qla2x00_els_dcmd2_sp_done(void *ptr, int res) 2627 { 2628 srb_t *sp = ptr; 2629 fc_port_t *fcport = sp->fcport; 2630 struct srb_iocb *lio = >u.iocb_cmd; 2631 struct scsi_qla_host *vha = sp->vha; 2632 2633 ql_dbg(ql_dbg_io + ql_dbg_disc, vha, 0x3072, 2634 "%s %s ELS hdl=%x, portid=%06x done %8pC\n", > 2635 sp->name, sp->handle, fcport->d_id.b24, fcport->port_name); 2636 2637 complete(>u.els_plogi.comp); 2638 } 2639 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] target: make config_item_type const
Hi Bhumika, [auto build test WARNING on target/master] [also build test WARNING on v4.14-rc4 next-20171009] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Bhumika-Goyal/target-make-config_item_type-const/20171013-120027 base: https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master config: x86_64-randconfig-x012-201741 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): >> drivers/target/target_core_configfs.c:320:15: warning: initialization >> discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] .ci_type = _core_fabrics_item, ^ drivers/target/target_core_configfs.c: In function 'target_core_alua_create_lu_gp': >> drivers/target/target_core_configfs.c:2405:4: warning: passing argument 3 of >> 'config_group_init_type_name' discards 'const' qualifier from pointer target >> type [-Wdiscarded-qualifiers] _core_alua_lu_gp_cit); ^ In file included from drivers/target/target_core_configfs.c:37:0: include/linux/configfs.h:102:13: note: expected 'struct config_item_type *' but argument is of type 'const struct config_item_type *' extern void config_group_init_type_name(struct config_group *group, ^~~ drivers/target/target_core_configfs.c: In function 'target_core_alua_create_tg_pt_gp': drivers/target/target_core_configfs.c:2844:4: warning: passing argument 3 of 'config_group_init_type_name' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] _core_alua_tg_pt_gp_cit); ^ In file included from drivers/target/target_core_configfs.c:37:0: include/linux/configfs.h:102:13: note: expected 'struct config_item_type *' but argument is of type 'const struct config_item_type *' extern void config_group_init_type_name(struct config_group *group, ^~~ drivers/target/target_core_configfs.c: In function 'target_core_make_subdev': drivers/target/target_core_configfs.c:2975:24: warning: passing argument 3 of 'config_group_init_type_name' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] "default_tg_pt_gp", _core_alua_tg_pt_gp_cit); ^ In file included from drivers/target/target_core_configfs.c:37:0: include/linux/configfs.h:102:13: note: expected 'struct config_item_type *' but argument is of type 'const struct config_item_type *' extern void config_group_init_type_name(struct config_group *group, ^~~ drivers/target/target_core_configfs.c: In function 'target_core_call_addhbatotarget': drivers/target/target_core_configfs.c:3170:4: warning: passing argument 3 of 'config_group_init_type_name' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] _core_hba_cit); ^ In file included from drivers/target/target_core_configfs.c:37:0: include/linux/configfs.h:102:13: note: expected 'struct config_item_type *' but argument is of type 'const struct config_item_type *' extern void config_group_init_type_name(struct config_group *group, ^~~ drivers/target/target_core_configfs.c: In function 'target_core_init_configfs': drivers/target/target_core_configfs.c:3231:4: warning: passing argument 3 of 'config_group_init_type_name' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] _core_cit); ^ In file included from drivers/target/target_core_configfs.c:37:0: include/linux/configfs.h:102:13: note: expected 'struct config_item_type *' but argument is of type 'const struct config_item_type *' extern void config_group_init_type_name(struct config_group *group, ^~~ drivers/target/target_core_configfs.c:3237:51: warning: passing argument 3 of 'config_group_init_type_name' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] config_group_init_type_name(_group, "alua", _core_alua_cit); ^ In file included from drivers/target/target_core_configfs.c:37:0: include/linux/configfs.h:102:13: note: expected 'struct config_item_type *' but argument is of type 'const struct config_item_type *' extern void config_group_init_type_name(struct config_group *group, ^~~ drivers/target/target_core_configfs.c:3245:4: warning: passing argument 3 of 'config_group_init_type_name' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] _core_alua_lu_gps_cit); ^ In file included from
Re: [PATCH V7 2/2] scsi: Align block queue to dma_get_cache_alignment()
Hi Huacai, [auto build test ERROR on linus/master] [also build test ERROR on v4.14-rc2 next-20170929] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/dma-mapping-Rework-dma_get_cache_alignment/20170926-063324 config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c: In function '__scsi_init_queue': >> drivers/scsi/scsi_lib.c:2139:2: error: implicit declaration of function >> 'dma_get_cache_alignment' [-Werror=implicit-function-declaration] blk_queue_dma_alignment(q, max(4, dma_get_cache_alignment(dev)) - 1); ^ cc1: some warnings being treated as errors vim +/dma_get_cache_alignment +2139 drivers/scsi/scsi_lib.c 2103 2104 void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) 2105 { 2106 struct device *dev = shost->dma_dev; 2107 2108 queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q); 2109 2110 /* 2111 * this limit is imposed by hardware restrictions 2112 */ 2113 blk_queue_max_segments(q, min_t(unsigned short, shost->sg_tablesize, 2114 SG_MAX_SEGMENTS)); 2115 2116 if (scsi_host_prot_dma(shost)) { 2117 shost->sg_prot_tablesize = 2118 min_not_zero(shost->sg_prot_tablesize, 2119 (unsigned short)SCSI_MAX_PROT_SG_SEGMENTS); 2120 BUG_ON(shost->sg_prot_tablesize < shost->sg_tablesize); 2121 blk_queue_max_integrity_segments(q, shost->sg_prot_tablesize); 2122 } 2123 2124 blk_queue_max_hw_sectors(q, shost->max_sectors); 2125 blk_queue_bounce_limit(q, scsi_calculate_bounce_limit(shost)); 2126 blk_queue_segment_boundary(q, shost->dma_boundary); 2127 dma_set_seg_boundary(dev, shost->dma_boundary); 2128 2129 blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); 2130 2131 if (!shost->use_clustering) 2132 q->limits.cluster = 0; 2133 2134 /* 2135 * set a reasonable default alignment on word/cacheline boundaries: 2136 * the host and device may alter it using 2137 * blk_queue_update_dma_alignment() later. 2138 */ > 2139 blk_queue_dma_alignment(q, max(4, dma_get_cache_alignment(dev)) > - 1); 2140 } 2141 EXPORT_SYMBOL_GPL(__scsi_init_queue); 2142 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V6 3/3] scsi: Align block queue to dma_get_cache_alignment()
Hi Huacai, [auto build test ERROR on linus/master] [also build test ERROR on v4.14-rc1 next-20170922] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/dma-mapping-Introduce-device_is_coherent-as-a-helper/20170920-204740 config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c: In function '__scsi_init_queue': >> drivers/scsi/scsi_lib.c:2139:2: error: implicit declaration of function >> 'dma_get_cache_alignment' [-Werror=implicit-function-declaration] blk_queue_dma_alignment(q, max(4, dma_get_cache_alignment(dev)) - 1); ^ cc1: some warnings being treated as errors vim +/dma_get_cache_alignment +2139 drivers/scsi/scsi_lib.c 2103 2104 void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) 2105 { 2106 struct device *dev = shost->dma_dev; 2107 2108 queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q); 2109 2110 /* 2111 * this limit is imposed by hardware restrictions 2112 */ 2113 blk_queue_max_segments(q, min_t(unsigned short, shost->sg_tablesize, 2114 SG_MAX_SEGMENTS)); 2115 2116 if (scsi_host_prot_dma(shost)) { 2117 shost->sg_prot_tablesize = 2118 min_not_zero(shost->sg_prot_tablesize, 2119 (unsigned short)SCSI_MAX_PROT_SG_SEGMENTS); 2120 BUG_ON(shost->sg_prot_tablesize < shost->sg_tablesize); 2121 blk_queue_max_integrity_segments(q, shost->sg_prot_tablesize); 2122 } 2123 2124 blk_queue_max_hw_sectors(q, shost->max_sectors); 2125 blk_queue_bounce_limit(q, scsi_calculate_bounce_limit(shost)); 2126 blk_queue_segment_boundary(q, shost->dma_boundary); 2127 dma_set_seg_boundary(dev, shost->dma_boundary); 2128 2129 blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); 2130 2131 if (!shost->use_clustering) 2132 q->limits.cluster = 0; 2133 2134 /* 2135 * set a reasonable default alignment on word/cacheline boundaries: 2136 * the host and device may alter it using 2137 * blk_queue_update_dma_alignment() later. 2138 */ > 2139 blk_queue_dma_alignment(q, max(4, dma_get_cache_alignment(dev)) > - 1); 2140 } 2141 EXPORT_SYMBOL_GPL(__scsi_init_queue); 2142 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCHv5 2/5] scsi: Export blacklist flags to sysfs
Hi Hannes, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.14-rc1 next-20170922] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/scsi-Fixup-blacklist-handling/20170923-213041 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH V3 5/9] pm80xx : cleanup in pm8001_abort_task function.
Hi Viswas, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.14-rc1 next-20170920] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Viswas-G/pm80xx-updates/20170920-202506 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-a0-09202136 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers/scsi/pm8001/pm8001_sas.c: In function 'pm8001_abort_task': drivers/scsi/pm8001/pm8001_sas.c:1206: warning: label 'out' defined but not used >> drivers/scsi/pm8001/pm8001_sas.c:1166: warning: unused variable 'ccb' vim +/ccb +1166 drivers/scsi/pm8001/pm8001_sas.c dbf9bfe61 jack wang 2009-10-14 1157 dbf9bfe61 jack wang 2009-10-14 1158 /* mandatory SAM-3, still need free task/ccb info, abord the specified task */ dbf9bfe61 jack wang 2009-10-14 1159 int pm8001_abort_task(struct sas_task *task) dbf9bfe61 jack wang 2009-10-14 1160 { dbf9bfe61 jack wang 2009-10-14 1161unsigned long flags; a9d840710 Viswas G 2017-09-19 1162u32 tag; dbf9bfe61 jack wang 2009-10-14 1163u32 device_id; dbf9bfe61 jack wang 2009-10-14 1164struct domain_device *dev ; a9d840710 Viswas G 2017-09-19 1165struct pm8001_hba_info *pm8001_ha; dbf9bfe61 jack wang 2009-10-14 @1166struct pm8001_ccb_info *ccb; dbf9bfe61 jack wang 2009-10-14 1167struct scsi_lun lun; dbf9bfe61 jack wang 2009-10-14 1168struct pm8001_device *pm8001_dev; dbf9bfe61 jack wang 2009-10-14 1169struct pm8001_tmf_task tmf_task; dbf9bfe61 jack wang 2009-10-14 1170int rc = TMF_RESP_FUNC_FAILED; dbf9bfe61 jack wang 2009-10-14 1171if (unlikely(!task || !task->lldd_task || !task->dev)) a9d840710 Viswas G 2017-09-19 1172return TMF_RESP_FUNC_FAILED; a9d840710 Viswas G 2017-09-19 1173dev = task->dev; a9d840710 Viswas G 2017-09-19 1174pm8001_dev = dev->lldd_dev; a9d840710 Viswas G 2017-09-19 1175pm8001_ha = pm8001_find_ha_by_dev(dev); a9d840710 Viswas G 2017-09-19 1176device_id = pm8001_dev->device_id; a9d840710 Viswas G 2017-09-19 1177rc = pm8001_find_tag(task, ); a9d840710 Viswas G 2017-09-19 1178if (rc == 0) { a9d840710 Viswas G 2017-09-19 1179pm8001_printk("no tag for task:%p\n", task); a9d840710 Viswas G 2017-09-19 1180return TMF_RESP_FUNC_FAILED; a9d840710 Viswas G 2017-09-19 1181} dbf9bfe61 jack wang 2009-10-14 1182 spin_lock_irqsave(>task_state_lock, flags); dbf9bfe61 jack wang 2009-10-14 1183if (task->task_state_flags & SAS_TASK_STATE_DONE) { dbf9bfe61 jack wang 2009-10-14 1184 spin_unlock_irqrestore(>task_state_lock, flags); a9d840710 Viswas G 2017-09-19 1185return TMF_RESP_FUNC_COMPLETE; dbf9bfe61 jack wang 2009-10-14 1186} dbf9bfe61 jack wang 2009-10-14 1187 spin_unlock_irqrestore(>task_state_lock, flags); dbf9bfe61 jack wang 2009-10-14 1188if (task->task_proto & SAS_PROTOCOL_SSP) { dbf9bfe61 jack wang 2009-10-14 1189struct scsi_cmnd *cmnd = task->uldd_task; dbf9bfe61 jack wang 2009-10-14 1190 int_to_scsilun(cmnd->device->lun, ); dbf9bfe61 jack wang 2009-10-14 1191tmf_task.tmf = TMF_ABORT_TASK; dbf9bfe61 jack wang 2009-10-14 1192 tmf_task.tag_of_task_to_be_managed = tag; dbf9bfe61 jack wang 2009-10-14 1193rc = pm8001_issue_ssp_tmf(dev, lun.scsi_lun, _task); 97ee20886 jack_wang 2009-11-05 1194 pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, dbf9bfe61 jack wang 2009-10-14 1195pm8001_dev->sas_device, 0, tag); dbf9bfe61 jack wang 2009-10-14 1196} else if (task->task_proto & SAS_PROTOCOL_SATA || dbf9bfe61 jack wang 2009-10-14 1197task->task_proto & SAS_PROTOCOL_STP) { dbf9bfe61 jack wang 2009-10-14 1198rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, dbf9bfe61 jack wang 2009-10-14 1199pm8001_dev->sas_device, 0, tag); dbf9bfe61 jack wang 2009-10-14 1200} else if (task->task_proto & SAS_PROTOCOL_SMP) { dbf9bfe61 jack wang 2009-10-14 1201/* SMP */ dbf9bfe61 jack wang 2009-10-14 1202rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, dbf9bfe61 jack wang 2009-10-14 1203pm8001_dev->sas_device, 0, tag); dbf9bfe61 jack wang 2009-10-14 1204 dbf9bfe61 jack wang 2009-10-14 1205} dbf9bfe61 jack wang 2009-10-14 @1206 out: dbf9bfe61 jack wang 2009-10-14 1207if (rc != TMF_RESP_FUNC_COMPLETE) dbf9bfe61 jack wang 2009-10-14 1208pm8001_printk("rc= %d\n", rc); dbf9bfe61 jack wang 2009-10-14 1209return rc; dbf9bfe61 jack wang 2009-10-14 1210 } dbf9bfe61 jack wang 2009-10-14 1211 :: The code at line
Re: [PATCH V3 4/9] pm80xx : tag allocation for phy control request.
Hi Viswas, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.14-rc1 next-20170920] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Viswas-G/pm80xx-updates/20170920-202506 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-a0-09202136 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers/scsi/pm8001/pm80xx_hwi.c: In function 'pm80xx_chip_phy_ctl_req': >> drivers/scsi/pm8001/pm80xx_hwi.c:4507: warning: unused variable 'ret' vim +/ret +4507 drivers/scsi/pm8001/pm80xx_hwi.c f5860992d Sakthivel K 2013-04-17 4492 f5860992d Sakthivel K 2013-04-17 4493 /** f5860992d Sakthivel K 2013-04-17 4494 * pm80xx_chip_phy_ctl_req - support the local phy operation f5860992d Sakthivel K 2013-04-17 4495 * @pm8001_ha: our hba card information. f5860992d Sakthivel K 2013-04-17 4496 * @num: the inbound queue number f5860992d Sakthivel K 2013-04-17 4497 * @phy_id: the phy id which we wanted to operate f5860992d Sakthivel K 2013-04-17 4498 * @phy_op: f5860992d Sakthivel K 2013-04-17 4499 */ f5860992d Sakthivel K 2013-04-17 4500 static int pm80xx_chip_phy_ctl_req(struct pm8001_hba_info *pm8001_ha, f5860992d Sakthivel K 2013-04-17 4501 u32 phyId, u32 phy_op) f5860992d Sakthivel K 2013-04-17 4502 { 18e9bdf60 Viswas G2017-09-19 4503 u32 tag; 18e9bdf60 Viswas G2017-09-19 4504 int rc; f5860992d Sakthivel K 2013-04-17 4505 struct local_phy_ctl_req payload; f5860992d Sakthivel K 2013-04-17 4506 struct inbound_queue_table *circularQ; f5860992d Sakthivel K 2013-04-17 @4507 int ret; f5860992d Sakthivel K 2013-04-17 4508 u32 opc = OPC_INB_LOCAL_PHY_CONTROL; f5860992d Sakthivel K 2013-04-17 4509 memset(, 0, sizeof(payload)); 18e9bdf60 Viswas G2017-09-19 4510 rc = pm8001_tag_alloc(pm8001_ha, ); 18e9bdf60 Viswas G2017-09-19 4511 if (rc) 18e9bdf60 Viswas G2017-09-19 4512 return rc; f5860992d Sakthivel K 2013-04-17 4513 circularQ = _ha->inbnd_q_tbl[0]; 18e9bdf60 Viswas G2017-09-19 4514 payload.tag = cpu_to_le32(tag); f5860992d Sakthivel K 2013-04-17 4515 payload.phyop_phyid = f5860992d Sakthivel K 2013-04-17 4516 cpu_to_le32(((phy_op & 0xFF) << 8) | (phyId & 0xFF)); 18e9bdf60 Viswas G2017-09-19 4517 return pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, , 0); f5860992d Sakthivel K 2013-04-17 4518 } f5860992d Sakthivel K 2013-04-17 4519 :: The code at line 4507 was first introduced by commit :: f5860992db55c9e36b0f120dff73f0c34abe510d [SCSI] pm80xx: Added SPCv/ve specific hardware functionalities and relevant changes in common files :: TO: Sakthivel K:: CC: James Bottomley --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V5 3/3] scsi: Align queue to ARCH_DMA_MINALIGN in non-coherent DMA mode
Hi Huacai, [auto build test ERROR on linus/master] [also build test ERROR on v4.14-rc1 next-20170915] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/dma-mapping-Introduce-device_is_coherent-as-a-helper/20170918-122824 config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c: In function '__scsi_init_queue': >> drivers/scsi/scsi_lib.c:2139:2: error: implicit declaration of function >> 'device_is_coherent' [-Werror=implicit-function-declaration] if (device_is_coherent(dev)) ^ drivers/scsi/scsi_lib.c:2142:3: error: implicit declaration of function 'dma_get_cache_alignment' [-Werror=implicit-function-declaration] blk_queue_dma_alignment(q, dma_get_cache_alignment() - 1); ^ cc1: some warnings being treated as errors vim +/device_is_coherent +2139 drivers/scsi/scsi_lib.c 2103 2104 void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) 2105 { 2106 struct device *dev = shost->dma_dev; 2107 2108 queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q); 2109 2110 /* 2111 * this limit is imposed by hardware restrictions 2112 */ 2113 blk_queue_max_segments(q, min_t(unsigned short, shost->sg_tablesize, 2114 SG_MAX_SEGMENTS)); 2115 2116 if (scsi_host_prot_dma(shost)) { 2117 shost->sg_prot_tablesize = 2118 min_not_zero(shost->sg_prot_tablesize, 2119 (unsigned short)SCSI_MAX_PROT_SG_SEGMENTS); 2120 BUG_ON(shost->sg_prot_tablesize < shost->sg_tablesize); 2121 blk_queue_max_integrity_segments(q, shost->sg_prot_tablesize); 2122 } 2123 2124 blk_queue_max_hw_sectors(q, shost->max_sectors); 2125 blk_queue_bounce_limit(q, scsi_calculate_bounce_limit(shost)); 2126 blk_queue_segment_boundary(q, shost->dma_boundary); 2127 dma_set_seg_boundary(dev, shost->dma_boundary); 2128 2129 blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); 2130 2131 if (!shost->use_clustering) 2132 q->limits.cluster = 0; 2133 2134 /* 2135 * set a reasonable default alignment on word/cacheline boundaries: 2136 * the host and device may alter it using 2137 * blk_queue_update_dma_alignment() later. 2138 */ > 2139 if (device_is_coherent(dev)) 2140 blk_queue_dma_alignment(q, 0x04 - 1); 2141 else 2142 blk_queue_dma_alignment(q, dma_get_cache_alignment() - 1); 2143 } 2144 EXPORT_SYMBOL_GPL(__scsi_init_queue); 2145 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V2 3/3] scsi: Align queue to ARCH_DMA_MINALIGN in non-coherent DMA mode
Hi Huacai, [auto build test ERROR on linus/master] [also build test ERROR on v4.13 next-20170912] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/dma-mapping-Provide-a-default-plat_device_is_coherent/20170913-045241 config: mips-mtx1_defconfig (attached as .config) compiler: mipsel-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=mips All errors (new ones prefixed by >>): >> ERROR: "hw_coherentio" [drivers/scsi/scsi_mod.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/2] scsi: Align queue to ARCH_DMA_MINALIGN in non-coherent DMA mode
Hi Huacai, [auto build test ERROR on mmotm/master] [also build test ERROR on v4.13 next-20170908] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/mm-dmapool-Align-to-ARCH_DMA_MINALIGN-in-non-coherent-DMA-mode/20170909-230504 base: git://git.cmpxchg.org/linux-mmotm.git master config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c: In function '__scsi_init_queue': drivers/scsi/scsi_lib.c:2139:2: error: implicit declaration of function 'plat_device_is_coherent' [-Werror=implicit-function-declaration] if (plat_device_is_coherent(dev)) ^ >> drivers/scsi/scsi_lib.c:2142:3: error: implicit declaration of function >> 'dma_get_cache_alignment' [-Werror=implicit-function-declaration] blk_queue_dma_alignment(q, dma_get_cache_alignment() - 1); ^ cc1: some warnings being treated as errors vim +/dma_get_cache_alignment +2142 drivers/scsi/scsi_lib.c 2103 2104 void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q) 2105 { 2106 struct device *dev = shost->dma_dev; 2107 2108 queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q); 2109 2110 /* 2111 * this limit is imposed by hardware restrictions 2112 */ 2113 blk_queue_max_segments(q, min_t(unsigned short, shost->sg_tablesize, 2114 SG_MAX_SEGMENTS)); 2115 2116 if (scsi_host_prot_dma(shost)) { 2117 shost->sg_prot_tablesize = 2118 min_not_zero(shost->sg_prot_tablesize, 2119 (unsigned short)SCSI_MAX_PROT_SG_SEGMENTS); 2120 BUG_ON(shost->sg_prot_tablesize < shost->sg_tablesize); 2121 blk_queue_max_integrity_segments(q, shost->sg_prot_tablesize); 2122 } 2123 2124 blk_queue_max_hw_sectors(q, shost->max_sectors); 2125 blk_queue_bounce_limit(q, scsi_calculate_bounce_limit(shost)); 2126 blk_queue_segment_boundary(q, shost->dma_boundary); 2127 dma_set_seg_boundary(dev, shost->dma_boundary); 2128 2129 blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); 2130 2131 if (!shost->use_clustering) 2132 q->limits.cluster = 0; 2133 2134 /* 2135 * set a reasonable default alignment on word/cacheline boundaries: 2136 * the host and device may alter it using 2137 * blk_queue_update_dma_alignment() later. 2138 */ > 2139 if (plat_device_is_coherent(dev)) 2140 blk_queue_dma_alignment(q, 0x04 - 1); 2141 else > 2142 blk_queue_dma_alignment(q, dma_get_cache_alignment() - > 1); 2143 } 2144 EXPORT_SYMBOL_GPL(__scsi_init_queue); 2145 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/2] scsi: Align queue to ARCH_DMA_MINALIGN in non-coherent DMA mode
Hi Huacai, [auto build test ERROR on mmotm/master] [also build test ERROR on v4.13 next-20170908] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/mm-dmapool-Align-to-ARCH_DMA_MINALIGN-in-non-coherent-DMA-mode/20170909-230504 base: git://git.cmpxchg.org/linux-mmotm.git master config: i386-randconfig-x000-201736 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from include/linux/linkage.h:4:0, from include/linux/fs.h:4, from include/linux/highmem.h:4, from include/linux/bio.h:21, from drivers/scsi/scsi_lib.c:11: drivers/scsi/scsi_lib.c: In function '__scsi_init_queue': >> drivers/scsi/scsi_lib.c:2139:6: error: implicit declaration of function >> 'plat_device_is_coherent' [-Werror=implicit-function-declaration] if (plat_device_is_coherent(dev)) ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/scsi/scsi_lib.c:2139:2: note: in expansion of macro 'if' if (plat_device_is_coherent(dev)) ^~ drivers/scsi/scsi_lib.c: At top level: include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memcpy_and_pad' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:451:2: note: in expansion of macro 'if' if (dest_len > count) { ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memcpy_and_pad' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:449:2: note: in expansion of macro 'if' if (dest_size < dest_len) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memcpy_and_pad' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:446:8: note: in expansion of macro 'if' else if (src_size < dest_len && src_size < count) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memcpy_and_pad' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:444:3: note: in expansion of macro 'if' if (dest_size < dest_len && dest_size < count) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memcpy_and_pad' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:443:2: note: in expansion of macro 'if' if (__builtin_constant_p(dest_len) && __builtin_constant_p(count)) { ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'strcpy' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:421:2: note: in expansion of macro 'if' if (p_size == (size_t)-1 && q_size == (size_t)-1) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'kmemdup' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:411:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'kmemdup' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...)
Re: [PATCHv4 2/5] scsi: Export blacklist flags to sysfs
Hi Hannes, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.13-rc7 next-20170829] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/Fixup-blacklist-handling/20170830-065524 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: i386-randconfig-n0-201735 (attached as .config) compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> Can't open perl script "drivers/scsi/mktbl.pl": No such file or directory --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/3] scsi_lib: rework scsi_internal_device_unblock_nowait()
Hi Hannes, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.13-rc4 next-20170810] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/scsi-pollable-state-attribute/20170811-071630 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c: In function 'scsi_internal_device_unblock_nowait': >> drivers/scsi/scsi_lib.c:3089:2: error: duplicate case value case SDEV_TRANSPORT_OFFLINE: ^ >> drivers/scsi/scsi_lib.c:3079:2: error: previously used here case SDEV_TRANSPORT_OFFLINE: ^ vim +3089 drivers/scsi/scsi_lib.c 3054 3055 /** 3056 * scsi_internal_device_unblock_nowait - resume a device after a block request 3057 * @sdev: device to resume 3058 * @new_state: state to set the device to after unblocking 3059 * 3060 * Restart the device queue for a previously suspended SCSI device. Does not 3061 * sleep. 3062 * 3063 * Returns zero if successful or a negative error code upon failure. 3064 * 3065 * Notes: 3066 * This routine transitions the device to the SDEV_RUNNING state or to one of 3067 * the offline states (which must be a legal transition) allowing the midlayer 3068 * to goose the queue for this device. 3069 */ 3070 int scsi_internal_device_unblock_nowait(struct scsi_device *sdev, 3071 enum scsi_device_state new_state) 3072 { 3073 /* 3074 * Try to transition the scsi device to SDEV_RUNNING or one of the 3075 * offlined states and goose the device queue if successful. 3076 */ 3077 switch (sdev->sdev_state) { 3078 case SDEV_BLOCK: > 3079 case SDEV_TRANSPORT_OFFLINE: 3080 sdev->sdev_state = new_state; 3081 break; 3082 case SDEV_CREATED_BLOCK: 3083 if (new_state == SDEV_TRANSPORT_OFFLINE || 3084 new_state == SDEV_OFFLINE) 3085 sdev->sdev_state = new_state; 3086 else 3087 sdev->sdev_state = SDEV_CREATED; 3088 break; > 3089 case SDEV_TRANSPORT_OFFLINE: 3090 case SDEV_CANCEL: 3091 case SDEV_OFFLINE: 3092 break; 3093 default: 3094 return -EINVAL; 3095 } 3096 scsi_start_queue(sdev); 3097 3098 return 0; 3099 } 3100 EXPORT_SYMBOL_GPL(scsi_internal_device_unblock_nowait); 3101 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 03/14] blk-mq: introduce blk_mq_dispatch_rq_from_ctxs()
Hi Ming, [auto build test ERROR on block/for-next] [also build test ERROR on v4.13-rc3 next-20170802] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/blk-mq-sched-fix-SCSI-MQ-performance-regression/20170801-031007 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-b0-08022356 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): block/blk-mq.c: In function 'blk_mq_flush_busy_ctxs': >> block/blk-mq.c:861: error: unknown field 'list' specified in initializer >> block/blk-mq.c:861: warning: missing braces around initializer block/blk-mq.c:861: warning: (near initialization for 'data.') block/blk-mq.c: In function 'blk_mq_dispatch_rq_from_ctxs': >> block/blk-mq.c:872: error: unknown field 'rq' specified in initializer block/blk-mq.c:872: warning: missing braces around initializer block/blk-mq.c:872: warning: (near initialization for 'data.') vim +/list +861 block/blk-mq.c 22e09fd59 Ming Lei 2017-08-01 852 320ae51fe Jens Axboe2013-10-24 853 /* 1429d7c94 Jens Axboe2014-05-19 854 * Process software queues that have been marked busy, splicing them 1429d7c94 Jens Axboe2014-05-19 855 * to the for-dispatch 1429d7c94 Jens Axboe2014-05-19 856 */ 2c3ad6679 Jens Axboe2016-12-14 857 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list) 1429d7c94 Jens Axboe2014-05-19 858 { 4b5ef3bbb Ming Lei 2017-08-01 859 struct ctx_iter_data data = { 88459642c Omar Sandoval 2016-09-17 860 .hctx = hctx, 88459642c Omar Sandoval 2016-09-17 @861 .list = list, 88459642c Omar Sandoval 2016-09-17 862 }; 1429d7c94 Jens Axboe2014-05-19 863 88459642c Omar Sandoval 2016-09-17 864 sbitmap_for_each_set(>ctx_map, flush_busy_ctx, ); 1429d7c94 Jens Axboe2014-05-19 865 } 2c3ad6679 Jens Axboe2016-12-14 866 EXPORT_SYMBOL_GPL(blk_mq_flush_busy_ctxs); 1429d7c94 Jens Axboe2014-05-19 867 22e09fd59 Ming Lei 2017-08-01 868 struct request *blk_mq_dispatch_rq_from_ctxs(struct blk_mq_hw_ctx *hctx) 22e09fd59 Ming Lei 2017-08-01 869 { 22e09fd59 Ming Lei 2017-08-01 870 struct ctx_iter_data data = { 22e09fd59 Ming Lei 2017-08-01 871 .hctx = hctx, 22e09fd59 Ming Lei 2017-08-01 @872 .rq = NULL, 22e09fd59 Ming Lei 2017-08-01 873 }; 22e09fd59 Ming Lei 2017-08-01 874 22e09fd59 Ming Lei 2017-08-01 875 sbitmap_for_each_set(>ctx_map, dispatch_rq_from_ctx, ); 22e09fd59 Ming Lei 2017-08-01 876 22e09fd59 Ming Lei 2017-08-01 877 return data.rq; 22e09fd59 Ming Lei 2017-08-01 878 } 22e09fd59 Ming Lei 2017-08-01 879 :: The code at line 861 was first introduced by commit :: 88459642cba452630326b9cab1c651e09577d4e4 blk-mq: abstract tag allocation out into sbitmap library :: TO: Omar Sandoval:: CC: Jens Axboe --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH] scsi: megaraid: fix ifnullfree.cocci warnings
drivers/scsi/megaraid/megaraid_mbox.c:1256:2-18: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. drivers/scsi/megaraid/megaraid_mbox.c:1265:2-18: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. drivers/scsi/megaraid/megaraid_mbox.c:1274:2-18: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. NULL check before some freeing functions is not needed. Based on checkpatch warning "kfree(NULL) is safe this check is probably not required" and kfreeaddr.cocci by Julia Lawall. Generated by: scripts/coccinelle/free/ifnullfree.cocci Fixes: cbb80044a6c7 ("scsi: megaraid: Replace PCI pool old API") CC: Romain PerierSigned-off-by: Fengguang Wu --- megaraid_mbox.c |9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c @@ -1252,8 +1252,7 @@ megaraid_mbox_teardown_dma_pools(adapter dma_pool_free(raid_dev->sg_pool_handle, sg_pci_blk[i].vaddr, sg_pci_blk[i].dma_addr); } - if (raid_dev->sg_pool_handle) - dma_pool_destroy(raid_dev->sg_pool_handle); + dma_pool_destroy(raid_dev->sg_pool_handle); epthru_pci_blk = raid_dev->epthru_pool; @@ -1261,8 +1260,7 @@ megaraid_mbox_teardown_dma_pools(adapter dma_pool_free(raid_dev->epthru_pool_handle, epthru_pci_blk[i].vaddr, epthru_pci_blk[i].dma_addr); } - if (raid_dev->epthru_pool_handle) - dma_pool_destroy(raid_dev->epthru_pool_handle); + dma_pool_destroy(raid_dev->epthru_pool_handle); mbox_pci_blk = raid_dev->mbox_pool; @@ -1270,8 +1268,7 @@ megaraid_mbox_teardown_dma_pools(adapter dma_pool_free(raid_dev->mbox_pool_handle, mbox_pci_blk[i].vaddr, mbox_pci_blk[i].dma_addr); } - if (raid_dev->mbox_pool_handle) - dma_pool_destroy(raid_dev->mbox_pool_handle); + dma_pool_destroy(raid_dev->mbox_pool_handle); return; }
[PATCH] scsi: megaraid: fix ifnullfree.cocci warnings
drivers/scsi/megaraid/megaraid_mm.c:1020:2-18: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. NULL check before some freeing functions is not needed. Based on checkpatch warning "kfree(NULL) is safe this check is probably not required" and kfreeaddr.cocci by Julia Lawall. Generated by: scripts/coccinelle/free/ifnullfree.cocci Fixes: cbb80044a6c7 ("scsi: megaraid: Replace PCI pool old API") CC: Romain PerierSigned-off-by: Fengguang Wu --- megaraid_mm.c |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/drivers/scsi/megaraid/megaraid_mm.c +++ b/drivers/scsi/megaraid/megaraid_mm.c @@ -1016,8 +1016,7 @@ memalloc_error: kfree(adapter->kioc_list); kfree(adapter->mbox_list); - if (adapter->pthru_dma_pool) - dma_pool_destroy(adapter->pthru_dma_pool); + dma_pool_destroy(adapter->pthru_dma_pool); kfree(adapter);
[PATCH] scsi: megaraid: fix ifnullfree.cocci warnings
drivers/scsi/megaraid/megaraid_sas_fusion.c:608:2-18: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. drivers/scsi/megaraid/megaraid_sas_fusion.c:629:2-18: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. NULL check before some freeing functions is not needed. Based on checkpatch warning "kfree(NULL) is safe this check is probably not required" and kfreeaddr.cocci by Julia Lawall. Generated by: scripts/coccinelle/free/ifnullfree.cocci Fixes: cbb80044a6c7 ("scsi: megaraid: Replace PCI pool old API") CC: Romain PerierSigned-off-by: Fengguang Wu --- megaraid_sas_fusion.c |6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -604,8 +604,7 @@ megasas_free_rdpq_fusion(struct megasas_ fusion->reply_frames_desc_phys[i]); } - if (fusion->reply_frames_desc_pool) - dma_pool_destroy(fusion->reply_frames_desc_pool); + dma_pool_destroy(fusion->reply_frames_desc_pool); if (fusion->rdpq_virt) pci_free_consistent(instance->pdev, @@ -625,8 +624,7 @@ megasas_free_reply_fusion(struct megasas fusion->reply_frames_desc[0], fusion->reply_frames_desc_phys[0]); - if (fusion->reply_frames_desc_pool) - dma_pool_destroy(fusion->reply_frames_desc_pool); + dma_pool_destroy(fusion->reply_frames_desc_pool); }
[scsi:for-next 1/10] qedi_main.c:undefined reference to `iscsi_boot_destroy_kset'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next head: 6f37e2102778d3437a416684680cc5ce295f2042 commit: c57ec8fb7c025322f25a077afc94e0ef18cc3d89 [1/10] scsi: qedi: Add support for Boot from SAN over iSCSI offload config: x86_64-randconfig-s0-07150752 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout c57ec8fb7c025322f25a077afc94e0ef18cc3d89 # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/scsi/qedi/qedi_main.o: In function `qedi_remove': >> qedi_main.c:(.text+0x3bbd): undefined reference to `iscsi_boot_destroy_kset' drivers/scsi/qedi/qedi_main.o: In function `__qedi_probe.constprop.0': >> qedi_main.c:(.text+0x577a): undefined reference to `iscsi_boot_create_target' qedi_main.c:(.text+0x5807): undefined reference to `iscsi_boot_create_target' >> qedi_main.c:(.text+0x587f): undefined reference to >> `iscsi_boot_create_initiator' >> qedi_main.c:(.text+0x58f3): undefined reference to >> `iscsi_boot_create_ethernet' qedi_main.c:(.text+0x5927): undefined reference to `iscsi_boot_destroy_kset' >> qedi_main.c:(.text+0x5d7b): undefined reference to >> `iscsi_boot_create_host_kset' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] libiscsi: Fix use-after-free race during iscsi_session_teardown
Hi Khazhismel, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.12 next-20170713] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Khazhismel-Kumykov/libiscsi-Fix-use-after-free-race-during-iscsi_session_teardown/20170713-231300 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: xtensa-allyesconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): drivers//scsi/libiscsi.c: In function 'iscsi_session_teardown': >> drivers//scsi/libiscsi.c:2863:2: warning: passing argument 1 of >> 'iscsi_remove_session' from incompatible pointer type iscsi_remove_session(session); ^ In file included from drivers//scsi/libiscsi.c:41:0: include/scsi/scsi_transport_iscsi.h:435:13: note: expected 'struct iscsi_cls_session *' but argument is of type 'struct iscsi_session *' extern void iscsi_remove_session(struct iscsi_cls_session *session); ^ vim +/iscsi_remove_session +2863 drivers//scsi/libiscsi.c 2850 2851 /** 2852 * iscsi_session_teardown - destroy session, host, and cls_session 2853 * @cls_session: iscsi session 2854 */ 2855 void iscsi_session_teardown(struct iscsi_cls_session *cls_session) 2856 { 2857 struct iscsi_session *session = cls_session->dd_data; 2858 struct module *owner = cls_session->transport->owner; 2859 struct Scsi_Host *shost = session->host; 2860 2861 iscsi_pool_free(>cmdpool); 2862 > 2863 iscsi_remove_session(session); 2864 2865 kfree(session->password); 2866 kfree(session->password_in); 2867 kfree(session->username); 2868 kfree(session->username_in); 2869 kfree(session->targetname); 2870 kfree(session->targetalias); 2871 kfree(session->initiatorname); 2872 kfree(session->boot_root); 2873 kfree(session->boot_nic); 2874 kfree(session->boot_target); 2875 kfree(session->ifacename); 2876 kfree(session->portal_type); 2877 kfree(session->discovery_parent_type); 2878 2879 iscsi_free_session(cls_session); 2880 2881 iscsi_host_dec_session_cnt(shost); 2882 module_put(owner); 2883 } 2884 EXPORT_SYMBOL_GPL(iscsi_session_teardown); 2885 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] libiscsi: Fix use-after-free race during iscsi_session_teardown
Hi Khazhismel, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.12 next-20170713] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Khazhismel-Kumykov/libiscsi-Fix-use-after-free-race-during-iscsi_session_teardown/20170713-231300 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: i386-randconfig-x018-201728 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers//scsi/libiscsi.c: In function 'iscsi_session_teardown': >> drivers//scsi/libiscsi.c:2863:23: error: passing argument 1 of >> 'iscsi_remove_session' from incompatible pointer type >> [-Werror=incompatible-pointer-types] iscsi_remove_session(session); ^~~ In file included from drivers//scsi/libiscsi.c:41:0: include/scsi/scsi_transport_iscsi.h:435:13: note: expected 'struct iscsi_cls_session *' but argument is of type 'struct iscsi_session *' extern void iscsi_remove_session(struct iscsi_cls_session *session); ^~~~ cc1: some warnings being treated as errors vim +/iscsi_remove_session +2863 drivers//scsi/libiscsi.c 2850 2851 /** 2852 * iscsi_session_teardown - destroy session, host, and cls_session 2853 * @cls_session: iscsi session 2854 */ 2855 void iscsi_session_teardown(struct iscsi_cls_session *cls_session) 2856 { 2857 struct iscsi_session *session = cls_session->dd_data; 2858 struct module *owner = cls_session->transport->owner; 2859 struct Scsi_Host *shost = session->host; 2860 2861 iscsi_pool_free(>cmdpool); 2862 > 2863 iscsi_remove_session(session); 2864 2865 kfree(session->password); 2866 kfree(session->password_in); 2867 kfree(session->username); 2868 kfree(session->username_in); 2869 kfree(session->targetname); 2870 kfree(session->targetalias); 2871 kfree(session->initiatorname); 2872 kfree(session->boot_root); 2873 kfree(session->boot_nic); 2874 kfree(session->boot_target); 2875 kfree(session->ifacename); 2876 kfree(session->portal_type); 2877 kfree(session->discovery_parent_type); 2878 2879 iscsi_free_session(cls_session); 2880 2881 iscsi_host_dec_session_cnt(shost); 2882 module_put(owner); 2883 } 2884 EXPORT_SYMBOL_GPL(iscsi_session_teardown); 2885 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] libiscsi: Remove iscsi_destroy_session
Hi Khazhismel, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v4.12 next-20170713] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Khazhismel-Kumykov/libiscsi-Remove-iscsi_destroy_session/20170713-185526 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: blackfin-allyesconfig (attached as .config) compiler: bfin-uclinux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=blackfin All errors (new ones prefixed by >>): drivers/scsi/libiscsi.c: In function 'iscsi_session_teardown': >> drivers/scsi/libiscsi.c:2880:2: error: implicit declaration of function >> 'iscsi_destroy_session' [-Werror=implicit-function-declaration] iscsi_destroy_session(cls_session); ^ cc1: some warnings being treated as errors vim +/iscsi_destroy_session +2880 drivers/scsi/libiscsi.c 7996a778 Mike Christie2006-04-06 2850 7996a778 Mike Christie2006-04-06 2851 /** 7996a778 Mike Christie2006-04-06 2852 * iscsi_session_teardown - destroy session, host, and cls_session 75613521 Mike Christie2008-05-21 2853 * @cls_session: iscsi session 7996a778 Mike Christie2006-04-06 2854 * 75613521 Mike Christie2008-05-21 2855 * The driver must have called iscsi_remove_session before 75613521 Mike Christie2008-05-21 2856 * calling this. 75613521 Mike Christie2008-05-21 2857 */ 7996a778 Mike Christie2006-04-06 2858 void iscsi_session_teardown(struct iscsi_cls_session *cls_session) 7996a778 Mike Christie2006-04-06 2859 { 75613521 Mike Christie2008-05-21 2860 struct iscsi_session *session = cls_session->dd_data; 63f75cc8 Mike Christie2006-07-24 2861 struct module *owner = cls_session->transport->owner; e5bd7b54 Mike Christie2008-09-24 2862 struct Scsi_Host *shost = session->host; 7996a778 Mike Christie2006-04-06 2863 6320377f Olaf Kirch 2007-12-13 2864 iscsi_pool_free(>cmdpool); 7996a778 Mike Christie2006-04-06 2865 b2c64167 Mike Christie2007-05-30 2866 kfree(session->password); b2c64167 Mike Christie2007-05-30 2867 kfree(session->password_in); b2c64167 Mike Christie2007-05-30 2868 kfree(session->username); b2c64167 Mike Christie2007-05-30 2869 kfree(session->username_in); f3ff0c36 Mike Christie2006-07-24 2870 kfree(session->targetname); 3c5c4801 Vikas Chaudhary 2012-01-19 2871 kfree(session->targetalias); 88dfd340 Mike Christie2008-05-21 2872 kfree(session->initiatorname); 3b9373e9 Eddie Wai2013-06-20 2873 kfree(session->boot_root); 3b9373e9 Eddie Wai2013-06-20 2874 kfree(session->boot_nic); 3b9373e9 Eddie Wai2013-06-20 2875 kfree(session->boot_target); 88dfd340 Mike Christie2008-05-21 2876 kfree(session->ifacename); f8525eb4 Adheer Chandravanshi 2013-07-01 2877 kfree(session->portal_type); f8525eb4 Adheer Chandravanshi 2013-07-01 2878 kfree(session->discovery_parent_type); f3ff0c36 Mike Christie2006-07-24 2879 75613521 Mike Christie2008-05-21 @2880 iscsi_destroy_session(cls_session); e5bd7b54 Mike Christie2008-09-24 2881 iscsi_host_dec_session_cnt(shost); 63f75cc8 Mike Christie2006-07-24 2882 module_put(owner); 7996a778 Mike Christie2006-04-06 2883 } 7996a778 Mike Christie2006-04-06 2884 EXPORT_SYMBOL_GPL(iscsi_session_teardown); 7996a778 Mike Christie2006-04-06 2885 :: The code at line 2880 was first introduced by commit :: 756135215ec743be6fdce2bdebe8cdb9f8a231f6 [SCSI] iscsi: remove session and host binding in libiscsi :: TO: Mike Christie:: CC: James Bottomley --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 02/13] mpt3sas: SGL to PRP Translation for I/Os to NVMe devices
Hi Suganath, [auto build test ERROR on scsi/for-next] [also build test ERROR on v4.12 next-20170711] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Add-nvme-device-support-in-slave-alloc-target-alloc-and-probe/20170711-204831 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-kexec (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Suganath-Prabu-S/mpt3sas-Add-nvme-device-support-in-slave-alloc-target-alloc-and-probe/20170711-204831 HEAD 46a9c8fb1d7fe7649aa0eaa925c6653a6fa3047e builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from drivers/scsi/mpt3sas/mpt3sas_base.c:66:0: >> drivers/scsi/mpt3sas/mpt3sas_base.h:57:26: fatal error: mpi/mpi2_pci.h: No >> such file or directory #include "mpi/mpi2_pci.h" ^ compilation terminated. vim +57 drivers/scsi/mpt3sas/mpt3sas_base.h 48 49 #include "mpi/mpi2_type.h" 50 #include "mpi/mpi2.h" 51 #include "mpi/mpi2_ioc.h" 52 #include "mpi/mpi2_cnfg.h" 53 #include "mpi/mpi2_init.h" 54 #include "mpi/mpi2_raid.h" 55 #include "mpi/mpi2_tool.h" 56 #include "mpi/mpi2_sas.h" > 57 #include "mpi/mpi2_pci.h" 58 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH] scsi: scsi_dh_alua: fix boolreturn.cocci warnings
drivers/scsi/device_handler/scsi_dh_alua.c:594:9-10: WARNING: return of 0/1 in function 'alua_rtpg_print_check' with return type bool Return statements in functions returning bool should use true/false instead of 1/0. Generated by: scripts/coccinelle/misc/boolreturn.cocci Fixes: cb809ba2fcbf ("scsi: scsi_dh_alua: do not print RTPG state if it remains unavailable/standby") CC: Mauricio Faria de OliveiraSigned-off-by: Fengguang Wu --- scsi_dh_alua.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -591,7 +591,7 @@ static bool alua_rtpg_print_check(int ol case SCSI_ACCESS_STATE_STANDBY: return old_state != new_state; default: - return 1; + return true; } }
Re: [PATCH v2 3/4] scsi: scsi_dh_alua: do not print RTPG state if it remains unavailable/standby
Hi Mauricio, [auto build test WARNING on bvanassche/for-next] [also build test WARNING on v4.12 next-20170711] [cannot apply to mkp-scsi/for-next scsi/for-next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mauricio-Faria-de-Oliveira/scsi_dh_alua-fix-stuck-I-O-after-unavailable-standby-states/20170711-141350 base: https://github.com/bvanassche/linux for-next coccinelle warnings: (new ones prefixed by >>) >> drivers/scsi/device_handler/scsi_dh_alua.c:594:9-10: WARNING: return of 0/1 >> in function 'alua_rtpg_print_check' with return type bool Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH] Make "SCSI Transports" a menuconfig to ease disabling it all
Hi Vincent, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.12] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Vincent-Legoll/Make-SCSI-Transports-a-menuconfig-to-ease-disabling-it-all/20170703-222401 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: tile-tilegx_defconfig (attached as .config) compiler: tilegx-linux-gcc (GCC) 4.6.2 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=tile All warnings (new ones prefixed by >>): warning: (SCSI_AIC94XX && SCSI_HISI_SAS && SCSI_MVSAS && SCSI_ISCI && SCSI_PM8001) selects SCSI_SAS_LIBSAS which has unmet direct dependencies (SCSI_TRANSPORTS && SCSI) warning: (SCSI_HPSA && SCSI_MPT3SAS && SCSI_SMARTPQI && FUSION_SAS) selects SCSI_SAS_ATTRS which has unmet direct dependencies (SCSI_TRANSPORTS && SCSI) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] Make "SCSI Transports" a menuconfig to ease disabling it all
Hi Vincent, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on v4.12] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Vincent-Legoll/Make-SCSI-Transports-a-menuconfig-to-ease-disabling-it-all/20170703-222401 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All warnings (new ones prefixed by >>): warning: (ISCSI_TCP && SCSI_CXGB3_ISCSI && SCSI_CXGB4_ISCSI && SCSI_BNX2_ISCSI && BE2ISCSI && SCSI_QLA_ISCSI && QEDI && INFINIBAND_ISER) selects SCSI_ISCSI_ATTRS which has unmet direct dependencies (SCSI_TRANSPORTS && SCSI && NET) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 34/35] scsi: Move eh_device_reset_handler() to use scsi_device as argument
Hi Hannes, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on next-20170623] [cannot apply to v4.12-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/SCSI-EH-argument-reshuffling/20170624-071433 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: i386-randconfig-x004-201725 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/scsi/aha152x.c: In function 'aha152x_device_reset': >> drivers/scsi/aha152x.c:1060:30: error: 'SCpnt' undeclared (first use in this >> function) unsigned char old_cmd_len = SCpnt->cmd_len; ^ drivers/scsi/aha152x.c:1060:30: note: each undeclared identifier is reported only once for each function it appears in drivers/scsi/aha152x.c: In function 'aha152x_bus_reset': drivers/scsi/aha152x.c:1173:9: error: too many arguments to function 'aha152x_bus_reset_host' return aha152x_bus_reset_host(shpnt, channel); ^~ drivers/scsi/aha152x.c:1144:12: note: declared here static int aha152x_bus_reset_host(struct Scsi_Host *shpnt) ^~ vim +/SCpnt +1060 drivers/scsi/aha152x.c ^1da177e Linus Torvalds2005-04-16 1054 */ fb100e8d Hannes Reinecke 2017-06-23 1055 static int aha152x_device_reset(struct scsi_device * sdev) ^1da177e Linus Torvalds2005-04-16 1056 { fb100e8d Hannes Reinecke 2017-06-23 1057 struct Scsi_Host *shpnt = sdev->host; 0f06bb34 Christoph Hellwig 2007-05-13 1058 DECLARE_COMPLETION(done); ^1da177e Linus Torvalds2005-04-16 1059 int ret, issued, disconnected; 631c228c Christoph Hellwig 2006-07-08 @1060 unsigned char old_cmd_len = SCpnt->cmd_len; ^1da177e Linus Torvalds2005-04-16 1061 unsigned long flags; 0f06bb34 Christoph Hellwig 2007-05-13 1062 unsigned long timeleft; ^1da177e Linus Torvalds2005-04-16 1063 :: The code at line 1060 was first introduced by commit :: 631c228cd09bd5b93090fa60bd9803ec14aa0586 [SCSI] hide EH backup data outside the scsi_cmnd :: TO: Christoph Hellwig:: CC: James Bottomley --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 33/35] scsi: Use scsi_target as argument for eh_target_reset_handler()
Hi Hannes, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on next-20170623] [cannot apply to v4.12-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/SCSI-EH-argument-reshuffling/20170624-071433 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: powerpc-allmodconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All errors (new ones prefixed by >>): drivers/scsi/ibmvscsi/ibmvfc.c: In function 'ibmvfc_eh_target_reset_handler': >> drivers/scsi/ibmvscsi/ibmvfc.c:2501:41: error: 'sdev' undeclared (first use >> in this function) struct ibmvfc_host *vhost = shost_priv(sdev->host); ^~~~ drivers/scsi/ibmvscsi/ibmvfc.c:2501:41: note: each undeclared identifier is reported only once for each function it appears in drivers/scsi/ibmvscsi/ibmvfc.c:2500:20: warning: unused variable 'shost' [-Wunused-variable] struct Scsi_Host *shost = rport_to_shost(rport); ^ drivers/scsi/ibmvscsi/ibmvfc.c: In function 'ibmvfc_eh_host_reset_handler': drivers/scsi/ibmvscsi/ibmvfc.c:2533:10: warning: unused variable 'block_rc' [-Wunused-variable] int rc, block_rc; ^~~~ vim +/sdev +2501 drivers/scsi/ibmvscsi/ibmvfc.c 2495 * SUCCESS / FAST_IO_FAIL / FAILED 2496 **/ 2497 static int ibmvfc_eh_target_reset_handler(struct scsi_target *starget) 2498 { 2499 struct fc_rport *rport = starget_to_rport(starget); 2500 struct Scsi_Host *shost = rport_to_shost(rport); > 2501 struct ibmvfc_host *vhost = shost_priv(sdev->host); 2502 int block_rc; 2503 int reset_rc = 0; 2504 int rc = FAILED; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 34/35] scsi: Move eh_device_reset_handler() to use scsi_device as argument
Hi Hannes, [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on next-20170623] [cannot apply to v4.12-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/SCSI-EH-argument-reshuffling/20170624-071433 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-x005-201725 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from drivers/block/cciss.c:374:0: drivers/block/cciss_scsi.c: In function 'cciss_eh_device_reset_handler': >> drivers/block/cciss_scsi.c:1605:27: error: 'sdev' undeclared (first use in >> this function) rc = lookup_scsi3addr(h, sdev->channel, sdev->id, sdev->lun, lunaddr); ^~~~ drivers/block/cciss_scsi.c:1605:27: note: each undeclared identifier is reported only once for each function it appears in vim +/sdev +1605 drivers/block/cciss_scsi.c 1599 1600 /* find the controller to which the command to be aborted was sent */ 1601 h = (ctlr_info_t *) scsidev->host->hostdata[0]; 1602 if (h == NULL) /* paranoia */ 1603 return FAILED; 1604 dev_warn(>pdev->dev, "resetting tape drive or medium changer.\n"); > 1605 rc = lookup_scsi3addr(h, sdev->channel, sdev->id, sdev->lun, > lunaddr); 1606 if (rc != 0) 1607 return FAILED; 1608 /* send a reset to the SCSI LUN which the command was sent to */ --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 22/35] scsi: Use Scsi_Host as argument for eh_host_reset_handler
Hi Hannes, [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on next-20170623] [cannot apply to v4.12-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/SCSI-EH-argument-reshuffling/20170624-071433 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: powerpc-allmodconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:329:0, from include/linux/kernel.h:13, from include/linux/delay.h:21, from drivers/scsi/cxlflash/main.c:15: drivers/scsi/cxlflash/main.c: In function 'cxlflash_eh_host_reset_handler': >> drivers/scsi/cxlflash/main.c:2186:15: warning: format '%s' expects argument >> of type 'char *', but argument 4 has type 'unsigned int' [-Wformat=] dev_dbg(dev, "%s: %d/-1/-1/-1\n", host->host_no); ^ include/linux/dynamic_debug.h:134:39: note: in definition of macro 'dynamic_dev_dbg' __dynamic_dev_dbg(, dev, fmt, \ ^~~ >> drivers/scsi/cxlflash/main.c:2186:2: note: in expansion of macro 'dev_dbg' dev_dbg(dev, "%s: %d/-1/-1/-1\n", host->host_no); ^~~ >> drivers/scsi/cxlflash/main.c:2186:15: warning: format '%d' expects a >> matching 'int' argument [-Wformat=] dev_dbg(dev, "%s: %d/-1/-1/-1\n", host->host_no); ^ include/linux/dynamic_debug.h:134:39: note: in definition of macro 'dynamic_dev_dbg' __dynamic_dev_dbg(, dev, fmt, \ ^~~ >> drivers/scsi/cxlflash/main.c:2186:2: note: in expansion of macro 'dev_dbg' dev_dbg(dev, "%s: %d/-1/-1/-1\n", host->host_no); ^~~ vim +2186 drivers/scsi/cxlflash/main.c 2170 * Following a reset, the state is evaluated again in case an EEH occurred 2171 * during the reset. In such a scenario, the host reset will either yield 2172 * until the EEH recovery is complete or return success or failure based 2173 * upon the current device state. 2174 * 2175 * Return: 2176 * SUCCESS as defined in scsi/scsi.h 2177 * FAILED as defined in scsi/scsi.h 2178 */ 2179 static int cxlflash_eh_host_reset_handler(struct Scsi_Host *host) 2180 { 2181 int rc = SUCCESS; 2182 int rcr = 0; 2183 struct cxlflash_cfg *cfg = shost_priv(host); 2184 struct device *dev = >dev->dev; 2185 > 2186 dev_dbg(dev, "%s: %d/-1/-1/-1\n", host->host_no); 2187 2188 switch (cfg->state) { 2189 case STATE_NORMAL: 2190 cfg->state = STATE_RESET; 2191 drain_ioctls(cfg); 2192 cxlflash_mark_contexts_error(cfg); 2193 rcr = afu_reset(cfg); 2194 if (rcr) { --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip