diff options
author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-03-29 11:22:02 +0000 |
---|---|---|
committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-03-29 11:22:02 +0000 |
commit | 1df0262127ba10f20347daae7ac94c0d44fcd150 (patch) | |
tree | 46ba58b9de91d50dc3a3a879986828866c86f552 /usr/src/uts/common/io/sata/impl/sata.c | |
parent | 451d765fb45021fb191507bcbe46a507f1ec89d9 (diff) | |
parent | 7bb60aaa60bddb378dcbf2dde6bdf8a92d431c55 (diff) | |
download | illumos-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.c | 90 |
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); } |