summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorJames Moore <James.Moore@Sun.COM>2009-01-22 09:40:30 -0700
committerJames Moore <James.Moore@Sun.COM>2009-01-22 09:40:30 -0700
commit63528ae45fc8c92cddd3c3b0dc846a9be84f44ac (patch)
tree152608f4a3462555d7fef7cd6f22686579559a70 /usr/src
parent3669bede4cd1b3f64484a75e325076553beb0eae (diff)
downloadillumos-gate-63528ae45fc8c92cddd3c3b0dc846a9be84f44ac.tar.gz
6790010 Deadlock in iscsit while running test suite
6795003 iscsit driver should declare a quiesce dev_ops entry 6793707 routine iscsit_send_scsi_status returns IDM_STATUS_FAIL, s/b an stmf status value 6793724 routine iscsit_buf_xfer_cb compares return value from iscsit_send_scsi_status against wrong type
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/comstar/port/iscsit/iscsit.c7
-rw-r--r--usr/src/uts/common/io/idm/idm_so.c7
2 files changed, 7 insertions, 7 deletions
diff --git a/usr/src/uts/common/io/comstar/port/iscsit/iscsit.c b/usr/src/uts/common/io/comstar/port/iscsit/iscsit.c
index 5fd8b7b7c4..bc6ff05a83 100644
--- a/usr/src/uts/common/io/comstar/port/iscsit/iscsit.c
+++ b/usr/src/uts/common/io/comstar/port/iscsit/iscsit.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -99,6 +99,7 @@ static struct dev_ops iscsit_dev_ops = {
&iscsit_cb_ops, /* devo_cb_ops */
NULL, /* devo_bus_ops */
NULL, /* devo_power */
+ ddi_quiesce_not_needed, /* quiesce */
};
static struct modldrv modldrv = {
@@ -1303,7 +1304,7 @@ iscsit_buf_xfer_cb(idm_buf_t *idb, idm_status_t status)
* longer valid.
*/
if (iscsit_send_scsi_status(itask->it_stmf_task, 0)
- != IDM_STATUS_SUCCESS) {
+ != STMF_SUCCESS) {
/* Failed to send status */
dbuf->db_xfer_status = STMF_FAILURE;
stmf_data_xfer_done(itask->it_stmf_task, dbuf,
@@ -1377,7 +1378,7 @@ iscsit_send_scsi_status(scsi_task_t *task, uint32_t ioflags)
} else {
if (itask->it_idm_task->idt_state != TASK_ACTIVE) {
mutex_exit(&itask->it_idm_task->idt_mutex);
- return (IDM_STATUS_FAIL);
+ return (STMF_FAILURE);
}
itask->it_idm_task->idt_state = TASK_COMPLETE;
/* PDU callback releases task hold */
diff --git a/usr/src/uts/common/io/idm/idm_so.c b/usr/src/uts/common/io/idm/idm_so.c
index c868c76ddd..74c25be5c7 100644
--- a/usr/src/uts/common/io/idm/idm_so.c
+++ b/usr/src/uts/common/io/idm/idm_so.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -2096,10 +2096,9 @@ idm_so_buf_rx_from_ini(idm_task_t *idt, idm_buf_t *idb)
mutex_exit(&idt->idt_mutex);
/*
- * Transmit the PDU. Call the internal routine directly as there
- * is already implicit ordering of the PDU.
+ * Transmit the PDU.
*/
- (void) idm_i_so_tx(pdu);
+ idm_pdu_tx(pdu);
return (IDM_STATUS_SUCCESS);
}