diff options
author | James Moore <James.Moore@Sun.COM> | 2009-01-22 09:40:30 -0700 |
---|---|---|
committer | James Moore <James.Moore@Sun.COM> | 2009-01-22 09:40:30 -0700 |
commit | 63528ae45fc8c92cddd3c3b0dc846a9be84f44ac (patch) | |
tree | 152608f4a3462555d7fef7cd6f22686579559a70 /usr/src | |
parent | 3669bede4cd1b3f64484a75e325076553beb0eae (diff) | |
download | illumos-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.c | 7 | ||||
-rw-r--r-- | usr/src/uts/common/io/idm/idm_so.c | 7 |
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); } |