summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/sata/impl/sata.c
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2019-03-29 11:22:02 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2019-03-29 11:22:02 +0000
commit1df0262127ba10f20347daae7ac94c0d44fcd150 (patch)
tree46ba58b9de91d50dc3a3a879986828866c86f552 /usr/src/uts/common/io/sata/impl/sata.c
parent451d765fb45021fb191507bcbe46a507f1ec89d9 (diff)
parent7bb60aaa60bddb378dcbf2dde6bdf8a92d431c55 (diff)
downloadillumos-joyent-1df0262127ba10f20347daae7ac94c0d44fcd150.tar.gz
[illumos-gate merge]
commit 7bb60aaa60bddb378dcbf2dde6bdf8a92d431c55 10600 SPARC console needs a different font commit a8d4dbebc34f1d43f5e8d4ef19e126328bb9fb64 10599 SPARC build broken after 9874 commit 8db4cd03c5ec3c9d082190985988a02dc7345619 10111 dat_dictionary_create() use after free commit fc8ae2ec4282de7ec96f48e11078345f3dc0ac3d 10573 define TASKQID_INVALID as (taskq_id)0
Diffstat (limited to 'usr/src/uts/common/io/sata/impl/sata.c')
-rw-r--r--usr/src/uts/common/io/sata/impl/sata.c90
1 files changed, 53 insertions, 37 deletions
diff --git a/usr/src/uts/common/io/sata/impl/sata.c b/usr/src/uts/common/io/sata/impl/sata.c
index 29b7cf2005..55da099035 100644
--- a/usr/src/uts/common/io/sata/impl/sata.c
+++ b/usr/src/uts/common/io/sata/impl/sata.c
@@ -2533,12 +2533,12 @@ sata_scsi_start(struct scsi_address *ap, struct scsi_pkt *pkt)
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
(void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
- NULL) {
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -3259,12 +3259,12 @@ sata_txlt_generic_pkt_info(sata_pkt_txlate_t *spx, int *reason, int flag)
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
(void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
- NULL) {
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -3485,12 +3485,13 @@ sata_txlt_invalid_command(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -3534,12 +3535,13 @@ sata_txlt_check_condition(sata_pkt_txlate_t *spx, uchar_t key, uchar_t code)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -3584,12 +3586,13 @@ sata_txlt_nodata_cmd_immediate(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -3911,12 +3914,13 @@ done:
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -4061,12 +4065,13 @@ sata_txlt_request_sense(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -4154,12 +4159,13 @@ sata_txlt_test_unit_ready(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -4488,12 +4494,13 @@ err_out:
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -4603,12 +4610,13 @@ sata_txlt_read_capacity(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -4785,12 +4793,13 @@ sata_txlt_read_capacity16(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -5234,12 +5243,13 @@ done:
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -5563,12 +5573,13 @@ done:
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -6065,12 +6076,13 @@ done:
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -6799,12 +6811,13 @@ bad_param:
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -7226,12 +7239,13 @@ sata_txlt_lba_out_of_range(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -7368,12 +7382,13 @@ sata_txlt_ata_pass_thru_illegal_cmd(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -7402,7 +7417,7 @@ sata_txlt_unmap_nodata_cmd(sata_pkt_txlate_t *spx)
/* scsi callback required */
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}
@@ -7431,12 +7446,13 @@ sata_emul_rw_completion(sata_pkt_txlate_t *spx)
if (servicing_interrupt()) {
if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_NOSLEEP) ==
+ TASKQID_INVALID) {
return (TRAN_BUSY);
}
} else if (taskq_dispatch(SATA_TXLT_TASKQ(spx),
(task_func_t *)spx->txlt_scsi_pkt->pkt_comp,
- (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == NULL) {
+ (void *)spx->txlt_scsi_pkt, TQ_SLEEP) == TASKQID_INVALID) {
/* Scheduling the callback failed */
return (TRAN_BUSY);
}