* [scsi:for-next 12/27] drivers/scsi/ipr.c:6568 ipr_qc_issue() warn: inconsistent returns spin_lock:&ipr_cmd->hrrq->_lock: locked (6562) unlocked (6499,6507,6568)
@ 2012-12-17 13:24 Dan Carpenter
2012-12-20 22:52 ` James Bottomley
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2012-12-17 13:24 UTC (permalink / raw)
To: wenxiong@linux.vnet.ibm.com; +Cc: James Bottomley, linux-scsi, kbuild
Hi,
FYI, there are new smatch warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
head: e3ff197a750d2912d0bb2a0161c23c18bad250ad
commit: e7ef7307d9e2c15802e8ea1da9878e0550ec87bc [12/27] [SCSI] ipr: Reduce lock contention
drivers/scsi/ipr.c:5434 ipr_build_ioadl64() info: why not propagate 'nseg' from scsi_dma_map() instead of (-1)?
drivers/scsi/ipr.c:5485 ipr_build_ioadl() info: why not propagate 'nseg' from scsi_dma_map() instead of (-1)?
+ drivers/scsi/ipr.c:6568 ipr_qc_issue() warn: inconsistent returns spin_lock:&ipr_cmd->hrrq->_lock: locked (6562) unlocked (6499,6507,6568)
git remote add scsi git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
git remote update scsi
git checkout e7ef7307d9e2c15802e8ea1da9878e0550ec87bc
vim +6568 drivers/scsi/ipr.c
35a39691 Brian King 2006-09-25 6493
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6494 if (qc->lldd_task == NULL)
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6495 ipr_qc_defer(qc);
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6496
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6497 ipr_cmd = qc->lldd_task;
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6498 if (ipr_cmd == NULL)
0feeed82 Brian King 2007-03-29 @6499 return AC_ERR_SYSTEM;
35a39691 Brian King 2006-09-25 6500
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6501 qc->lldd_task = NULL;
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6502 spin_lock(&ipr_cmd->hrrq->_lock);
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6503 if (unlikely(!ipr_cmd->hrrq->allow_cmds ||
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6504 ipr_cmd->hrrq->ioa_is_dead)) {
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6505 list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6506 spin_unlock(&ipr_cmd->hrrq->_lock);
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 @6507 return AC_ERR_SYSTEM;
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6508 }
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6509
7af0de31 wenxiong@linux.vnet.ibm.com 2012-12-03 6510 ipr_init_ipr_cmnd(ipr_cmd, ipr_lock_and_done);
35a39691 Brian King 2006-09-25 6511 ioarcb = &ipr_cmd->ioarcb;
35a39691 Brian King 2006-09-25 6512
a32c055f Wayne Boyer 2010-02-19 6513 if (ioa_cfg->sis64) {
a32c055f Wayne Boyer 2010-02-19 6514 regs = &ipr_cmd->i.ata_ioadl.regs;
a32c055f Wayne Boyer 2010-02-19 6515 ioarcb->add_cmd_parms_offset = cpu_to_be16(sizeof(*ioarcb));
a32c055f Wayne Boyer 2010-02-19 6516 } else
a32c055f Wayne Boyer 2010-02-19 6517 regs = &ioarcb->u.add_data.u.regs;
a32c055f Wayne Boyer 2010-02-19 6518
a32c055f Wayne Boyer 2010-02-19 6519 memset(regs, 0, sizeof(*regs));
a32c055f Wayne Boyer 2010-02-19 6520 ioarcb->add_cmd_parms_len = cpu_to_be16(sizeof(*regs));
35a39691 Brian King 2006-09-25 6521
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6522 list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_pending_q);
35a39691 Brian King 2006-09-25 6523 ipr_cmd->qc = qc;
35a39691 Brian King 2006-09-25 6524 ipr_cmd->done = ipr_sata_done;
3e7ebdfa Wayne Boyer 2010-02-19 6525 ipr_cmd->ioarcb.res_handle = res->res_handle;
35a39691 Brian King 2006-09-25 6526 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_ATA_PASSTHRU;
35a39691 Brian King 2006-09-25 6527 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_LINK_DESC;
35a39691 Brian King 2006-09-25 6528 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_ULEN_CHK;
dde20207 James Bottomley 2008-02-19 6529 ipr_cmd->dma_use_sg = qc->n_elem;
35a39691 Brian King 2006-09-25 6530
a32c055f Wayne Boyer 2010-02-19 6531 if (ioa_cfg->sis64)
a32c055f Wayne Boyer 2010-02-19 6532 ipr_build_ata_ioadl64(ipr_cmd, qc);
a32c055f Wayne Boyer 2010-02-19 6533 else
a32c055f Wayne Boyer 2010-02-19 6534 ipr_build_ata_ioadl(ipr_cmd, qc);
a32c055f Wayne Boyer 2010-02-19 6535
35a39691 Brian King 2006-09-25 6536 regs->flags |= IPR_ATA_FLAG_STATUS_ON_GOOD_COMPLETION;
35a39691 Brian King 2006-09-25 6537 ipr_copy_sata_tf(regs, &qc->tf);
35a39691 Brian King 2006-09-25 6538 memcpy(ioarcb->cmd_pkt.cdb, qc->cdb, IPR_MAX_CDB_LEN);
3e7ebdfa Wayne Boyer 2010-02-19 6539 ipr_trc_hook(ipr_cmd, IPR_TRACE_START, IPR_GET_RES_PHYS_LOC(res));
35a39691 Brian King 2006-09-25 6540
35a39691 Brian King 2006-09-25 6541 switch (qc->tf.protocol) {
35a39691 Brian King 2006-09-25 6542 case ATA_PROT_NODATA:
35a39691 Brian King 2006-09-25 6543 case ATA_PROT_PIO:
35a39691 Brian King 2006-09-25 6544 break;
35a39691 Brian King 2006-09-25 6545
35a39691 Brian King 2006-09-25 6546 case ATA_PROT_DMA:
35a39691 Brian King 2006-09-25 6547 regs->flags |= IPR_ATA_FLAG_XFER_TYPE_DMA;
35a39691 Brian King 2006-09-25 6548 break;
35a39691 Brian King 2006-09-25 6549
0dc36888 Tejun Heo 2007-12-18 6550 case ATAPI_PROT_PIO:
0dc36888 Tejun Heo 2007-12-18 6551 case ATAPI_PROT_NODATA:
35a39691 Brian King 2006-09-25 6552 regs->flags |= IPR_ATA_FLAG_PACKET_CMD;
35a39691 Brian King 2006-09-25 6553 break;
35a39691 Brian King 2006-09-25 6554
0dc36888 Tejun Heo 2007-12-18 6555 case ATAPI_PROT_DMA:
35a39691 Brian King 2006-09-25 6556 regs->flags |= IPR_ATA_FLAG_PACKET_CMD;
35a39691 Brian King 2006-09-25 6557 regs->flags |= IPR_ATA_FLAG_XFER_TYPE_DMA;
35a39691 Brian King 2006-09-25 6558 break;
35a39691 Brian King 2006-09-25 6559
35a39691 Brian King 2006-09-25 6560 default:
35a39691 Brian King 2006-09-25 6561 WARN_ON(1);
0feeed82 Brian King 2007-03-29 @6562 return AC_ERR_INVALID;
35a39691 Brian King 2006-09-25 6563 }
35a39691 Brian King 2006-09-25 6564
a32c055f Wayne Boyer 2010-02-19 6565 ipr_send_command(ipr_cmd);
e7ef7307 wenxiong@linux.vnet.ibm.com 2012-12-03 6566 spin_unlock(&ipr_cmd->hrrq->_lock);
a32c055f Wayne Boyer 2010-02-19 6567
35a39691 Brian King 2006-09-25 @6568 return 0;
35a39691 Brian King 2006-09-25 6569 }
35a39691 Brian King 2006-09-25 6570
35a39691 Brian King 2006-09-25 6571 /**
---
0-DAY kernel build testing backend Open Source Technology Center
Fengguang Wu, Yuanhan Liu Intel Corporation
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [scsi:for-next 12/27] drivers/scsi/ipr.c:6568 ipr_qc_issue() warn: inconsistent returns spin_lock:&ipr_cmd->hrrq->_lock: locked (6562) unlocked (6499,6507,6568)
2012-12-17 13:24 [scsi:for-next 12/27] drivers/scsi/ipr.c:6568 ipr_qc_issue() warn: inconsistent returns spin_lock:&ipr_cmd->hrrq->_lock: locked (6562) unlocked (6499,6507,6568) Dan Carpenter
@ 2012-12-20 22:52 ` James Bottomley
0 siblings, 0 replies; 2+ messages in thread
From: James Bottomley @ 2012-12-20 22:52 UTC (permalink / raw)
To: Dan Carpenter
Cc: wenxiong@linux.vnet.ibm.com, linux-scsi@vger.kernel.org,
kbuild@01.org, Hiral Patel
On Mon, 2012-12-17 at 16:24 +0300, Dan Carpenter wrote:
> Hi,
>
> FYI, there are new smatch warnings show up in
>
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
> head: e3ff197a750d2912d0bb2a0161c23c18bad250ad
> commit: e7ef7307d9e2c15802e8ea1da9878e0550ec87bc [12/27] [SCSI] ipr: Reduce lock contention
>
> drivers/scsi/ipr.c:5434 ipr_build_ioadl64() info: why not propagate 'nseg' from scsi_dma_map() instead of (-1)?
> drivers/scsi/ipr.c:5485 ipr_build_ioadl() info: why not propagate 'nseg' from scsi_dma_map() instead of (-1)?
> + drivers/scsi/ipr.c:6568 ipr_qc_issue() warn: inconsistent returns spin_lock:&ipr_cmd->hrrq->_lock: locked (6562) unlocked (6499,6507,6568)
Look, guys, I've got these type of reports on about 50% of the patches
in the misc branch of the SCSI tree. This effectively means I don't
have a tree do do a final pull request on ... unless you'd like to get
off your arses and actually send in some fixes.
James
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-12-20 22:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-17 13:24 [scsi:for-next 12/27] drivers/scsi/ipr.c:6568 ipr_qc_issue() warn: inconsistent returns spin_lock:&ipr_cmd->hrrq->_lock: locked (6562) unlocked (6499,6507,6568) Dan Carpenter
2012-12-20 22:52 ` James Bottomley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).