io_req 520 arch/um/drivers/ubd_kern.c struct io_thread_req *io_req = (*irq_req_buffer)[count]; io_req 522 arch/um/drivers/ubd_kern.c if ((io_req->error == BLK_STS_NOTSUPP) && (req_op(io_req->req) == REQ_OP_DISCARD)) { io_req 523 arch/um/drivers/ubd_kern.c blk_queue_max_discard_sectors(io_req->req->q, 0); io_req 524 arch/um/drivers/ubd_kern.c blk_queue_max_write_zeroes_sectors(io_req->req->q, 0); io_req 525 arch/um/drivers/ubd_kern.c blk_queue_flag_clear(QUEUE_FLAG_DISCARD, io_req->req->q); io_req 527 arch/um/drivers/ubd_kern.c if ((io_req->error) || (io_req->buffer == NULL)) io_req 528 arch/um/drivers/ubd_kern.c blk_mq_end_request(io_req->req, io_req->error); io_req 530 arch/um/drivers/ubd_kern.c if (!blk_update_request(io_req->req, io_req->error, io_req->length)) io_req 531 arch/um/drivers/ubd_kern.c __blk_mq_end_request(io_req->req, io_req->error); io_req 533 arch/um/drivers/ubd_kern.c kfree(io_req); io_req 1316 arch/um/drivers/ubd_kern.c struct io_thread_req *io_req; io_req 1319 arch/um/drivers/ubd_kern.c io_req = kmalloc(sizeof(struct io_thread_req), GFP_ATOMIC); io_req 1320 arch/um/drivers/ubd_kern.c if (!io_req) io_req 1323 arch/um/drivers/ubd_kern.c io_req->req = req; io_req 1325 arch/um/drivers/ubd_kern.c io_req->fds[0] = dev->cow.fd; io_req 1327 arch/um/drivers/ubd_kern.c io_req->fds[0] = dev->fd; io_req 1328 arch/um/drivers/ubd_kern.c io_req->error = 0; io_req 1331 arch/um/drivers/ubd_kern.c io_req->buffer = page_address(bvec->bv_page) + bvec->bv_offset; io_req 1332 arch/um/drivers/ubd_kern.c io_req->length = bvec->bv_len; io_req 1334 arch/um/drivers/ubd_kern.c io_req->buffer = NULL; io_req 1335 arch/um/drivers/ubd_kern.c io_req->length = blk_rq_bytes(req); io_req 1338 arch/um/drivers/ubd_kern.c io_req->sectorsize = SECTOR_SIZE; io_req 1339 arch/um/drivers/ubd_kern.c io_req->fds[1] = dev->fd; io_req 1340 arch/um/drivers/ubd_kern.c io_req->cow_offset = -1; io_req 1341 arch/um/drivers/ubd_kern.c io_req->offset = off; io_req 1342 arch/um/drivers/ubd_kern.c io_req->sector_mask = 0; io_req 1343 arch/um/drivers/ubd_kern.c io_req->offsets[0] = 0; io_req 1344 arch/um/drivers/ubd_kern.c io_req->offsets[1] = dev->cow.data_offset; io_req 1347 arch/um/drivers/ubd_kern.c cowify_req(io_req, dev->cow.bitmap, io_req 1350 arch/um/drivers/ubd_kern.c ret = os_write_file(thread_fd, &io_req, sizeof(io_req)); io_req 1351 arch/um/drivers/ubd_kern.c if (ret != sizeof(io_req)) { io_req 1354 arch/um/drivers/ubd_kern.c kfree(io_req); io_req 558 drivers/md/dm-bufio.c struct dm_io_request io_req = { io_req 572 drivers/md/dm-bufio.c io_req.mem.type = DM_IO_KMEM; io_req 573 drivers/md/dm-bufio.c io_req.mem.ptr.addr = (char *)b->data + offset; io_req 575 drivers/md/dm-bufio.c io_req.mem.type = DM_IO_VMA; io_req 576 drivers/md/dm-bufio.c io_req.mem.ptr.vma = (char *)b->data + offset; io_req 579 drivers/md/dm-bufio.c r = dm_io(&io_req, 1, ®ion, NULL); io_req 1309 drivers/md/dm-bufio.c struct dm_io_request io_req = { io_req 1324 drivers/md/dm-bufio.c return dm_io(&io_req, 1, &io_reg, NULL); io_req 476 drivers/md/dm-integrity.c struct dm_io_request io_req; io_req 479 drivers/md/dm-integrity.c io_req.bi_op = op; io_req 480 drivers/md/dm-integrity.c io_req.bi_op_flags = op_flags; io_req 481 drivers/md/dm-integrity.c io_req.mem.type = DM_IO_KMEM; io_req 482 drivers/md/dm-integrity.c io_req.mem.ptr.addr = ic->sb; io_req 483 drivers/md/dm-integrity.c io_req.notify.fn = NULL; io_req 484 drivers/md/dm-integrity.c io_req.client = ic->io; io_req 492 drivers/md/dm-integrity.c return dm_io(&io_req, 1, &io_loc, NULL); io_req 938 drivers/md/dm-integrity.c struct dm_io_request io_req; io_req 952 drivers/md/dm-integrity.c io_req.bi_op = op; io_req 953 drivers/md/dm-integrity.c io_req.bi_op_flags = op_flags; io_req 954 drivers/md/dm-integrity.c io_req.mem.type = DM_IO_PAGE_LIST; io_req 956 drivers/md/dm-integrity.c io_req.mem.ptr.pl = &ic->journal_io[pl_index]; io_req 958 drivers/md/dm-integrity.c io_req.mem.ptr.pl = &ic->journal[pl_index]; io_req 959 drivers/md/dm-integrity.c io_req.mem.offset = pl_offset; io_req 961 drivers/md/dm-integrity.c io_req.notify.fn = complete_journal_io; io_req 962 drivers/md/dm-integrity.c io_req.notify.context = comp; io_req 964 drivers/md/dm-integrity.c io_req.notify.fn = NULL; io_req 966 drivers/md/dm-integrity.c io_req.client = ic->io; io_req 971 drivers/md/dm-integrity.c r = dm_io(&io_req, 1, &io_loc, NULL); io_req 1056 drivers/md/dm-integrity.c struct dm_io_request io_req; io_req 1073 drivers/md/dm-integrity.c io_req.bi_op = REQ_OP_WRITE; io_req 1074 drivers/md/dm-integrity.c io_req.bi_op_flags = 0; io_req 1075 drivers/md/dm-integrity.c io_req.mem.type = DM_IO_PAGE_LIST; io_req 1076 drivers/md/dm-integrity.c io_req.mem.ptr.pl = &ic->journal[pl_index]; io_req 1077 drivers/md/dm-integrity.c io_req.mem.offset = pl_offset; io_req 1078 drivers/md/dm-integrity.c io_req.notify.fn = fn; io_req 1079 drivers/md/dm-integrity.c io_req.notify.context = data; io_req 1080 drivers/md/dm-integrity.c io_req.client = ic->io; io_req 1085 drivers/md/dm-integrity.c r = dm_io(&io_req, 1, &io_loc, NULL); io_req 2345 drivers/md/dm-integrity.c struct dm_io_request io_req; io_req 2415 drivers/md/dm-integrity.c io_req.bi_op = REQ_OP_READ; io_req 2416 drivers/md/dm-integrity.c io_req.bi_op_flags = 0; io_req 2417 drivers/md/dm-integrity.c io_req.mem.type = DM_IO_VMA; io_req 2418 drivers/md/dm-integrity.c io_req.mem.ptr.addr = ic->recalc_buffer; io_req 2419 drivers/md/dm-integrity.c io_req.notify.fn = NULL; io_req 2420 drivers/md/dm-integrity.c io_req.client = ic->io; io_req 2425 drivers/md/dm-integrity.c r = dm_io(&io_req, 1, &io_loc, NULL); io_req 492 drivers/md/dm-io.c static int dp_init(struct dm_io_request *io_req, struct dpages *dp, io_req 500 drivers/md/dm-io.c switch (io_req->mem.type) { io_req 502 drivers/md/dm-io.c list_dp_init(dp, io_req->mem.ptr.pl, io_req->mem.offset); io_req 506 drivers/md/dm-io.c bio_dp_init(dp, io_req->mem.ptr.bio); io_req 510 drivers/md/dm-io.c flush_kernel_vmap_range(io_req->mem.ptr.vma, size); io_req 511 drivers/md/dm-io.c if (io_req->bi_op == REQ_OP_READ) { io_req 512 drivers/md/dm-io.c dp->vma_invalidate_address = io_req->mem.ptr.vma; io_req 515 drivers/md/dm-io.c vm_dp_init(dp, io_req->mem.ptr.vma); io_req 519 drivers/md/dm-io.c km_dp_init(dp, io_req->mem.ptr.addr); io_req 537 drivers/md/dm-io.c int dm_io(struct dm_io_request *io_req, unsigned num_regions, io_req 543 drivers/md/dm-io.c r = dp_init(io_req, &dp, (unsigned long)where->count << SECTOR_SHIFT); io_req 547 drivers/md/dm-io.c if (!io_req->notify.fn) io_req 548 drivers/md/dm-io.c return sync_io(io_req->client, num_regions, where, io_req 549 drivers/md/dm-io.c io_req->bi_op, io_req->bi_op_flags, &dp, io_req 552 drivers/md/dm-io.c return async_io(io_req->client, num_regions, where, io_req->bi_op, io_req 553 drivers/md/dm-io.c io_req->bi_op_flags, &dp, io_req->notify.fn, io_req 554 drivers/md/dm-io.c io_req->notify.context); io_req 553 drivers/md/dm-kcopyd.c struct dm_io_request io_req = { io_req 577 drivers/md/dm-kcopyd.c r = dm_io(&io_req, 1, &job->source, NULL); io_req 579 drivers/md/dm-kcopyd.c r = dm_io(&io_req, job->num_dests, job->dests, NULL); io_req 240 drivers/md/dm-log.c struct dm_io_request io_req; io_req 296 drivers/md/dm-log.c lc->io_req.bi_op = op; io_req 297 drivers/md/dm-log.c lc->io_req.bi_op_flags = 0; io_req 299 drivers/md/dm-log.c return dm_io(&lc->io_req, 1, &lc->header_location, NULL); io_req 310 drivers/md/dm-log.c lc->io_req.bi_op = REQ_OP_WRITE; io_req 311 drivers/md/dm-log.c lc->io_req.bi_op_flags = REQ_PREFLUSH; io_req 313 drivers/md/dm-log.c return dm_io(&lc->io_req, 1, &null_location, NULL); io_req 459 drivers/md/dm-log.c lc->io_req.mem.type = DM_IO_VMA; io_req 460 drivers/md/dm-log.c lc->io_req.notify.fn = NULL; io_req 461 drivers/md/dm-log.c lc->io_req.client = dm_io_client_create(); io_req 462 drivers/md/dm-log.c if (IS_ERR(lc->io_req.client)) { io_req 463 drivers/md/dm-log.c r = PTR_ERR(lc->io_req.client); io_req 472 drivers/md/dm-log.c dm_io_client_destroy(lc->io_req.client); io_req 477 drivers/md/dm-log.c lc->io_req.mem.ptr.vma = lc->disk_header; io_req 490 drivers/md/dm-log.c dm_io_client_destroy(lc->io_req.client); io_req 505 drivers/md/dm-log.c dm_io_client_destroy(lc->io_req.client); io_req 572 drivers/md/dm-log.c dm_io_client_destroy(lc->io_req.client); io_req 262 drivers/md/dm-raid1.c struct dm_io_request io_req = { io_req 277 drivers/md/dm-raid1.c dm_io(&io_req, ms->nr_mirrors, io, &error_bits); io_req 537 drivers/md/dm-raid1.c struct dm_io_request io_req = { io_req 549 drivers/md/dm-raid1.c BUG_ON(dm_io(&io_req, 1, &io, NULL)); io_req 651 drivers/md/dm-raid1.c struct dm_io_request io_req = { io_req 662 drivers/md/dm-raid1.c io_req.bi_op = REQ_OP_DISCARD; io_req 663 drivers/md/dm-raid1.c io_req.mem.type = DM_IO_KMEM; io_req 664 drivers/md/dm-raid1.c io_req.mem.ptr.addr = NULL; io_req 676 drivers/md/dm-raid1.c BUG_ON(dm_io(&io_req, ms->nr_mirrors, io, NULL)); io_req 214 drivers/md/dm-snap-persistent.c struct dm_io_request *io_req; io_req 223 drivers/md/dm-snap-persistent.c req->result = dm_io(req->io_req, 1, req->where, NULL); io_req 237 drivers/md/dm-snap-persistent.c struct dm_io_request io_req = { io_req 248 drivers/md/dm-snap-persistent.c return dm_io(&io_req, 1, &where, NULL); io_req 251 drivers/md/dm-snap-persistent.c req.io_req = &io_req; io_req 409 drivers/scsi/bnx2fc/bnx2fc.h struct bnx2fc_cmd *io_req; io_req 476 drivers/scsi/bnx2fc/bnx2fc.h struct bnx2fc_cmd *io_req; io_req 527 drivers/scsi/bnx2fc/bnx2fc.h int bnx2fc_initiate_cleanup(struct bnx2fc_cmd *io_req); io_req 528 drivers/scsi/bnx2fc/bnx2fc.h int bnx2fc_initiate_abts(struct bnx2fc_cmd *io_req); io_req 529 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_cmd_timer_set(struct bnx2fc_cmd *io_req, io_req 531 drivers/scsi/bnx2fc/bnx2fc.h int bnx2fc_init_mp_req(struct bnx2fc_cmd *io_req); io_req 532 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_init_cleanup_task(struct bnx2fc_cmd *io_req, io_req 539 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_init_mp_task(struct bnx2fc_cmd *io_req, io_req 541 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_init_task(struct bnx2fc_cmd *io_req, io_req 551 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, io_req 554 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_process_cleanup_compl(struct bnx2fc_cmd *io_req, io_req 557 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_process_abts_compl(struct bnx2fc_cmd *io_req, io_req 560 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_process_tm_compl(struct bnx2fc_cmd *io_req, io_req 566 drivers/scsi/bnx2fc/bnx2fc.h void bnx2fc_build_fcp_cmnd(struct bnx2fc_cmd *io_req, io_req 587 drivers/scsi/bnx2fc/bnx2fc.h int bnx2fc_post_io_req(struct bnx2fc_rport *tgt, struct bnx2fc_cmd *io_req); io_req 17 drivers/scsi/bnx2fc/bnx2fc_debug.c void BNX2FC_IO_DBG(const struct bnx2fc_cmd *io_req, const char *fmt, ...) io_req 30 drivers/scsi/bnx2fc/bnx2fc_debug.c if (io_req && io_req->port && io_req->port->lport && io_req 31 drivers/scsi/bnx2fc/bnx2fc_debug.c io_req->port->lport->host) io_req 32 drivers/scsi/bnx2fc/bnx2fc_debug.c shost_printk(KERN_INFO, io_req->port->lport->host, io_req 34 drivers/scsi/bnx2fc/bnx2fc_debug.c io_req->xid, &vaf); io_req 41 drivers/scsi/bnx2fc/bnx2fc_debug.h void BNX2FC_IO_DBG(const struct bnx2fc_cmd *io_req, const char *fmt, ...); io_req 35 drivers/scsi/bnx2fc/bnx2fc_els.c rrq_req = cb_arg->io_req; io_req 138 drivers/scsi/bnx2fc/bnx2fc_els.c els_req = cb_arg->io_req; io_req 279 drivers/scsi/bnx2fc/bnx2fc_els.c srr_req = cb_arg->io_req; io_req 399 drivers/scsi/bnx2fc/bnx2fc_els.c rec_req = cb_arg->io_req; io_req 715 drivers/scsi/bnx2fc/bnx2fc_els.c cb_arg->io_req = els_req; io_req 635 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct bnx2fc_cmd *io_req = NULL; io_req 714 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req = (struct bnx2fc_cmd *)hba->cmd_mgr->cmds[xid]; io_req 715 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (!io_req) io_req 718 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (io_req->cmd_type != BNX2FC_SCSI_CMD) { io_req 724 drivers/scsi/bnx2fc/bnx2fc_hwi.c &io_req->req_flags)) { io_req 725 drivers/scsi/bnx2fc/bnx2fc_hwi.c BNX2FC_IO_DBG(io_req, "unsol_err: cleanup in " io_req 747 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (test_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags)) { io_req 764 drivers/scsi/bnx2fc/bnx2fc_hwi.c memcpy(&io_req->err_entry, err_entry, io_req 767 drivers/scsi/bnx2fc/bnx2fc_hwi.c &io_req->req_flags)) { io_req 769 drivers/scsi/bnx2fc/bnx2fc_hwi.c rc = bnx2fc_send_rec(io_req); io_req 783 drivers/scsi/bnx2fc/bnx2fc_hwi.c set_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags); io_req 788 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 789 drivers/scsi/bnx2fc/bnx2fc_hwi.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 791 drivers/scsi/bnx2fc/bnx2fc_hwi.c rc = bnx2fc_initiate_abts(io_req); io_req 795 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->xid); io_req 796 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_initiate_cleanup(io_req); io_req 838 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req = (struct bnx2fc_cmd *)hba->cmd_mgr->cmds[xid]; io_req 839 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (!io_req) io_req 842 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (io_req->cmd_type != BNX2FC_SCSI_CMD) { io_req 847 drivers/scsi/bnx2fc/bnx2fc_hwi.c memcpy(&io_req->err_entry, err_entry, io_req 873 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct bnx2fc_cmd *io_req; io_req 896 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req = (struct bnx2fc_cmd *)hba->cmd_mgr->cmds[xid]; io_req 898 drivers/scsi/bnx2fc/bnx2fc_hwi.c if (io_req == NULL) { io_req 905 drivers/scsi/bnx2fc/bnx2fc_hwi.c cmd_type = io_req->cmd_type; io_req 915 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_scsi_cmd_compl(io_req, task, num_rq); io_req 921 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_abts_compl(io_req, task, num_rq); io_req 924 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_cleanup_compl(io_req, task, num_rq); io_req 931 drivers/scsi/bnx2fc/bnx2fc_hwi.c BNX2FC_IO_DBG(io_req, "Processing TM complete\n"); io_req 932 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_tm_compl(io_req, task, num_rq); io_req 941 drivers/scsi/bnx2fc/bnx2fc_hwi.c BNX2FC_IO_DBG(io_req, "cq_compl- ABTS sent out by fw\n"); io_req 942 drivers/scsi/bnx2fc/bnx2fc_hwi.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 947 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_els_compl(io_req, task, num_rq); io_req 949 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_abts_compl(io_req, task, num_rq); io_req 952 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_cleanup_compl(io_req, task, num_rq); io_req 959 drivers/scsi/bnx2fc/bnx2fc_hwi.c BNX2FC_IO_DBG(io_req, "cq_compl- cleanup resp rcvd\n"); io_req 960 drivers/scsi/bnx2fc/bnx2fc_hwi.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 964 drivers/scsi/bnx2fc/bnx2fc_hwi.c BNX2FC_IO_DBG(io_req, "cq_compl(0x%x) - seq cleanup resp\n", io_req 965 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->xid); io_req 966 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_process_seq_cleanup_compl(io_req, task, rx_state); io_req 967 drivers/scsi/bnx2fc/bnx2fc_hwi.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1533 drivers/scsi/bnx2fc/bnx2fc_hwi.c void bnx2fc_init_cleanup_task(struct bnx2fc_cmd *io_req, io_req 1538 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1571 drivers/scsi/bnx2fc/bnx2fc_hwi.c void bnx2fc_init_mp_task(struct bnx2fc_cmd *io_req, io_req 1574 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct bnx2fc_mp_req *mp_req = &(io_req->mp_req); io_req 1575 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1585 drivers/scsi/bnx2fc/bnx2fc_hwi.c if ((io_req->cmd_type == BNX2FC_TASK_MGMT_CMD) || io_req 1586 drivers/scsi/bnx2fc/bnx2fc_hwi.c (io_req->cmd_type == BNX2FC_ELS)) { io_req 1588 drivers/scsi/bnx2fc/bnx2fc_hwi.c } else if (io_req->cmd_type == BNX2FC_ABTS) { io_req 1595 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->task = task; io_req 1597 drivers/scsi/bnx2fc/bnx2fc_hwi.c BNX2FC_IO_DBG(io_req, "Init MP task for cmd_type = %d task_type = %d\n", io_req 1598 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->cmd_type, task_type); io_req 1630 drivers/scsi/bnx2fc/bnx2fc_hwi.c task->rxwr_txrd.const_ctx.data_2_trns = io_req->data_xfer_len; io_req 1642 drivers/scsi/bnx2fc/bnx2fc_hwi.c fc_hdr->fh_ox_id = cpu_to_be16(io_req->xid); io_req 1646 drivers/scsi/bnx2fc/bnx2fc_hwi.c fc_hdr->fh_rx_id = cpu_to_be16(io_req->xid); io_req 1667 drivers/scsi/bnx2fc/bnx2fc_hwi.c void bnx2fc_init_task(struct bnx2fc_cmd *io_req, io_req 1671 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 1672 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct io_bdt *bd_tbl = io_req->bd_tbl; io_req 1673 drivers/scsi/bnx2fc/bnx2fc_hwi.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1686 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->task = task; io_req 1730 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->rec_retry = 0; io_req 1731 drivers/scsi/bnx2fc/bnx2fc_hwi.c io_req->rec_retry = 0; io_req 1748 drivers/scsi/bnx2fc/bnx2fc_hwi.c bnx2fc_build_fcp_cmnd(io_req, (struct fcp_cmnd *)&tmp_fcp_cmnd); io_req 1759 drivers/scsi/bnx2fc/bnx2fc_hwi.c task->rxwr_txrd.const_ctx.data_2_trns = io_req->data_xfer_len; io_req 19 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_split_bd(struct bnx2fc_cmd *io_req, u64 addr, int sg_len, io_req 21 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_map_sg(struct bnx2fc_cmd *io_req); io_req 22 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_build_bd_list_from_sg(struct bnx2fc_cmd *io_req); io_req 23 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_unmap_sg_list(struct bnx2fc_cmd *io_req); io_req 24 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_free_mp_resc(struct bnx2fc_cmd *io_req); io_req 25 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_parse_fcp_rsp(struct bnx2fc_cmd *io_req, io_req 29 drivers/scsi/bnx2fc/bnx2fc_io.c void bnx2fc_cmd_timer_set(struct bnx2fc_cmd *io_req, io_req 32 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_interface *interface = io_req->port->priv; io_req 35 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->timeout_work, io_req 37 drivers/scsi/bnx2fc/bnx2fc_io.c kref_get(&io_req->refcount); io_req 42 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req = container_of(work, struct bnx2fc_cmd, io_req 44 drivers/scsi/bnx2fc/bnx2fc_io.c u8 cmd_type = io_req->cmd_type; io_req 45 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 48 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "cmd_timeout, cmd_type = %d," io_req 49 drivers/scsi/bnx2fc/bnx2fc_io.c "req_flags = %lx\n", cmd_type, io_req->req_flags); io_req 52 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_and_clear_bit(BNX2FC_FLAG_ISSUE_RRQ, &io_req->req_flags)) { io_req 53 drivers/scsi/bnx2fc/bnx2fc_io.c clear_bit(BNX2FC_FLAG_RETIRE_OXID, &io_req->req_flags); io_req 59 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_send_rrq(io_req); io_req 62 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_and_clear_bit(BNX2FC_FLAG_RETIRE_OXID, &io_req->req_flags)) { io_req 63 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "IO ready for reuse now\n"); io_req 70 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) { io_req 72 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "eh_abort timed out\n"); io_req 73 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->abts_done); io_req 75 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) { io_req 77 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "ABTS timed out refcnt = %d\n", io_req 78 drivers/scsi/bnx2fc/bnx2fc_io.c kref_read(&io_req->refcount)); io_req 80 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags))) { io_req 85 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_cleanup(io_req); io_req 86 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 93 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "IO timed out. issue ABTS\n"); io_req 95 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) { io_req 96 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "IO completed before " io_req 102 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) { io_req 103 drivers/scsi/bnx2fc/bnx2fc_io.c rc = bnx2fc_initiate_abts(io_req); io_req 107 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 112 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "IO already in " io_req 119 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags)) { io_req 120 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "ABTS for ELS timed out\n"); io_req 123 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) { io_req 124 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 136 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "ELS timed out\n"); io_req 138 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) io_req 142 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_ELS_TIMEOUT, &io_req->req_flags); io_req 144 drivers/scsi/bnx2fc/bnx2fc_io.c if ((io_req->cb_func) && (io_req->cb_arg)) { io_req 145 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cb_func(io_req->cb_arg); io_req 146 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cb_arg = NULL; io_req 158 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 162 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_scsi_done(struct bnx2fc_cmd *io_req, int err_code) io_req 165 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 172 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cmd_type != BNX2FC_SCSI_CMD) io_req 175 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "scsi_done. err_code = 0x%x\n", err_code); io_req 176 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_bit(BNX2FC_FLAG_CMD_LOST, &io_req->req_flags)) { io_req 181 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_unmap_sg_list(io_req); io_req 182 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->sc_cmd = NULL; io_req 188 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->xid); io_req 192 drivers/scsi/bnx2fc/bnx2fc_io.c pr_err(PFX "0x%x: sc_cmd->device is NULL.\n", io_req->xid); io_req 197 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->xid); io_req 203 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "sc=%p, result=0x%x, retries=%d, allowed=%d\n", io_req 215 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req; io_req 275 drivers/scsi/bnx2fc/bnx2fc_io.c io_req = kzalloc(sizeof(*io_req), GFP_KERNEL); io_req 277 drivers/scsi/bnx2fc/bnx2fc_io.c if (!io_req) { io_req 282 drivers/scsi/bnx2fc/bnx2fc_io.c INIT_LIST_HEAD(&io_req->link); io_req 283 drivers/scsi/bnx2fc/bnx2fc_io.c INIT_DELAYED_WORK(&io_req->timeout_work, bnx2fc_cmd_timeout); io_req 285 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->xid = xid++; io_req 287 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, io_req 288 drivers/scsi/bnx2fc/bnx2fc_io.c &cmgr->free_list[io_req->xid % io_req 291 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, io_req 293 drivers/scsi/bnx2fc/bnx2fc_io.c io_req++; io_req 380 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *tmp, *io_req; io_req 382 drivers/scsi/bnx2fc/bnx2fc_io.c list_for_each_entry_safe(io_req, tmp, io_req 384 drivers/scsi/bnx2fc/bnx2fc_io.c list_del(&io_req->link); io_req 385 drivers/scsi/bnx2fc/bnx2fc_io.c kfree(io_req); io_req 399 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req; io_req 440 drivers/scsi/bnx2fc/bnx2fc_io.c io_req = (struct bnx2fc_cmd *) listp; io_req 441 drivers/scsi/bnx2fc/bnx2fc_io.c xid = io_req->xid; io_req 442 drivers/scsi/bnx2fc/bnx2fc_io.c cmd_mgr->cmds[xid] = io_req; io_req 447 drivers/scsi/bnx2fc/bnx2fc_io.c INIT_LIST_HEAD(&io_req->link); io_req 449 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->port = port; io_req 450 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cmd_mgr = cmd_mgr; io_req 451 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->req_flags = 0; io_req 452 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cmd_type = type; io_req 456 drivers/scsi/bnx2fc/bnx2fc_io.c bd_tbl = io_req->bd_tbl = cmd_mgr->io_bdt_pool[xid]; io_req 457 drivers/scsi/bnx2fc/bnx2fc_io.c bd_tbl->io_req = io_req; io_req 460 drivers/scsi/bnx2fc/bnx2fc_io.c kref_init(&io_req->refcount); io_req 461 drivers/scsi/bnx2fc/bnx2fc_io.c return io_req; io_req 469 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req; io_req 495 drivers/scsi/bnx2fc/bnx2fc_io.c io_req = (struct bnx2fc_cmd *) listp; io_req 496 drivers/scsi/bnx2fc/bnx2fc_io.c xid = io_req->xid; io_req 497 drivers/scsi/bnx2fc/bnx2fc_io.c cmd_mgr->cmds[xid] = io_req; io_req 503 drivers/scsi/bnx2fc/bnx2fc_io.c INIT_LIST_HEAD(&io_req->link); io_req 505 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->port = port; io_req 506 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cmd_mgr = cmd_mgr; io_req 507 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->req_flags = 0; io_req 511 drivers/scsi/bnx2fc/bnx2fc_io.c bd_tbl = io_req->bd_tbl = cmd_mgr->io_bdt_pool[xid]; io_req 512 drivers/scsi/bnx2fc/bnx2fc_io.c bd_tbl->io_req = io_req; io_req 515 drivers/scsi/bnx2fc/bnx2fc_io.c kref_init(&io_req->refcount); io_req 516 drivers/scsi/bnx2fc/bnx2fc_io.c return io_req; io_req 521 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req = container_of(ref, io_req 523 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd_mgr *cmd_mgr = io_req->cmd_mgr; io_req 526 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cmd_type == BNX2FC_SCSI_CMD) io_req 527 drivers/scsi/bnx2fc/bnx2fc_io.c index = io_req->xid % num_possible_cpus(); io_req 533 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cmd_type != BNX2FC_SCSI_CMD) io_req 534 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_free_mp_resc(io_req); io_req 535 drivers/scsi/bnx2fc/bnx2fc_io.c cmd_mgr->cmds[io_req->xid] = NULL; io_req 537 drivers/scsi/bnx2fc/bnx2fc_io.c list_del_init(&io_req->link); io_req 539 drivers/scsi/bnx2fc/bnx2fc_io.c list_add(&io_req->link, io_req 541 drivers/scsi/bnx2fc/bnx2fc_io.c atomic_dec(&io_req->tgt->num_active_ios); io_req 546 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_free_mp_resc(struct bnx2fc_cmd *io_req) io_req 548 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_mp_req *mp_req = &(io_req->mp_req); io_req 549 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_interface *interface = io_req->port->priv; io_req 581 drivers/scsi/bnx2fc/bnx2fc_io.c int bnx2fc_init_mp_req(struct bnx2fc_cmd *io_req) io_req 586 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_interface *interface = io_req->port->priv; io_req 591 drivers/scsi/bnx2fc/bnx2fc_io.c mp_req = (struct bnx2fc_mp_req *)&(io_req->mp_req); io_req 594 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cmd_type != BNX2FC_ELS) { io_req 596 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->data_xfer_len = mp_req->req_len; io_req 598 drivers/scsi/bnx2fc/bnx2fc_io.c mp_req->req_len = io_req->data_xfer_len; io_req 605 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_free_mp_resc(io_req); io_req 614 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_free_mp_resc(io_req); io_req 627 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_free_mp_resc(io_req); io_req 635 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_free_mp_resc(io_req); io_req 669 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req; io_req 712 drivers/scsi/bnx2fc/bnx2fc_io.c io_req = bnx2fc_elstm_alloc(tgt, BNX2FC_TASK_MGMT_CMD); io_req 713 drivers/scsi/bnx2fc/bnx2fc_io.c if (!io_req) { io_req 723 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->sc_cmd = sc_cmd; io_req 724 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->port = port; io_req 725 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->tgt = tgt; io_req 727 drivers/scsi/bnx2fc/bnx2fc_io.c tm_req = (struct bnx2fc_mp_req *)&(io_req->mp_req); io_req 729 drivers/scsi/bnx2fc/bnx2fc_io.c rc = bnx2fc_init_mp_req(io_req); io_req 733 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 739 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->io_req_flags = 0; io_req 743 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_build_fcp_cmnd(io_req, (struct fcp_cmnd *)tm_req->req_buf); io_req 756 drivers/scsi/bnx2fc/bnx2fc_io.c xid = io_req->xid; io_req 766 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_init_mp_task(io_req, task); io_req 768 drivers/scsi/bnx2fc/bnx2fc_io.c sc_cmd->SCp.ptr = (char *)io_req; io_req 775 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_tmf_queue = 1; io_req 776 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, &tgt->active_tm_queue); io_req 778 drivers/scsi/bnx2fc/bnx2fc_io.c init_completion(&io_req->abts_done); io_req 779 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_abts_comp = 1; io_req 785 drivers/scsi/bnx2fc/bnx2fc_io.c rc = wait_for_completion_timeout(&io_req->abts_done, io_req 789 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_abts_comp = 0; io_req 790 drivers/scsi/bnx2fc/bnx2fc_io.c if (!(test_bit(BNX2FC_FLAG_TM_COMPL, &io_req->req_flags))) { io_req 791 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_TM_TIMEOUT, &io_req->req_flags); io_req 792 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->on_tmf_queue) { io_req 793 drivers/scsi/bnx2fc/bnx2fc_io.c list_del_init(&io_req->link); io_req 794 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_tmf_queue = 0; io_req 796 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_cleanup_comp = 1; io_req 797 drivers/scsi/bnx2fc/bnx2fc_io.c init_completion(&io_req->cleanup_done); io_req 798 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_cleanup(io_req); io_req 800 drivers/scsi/bnx2fc/bnx2fc_io.c rc = wait_for_completion_timeout(&io_req->cleanup_done, io_req 803 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_cleanup_comp = 0; io_req 805 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 821 drivers/scsi/bnx2fc/bnx2fc_io.c int bnx2fc_initiate_abts(struct bnx2fc_cmd *io_req) io_req 824 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 841 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered bnx2fc_initiate_abts\n"); io_req 843 drivers/scsi/bnx2fc/bnx2fc_io.c port = io_req->port; io_req 885 drivers/scsi/bnx2fc/bnx2fc_io.c fc_hdr->fh_ox_id = htons(io_req->xid); io_req 886 drivers/scsi/bnx2fc/bnx2fc_io.c fc_hdr->fh_rx_id = htons(io_req->task->rxwr_txrd.var_ctx.rx_id); io_req 918 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_cmd_timer_set(io_req, 2 * r_a_tov); io_req 981 drivers/scsi/bnx2fc/bnx2fc_io.c cb_arg->io_req = seq_clnp_req; io_req 998 drivers/scsi/bnx2fc/bnx2fc_io.c int bnx2fc_initiate_cleanup(struct bnx2fc_cmd *io_req) io_req 1000 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1011 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered bnx2fc_initiate_cleanup\n"); io_req 1013 drivers/scsi/bnx2fc/bnx2fc_io.c port = io_req->port; io_req 1038 drivers/scsi/bnx2fc/bnx2fc_io.c orig_xid = io_req->xid; io_req 1040 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "CLEANUP io_req xid = 0x%x\n", xid); io_req 1048 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_ISSUE_CLEANUP_REQ, &io_req->req_flags); io_req 1083 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_abts_cleanup(struct bnx2fc_cmd *io_req) io_req 1085 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1088 drivers/scsi/bnx2fc/bnx2fc_io.c init_completion(&io_req->cleanup_done); io_req 1089 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_cleanup_comp = 1; io_req 1090 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_cleanup(io_req); io_req 1098 drivers/scsi/bnx2fc/bnx2fc_io.c time_left = wait_for_completion_timeout(&io_req->cleanup_done, io_req 1101 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "%s(): Wait for cleanup timed out.\n", io_req 1108 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1112 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_cleanup_comp = 0; io_req 1128 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req; io_req 1149 drivers/scsi/bnx2fc/bnx2fc_io.c io_req = (struct bnx2fc_cmd *)sc_cmd->SCp.ptr; io_req 1150 drivers/scsi/bnx2fc/bnx2fc_io.c if (!io_req) { io_req 1156 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "eh_abort - refcnt = %d\n", io_req 1157 drivers/scsi/bnx2fc/bnx2fc_io.c kref_read(&io_req->refcount)); io_req 1160 drivers/scsi/bnx2fc/bnx2fc_io.c kref_get(&io_req->refcount); io_req 1162 drivers/scsi/bnx2fc/bnx2fc_io.c BUG_ON(tgt != io_req->tgt); io_req 1172 drivers/scsi/bnx2fc/bnx2fc_io.c "flush in progress\n", io_req->xid); io_req 1173 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1178 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->on_active_queue == 0) { io_req 1180 drivers/scsi/bnx2fc/bnx2fc_io.c "not on active_q\n", io_req->xid); io_req 1196 drivers/scsi/bnx2fc/bnx2fc_io.c list_del_init(&io_req->link); io_req 1197 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_active_queue = 0; io_req 1199 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, &tgt->io_retire_queue); io_req 1201 drivers/scsi/bnx2fc/bnx2fc_io.c init_completion(&io_req->abts_done); io_req 1202 drivers/scsi/bnx2fc/bnx2fc_io.c init_completion(&io_req->cleanup_done); io_req 1204 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_and_set_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags)) { io_req 1206 drivers/scsi/bnx2fc/bnx2fc_io.c "already in abts processing\n", io_req->xid); io_req 1207 drivers/scsi/bnx2fc/bnx2fc_io.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 1208 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, io_req 1215 drivers/scsi/bnx2fc/bnx2fc_io.c rc = bnx2fc_abts_cleanup(io_req); io_req 1221 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_IO_CLEANUP, &io_req->req_flags); io_req 1226 drivers/scsi/bnx2fc/bnx2fc_io.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 1227 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, io_req 1229 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_EH_ABORT, &io_req->req_flags); io_req 1230 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_abts_comp = 1; io_req 1231 drivers/scsi/bnx2fc/bnx2fc_io.c rc = bnx2fc_initiate_abts(io_req); io_req 1233 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_cleanup_comp = 1; io_req 1234 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_cleanup(io_req); io_req 1236 drivers/scsi/bnx2fc/bnx2fc_io.c wait_for_completion(&io_req->cleanup_done); io_req 1238 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_cleanup_comp = 0; io_req 1244 drivers/scsi/bnx2fc/bnx2fc_io.c time_left = wait_for_completion_timeout(&io_req->abts_done, io_req 1247 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, io_req 1251 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->wait_for_abts_comp = 0; io_req 1252 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_bit(BNX2FC_FLAG_IO_COMPL, &io_req->req_flags)) { io_req 1253 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "IO completed in a different context\n"); io_req 1256 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags))) { io_req 1259 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->xid); io_req 1264 drivers/scsi/bnx2fc/bnx2fc_io.c rc = bnx2fc_abts_cleanup(io_req); io_req 1272 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "abort succeeded\n"); io_req 1274 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_scsi_done(io_req, DID_ABORT); io_req 1275 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1279 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1319 drivers/scsi/bnx2fc/bnx2fc_io.c void bnx2fc_process_cleanup_compl(struct bnx2fc_cmd *io_req, io_req 1323 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered process_cleanup_compl " io_req 1325 drivers/scsi/bnx2fc/bnx2fc_io.c kref_read(&io_req->refcount), io_req->cmd_type); io_req 1331 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) io_req 1338 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags) && io_req 1339 drivers/scsi/bnx2fc/bnx2fc_io.c !test_bit(BNX2FC_FLAG_ABTS_DONE, &io_req->req_flags)) { io_req 1340 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_ABTS_DONE, &io_req->req_flags); io_req 1341 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->wait_for_abts_comp) io_req 1342 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->abts_done); io_req 1345 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_scsi_done(io_req, DID_ERROR); io_req 1346 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1347 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->wait_for_cleanup_comp) io_req 1348 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->cleanup_done); io_req 1351 drivers/scsi/bnx2fc/bnx2fc_io.c void bnx2fc_process_abts_compl(struct bnx2fc_cmd *io_req, io_req 1358 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1360 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered process_abts_compl xid = 0x%x" io_req 1362 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->xid, io_req 1363 drivers/scsi/bnx2fc/bnx2fc_io.c kref_read(&io_req->refcount), io_req->cmd_type); io_req 1366 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) { io_req 1367 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Timer context finished processing" io_req 1376 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_bit(BNX2FC_FLAG_ISSUE_CLEANUP_REQ, &io_req->req_flags)) { io_req 1377 drivers/scsi/bnx2fc/bnx2fc_io.c clear_bit(BNX2FC_FLAG_ISSUE_CLEANUP_REQ, &io_req->req_flags); io_req 1378 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->wait_for_cleanup_comp) io_req 1379 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->cleanup_done); io_req 1384 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) io_req 1393 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags)) io_req 1394 drivers/scsi/bnx2fc/bnx2fc_io.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 1395 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, io_req 1406 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "ABTS response - ACC Send RRQ\n"); io_req 1411 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "ABTS response - RJT\n"); io_req 1419 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Issue RRQ after R_A_TOV\n"); io_req 1420 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_ISSUE_RRQ, &io_req->req_flags); io_req 1422 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_RETIRE_OXID, &io_req->req_flags); io_req 1423 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_cmd_timer_set(io_req, r_a_tov); io_req 1426 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->wait_for_abts_comp) { io_req 1428 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) io_req 1429 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->abts_done); io_req 1440 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->on_active_queue) { io_req 1441 drivers/scsi/bnx2fc/bnx2fc_io.c list_del_init(&io_req->link); io_req 1442 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_active_queue = 0; io_req 1444 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, &tgt->io_retire_queue); io_req 1446 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_scsi_done(io_req, DID_ERROR); io_req 1447 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1451 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_lun_reset_cmpl(struct bnx2fc_cmd *io_req) io_req 1453 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 1454 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1461 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered bnx2fc_lun_reset_cmpl\n"); io_req 1474 drivers/scsi/bnx2fc/bnx2fc_io.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 1475 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, io_req 1489 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_tgt_reset_cmpl(struct bnx2fc_cmd *io_req) io_req 1491 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1496 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered bnx2fc_tgt_reset_cmpl\n"); io_req 1507 drivers/scsi/bnx2fc/bnx2fc_io.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 1508 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, io_req 1520 drivers/scsi/bnx2fc/bnx2fc_io.c void bnx2fc_process_tm_compl(struct bnx2fc_cmd *io_req, io_req 1525 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 1531 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Entered process_tm_compl\n"); io_req 1533 drivers/scsi/bnx2fc/bnx2fc_io.c if (!(test_bit(BNX2FC_FLAG_TM_TIMEOUT, &io_req->req_flags))) io_req 1534 drivers/scsi/bnx2fc/bnx2fc_io.c set_bit(BNX2FC_FLAG_TM_COMPL, &io_req->req_flags); io_req 1543 drivers/scsi/bnx2fc/bnx2fc_io.c tm_req = &(io_req->mp_req); io_req 1558 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_parse_fcp_rsp(io_req, io_req 1561 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->fcp_rsp_code == 0) { io_req 1564 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_lun_reset_cmpl(io_req); io_req 1566 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_tgt_reset_cmpl(io_req); io_req 1576 drivers/scsi/bnx2fc/bnx2fc_io.c switch (io_req->fcp_status) { io_req 1578 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cdb_status == 0) { io_req 1583 drivers/scsi/bnx2fc/bnx2fc_io.c sc_cmd->result = (DID_OK << 16) | io_req->cdb_status; io_req 1585 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->fcp_resid) io_req 1586 drivers/scsi/bnx2fc/bnx2fc_io.c scsi_set_resid(sc_cmd, io_req->fcp_resid); io_req 1590 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "process_tm_compl: fcp_status = %d\n", io_req 1591 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_status); io_req 1595 drivers/scsi/bnx2fc/bnx2fc_io.c sc_cmd = io_req->sc_cmd; io_req 1596 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->sc_cmd = NULL; io_req 1599 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->on_tmf_queue) { io_req 1601 drivers/scsi/bnx2fc/bnx2fc_io.c list_del_init(&io_req->link); io_req 1602 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_tmf_queue = 0; io_req 1612 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 1613 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->wait_for_abts_comp) { io_req 1614 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "tm_compl - wake up the waiter\n"); io_req 1615 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->abts_done); io_req 1619 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_split_bd(struct bnx2fc_cmd *io_req, u64 addr, int sg_len, io_req 1622 drivers/scsi/bnx2fc/bnx2fc_io.c struct fcoe_bd_ctx *bd = io_req->bd_tbl->bd_tbl; io_req 1644 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_map_sg(struct bnx2fc_cmd *io_req) io_req 1646 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_interface *interface = io_req->port->priv; io_req 1648 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc = io_req->sc_cmd; io_req 1649 drivers/scsi/bnx2fc/bnx2fc_io.c struct fcoe_bd_ctx *bd = io_req->bd_tbl->bd_tbl; io_req 1670 drivers/scsi/bnx2fc/bnx2fc_io.c sg_frags = bnx2fc_split_bd(io_req, addr, sg_len, io_req 1686 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->xid); io_req 1690 drivers/scsi/bnx2fc/bnx2fc_io.c static int bnx2fc_build_bd_list_from_sg(struct bnx2fc_cmd *io_req) io_req 1692 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc = io_req->sc_cmd; io_req 1693 drivers/scsi/bnx2fc/bnx2fc_io.c struct fcoe_bd_ctx *bd = io_req->bd_tbl->bd_tbl; io_req 1697 drivers/scsi/bnx2fc/bnx2fc_io.c bd_count = bnx2fc_map_sg(io_req); io_req 1705 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->bd_tbl->bd_valid = bd_count; io_req 1713 drivers/scsi/bnx2fc/bnx2fc_io.c bd_count, io_req->xid); io_req 1720 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_unmap_sg_list(struct bnx2fc_cmd *io_req) io_req 1722 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc = io_req->sc_cmd; io_req 1723 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_interface *interface = io_req->port->priv; io_req 1730 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->bd_tbl->bd_valid && sc && scsi_sg_count(sc)) { io_req 1733 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->bd_tbl->bd_valid = 0; io_req 1737 drivers/scsi/bnx2fc/bnx2fc_io.c void bnx2fc_build_fcp_cmnd(struct bnx2fc_cmd *io_req, io_req 1740 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 1746 drivers/scsi/bnx2fc/bnx2fc_io.c fcp_cmnd->fc_dl = htonl(io_req->data_xfer_len); io_req 1751 drivers/scsi/bnx2fc/bnx2fc_io.c fcp_cmnd->fc_tm_flags = io_req->mp_req.tm_flags; io_req 1752 drivers/scsi/bnx2fc/bnx2fc_io.c fcp_cmnd->fc_flags = io_req->io_req_flags; io_req 1756 drivers/scsi/bnx2fc/bnx2fc_io.c static void bnx2fc_parse_fcp_rsp(struct bnx2fc_cmd *io_req, io_req 1760 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 1761 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1770 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_status = FC_GOOD; io_req 1771 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_resid = 0; io_req 1774 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_resid = fcp_rsp->fcp_resid; io_req 1776 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->scsi_comp_flags = rsp_flags; io_req 1777 drivers/scsi/bnx2fc/bnx2fc_io.c CMD_SCSI_STATUS(sc_cmd) = io_req->cdb_status = io_req 1801 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_rsp_len = fcp_rsp_len; io_req 1802 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_sns_len = fcp_sns_len; io_req 1823 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_rsp_code = rq_data[3]; io_req 1824 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "fcp_rsp_code = %d\n", io_req 1825 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_rsp_code); io_req 1861 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req; io_req 1900 drivers/scsi/bnx2fc/bnx2fc_io.c io_req = bnx2fc_cmd_alloc(tgt); io_req 1901 drivers/scsi/bnx2fc/bnx2fc_io.c if (!io_req) { io_req 1905 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->sc_cmd = sc_cmd; io_req 1907 drivers/scsi/bnx2fc/bnx2fc_io.c if (bnx2fc_post_io_req(tgt, io_req)) { io_req 1919 drivers/scsi/bnx2fc/bnx2fc_io.c void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, io_req 1924 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_rport *tgt = io_req->tgt; io_req 1930 drivers/scsi/bnx2fc/bnx2fc_io.c if (test_and_set_bit(BNX2FC_FLAG_IO_COMPL, &io_req->req_flags)) { io_req 1932 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "Timer context finished processing " io_req 1938 drivers/scsi/bnx2fc/bnx2fc_io.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 1939 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, io_req 1942 drivers/scsi/bnx2fc/bnx2fc_io.c sc_cmd = io_req->sc_cmd; io_req 1953 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_parse_fcp_rsp(io_req, fcp_rsp, num_rq); io_req 1960 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->on_active_queue) { io_req 1961 drivers/scsi/bnx2fc/bnx2fc_io.c list_del_init(&io_req->link); io_req 1962 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_active_queue = 0; io_req 1964 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, &tgt->io_retire_queue); io_req 1970 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "xid not on active_cmd_queue\n"); io_req 1971 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->wait_for_abts_comp) io_req 1973 drivers/scsi/bnx2fc/bnx2fc_io.c &io_req->req_flags)) io_req 1974 drivers/scsi/bnx2fc/bnx2fc_io.c complete(&io_req->abts_done); io_req 1977 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_unmap_sg_list(io_req); io_req 1978 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->sc_cmd = NULL; io_req 1980 drivers/scsi/bnx2fc/bnx2fc_io.c switch (io_req->fcp_status) { io_req 1982 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cdb_status == 0) { io_req 1987 drivers/scsi/bnx2fc/bnx2fc_io.c BNX2FC_IO_DBG(io_req, "scsi_cmpl: cdb_status = %d" io_req 1989 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cdb_status, io_req->fcp_resid); io_req 1990 drivers/scsi/bnx2fc/bnx2fc_io.c sc_cmd->result = (DID_OK << 16) | io_req->cdb_status; io_req 1992 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->cdb_status == SAM_STAT_TASK_SET_FULL || io_req 1993 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cdb_status == SAM_STAT_BUSY) { io_req 2019 drivers/scsi/bnx2fc/bnx2fc_io.c if (io_req->fcp_resid) io_req 2020 drivers/scsi/bnx2fc/bnx2fc_io.c scsi_set_resid(sc_cmd, io_req->fcp_resid); io_req 2024 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->fcp_status); io_req 2029 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 2033 drivers/scsi/bnx2fc/bnx2fc_io.c struct bnx2fc_cmd *io_req) io_req 2037 drivers/scsi/bnx2fc/bnx2fc_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 2049 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->cmd_type = BNX2FC_SCSI_CMD; io_req 2050 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->port = port; io_req 2051 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->tgt = tgt; io_req 2052 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->data_xfer_len = scsi_bufflen(sc_cmd); io_req 2053 drivers/scsi/bnx2fc/bnx2fc_io.c sc_cmd->SCp.ptr = (char *)io_req; io_req 2057 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->io_req_flags = BNX2FC_READ; io_req 2059 drivers/scsi/bnx2fc/bnx2fc_io.c stats->InputBytes += io_req->data_xfer_len; io_req 2061 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->io_req_flags = BNX2FC_WRITE; io_req 2063 drivers/scsi/bnx2fc/bnx2fc_io.c stats->OutputBytes += io_req->data_xfer_len; io_req 2065 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->io_req_flags = 0; io_req 2070 drivers/scsi/bnx2fc/bnx2fc_io.c xid = io_req->xid; io_req 2073 drivers/scsi/bnx2fc/bnx2fc_io.c if (bnx2fc_build_bd_list_from_sg(io_req)) { io_req 2075 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 2085 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_init_task(io_req, task); io_req 2089 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 2095 drivers/scsi/bnx2fc/bnx2fc_io.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 2101 drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_cmd_timer_set(io_req, BNX2FC_IO_TIMEOUT); io_req 2107 drivers/scsi/bnx2fc/bnx2fc_io.c io_req->on_active_queue = 1; io_req 2109 drivers/scsi/bnx2fc/bnx2fc_io.c list_add_tail(&io_req->link, &tgt->active_cmd_queue); io_req 168 drivers/scsi/bnx2fc/bnx2fc_tgt.c struct bnx2fc_cmd *io_req; io_req 178 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_for_each_entry_safe(io_req, tmp, &tgt->active_cmd_queue, link) { io_req 180 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_del_init(&io_req->link); io_req 181 drivers/scsi/bnx2fc/bnx2fc_tgt.c io_req->on_active_queue = 0; io_req 182 drivers/scsi/bnx2fc/bnx2fc_tgt.c BNX2FC_IO_DBG(io_req, "cmd_queue cleanup\n"); io_req 184 drivers/scsi/bnx2fc/bnx2fc_tgt.c if (cancel_delayed_work(&io_req->timeout_work)) { io_req 186 drivers/scsi/bnx2fc/bnx2fc_tgt.c &io_req->req_flags)) { io_req 188 drivers/scsi/bnx2fc/bnx2fc_tgt.c BNX2FC_IO_DBG(io_req, "eh_abort for IO " io_req 190 drivers/scsi/bnx2fc/bnx2fc_tgt.c complete(&io_req->abts_done); io_req 192 drivers/scsi/bnx2fc/bnx2fc_tgt.c kref_put(&io_req->refcount, io_req 196 drivers/scsi/bnx2fc/bnx2fc_tgt.c set_bit(BNX2FC_FLAG_IO_COMPL, &io_req->req_flags); io_req 197 drivers/scsi/bnx2fc/bnx2fc_tgt.c set_bit(BNX2FC_FLAG_IO_CLEANUP, &io_req->req_flags); io_req 201 drivers/scsi/bnx2fc/bnx2fc_tgt.c bnx2fc_process_cleanup_compl(io_req, io_req->task, 0); io_req 203 drivers/scsi/bnx2fc/bnx2fc_tgt.c rc = bnx2fc_initiate_cleanup(io_req); io_req 208 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_for_each_entry_safe(io_req, tmp, &tgt->active_tm_queue, link) { io_req 210 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_del_init(&io_req->link); io_req 211 drivers/scsi/bnx2fc/bnx2fc_tgt.c io_req->on_tmf_queue = 0; io_req 212 drivers/scsi/bnx2fc/bnx2fc_tgt.c BNX2FC_IO_DBG(io_req, "tm_queue cleanup\n"); io_req 213 drivers/scsi/bnx2fc/bnx2fc_tgt.c if (io_req->wait_for_abts_comp) io_req 214 drivers/scsi/bnx2fc/bnx2fc_tgt.c complete(&io_req->abts_done); io_req 217 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_for_each_entry_safe(io_req, tmp, &tgt->els_queue, link) { io_req 219 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_del_init(&io_req->link); io_req 220 drivers/scsi/bnx2fc/bnx2fc_tgt.c io_req->on_active_queue = 0; io_req 222 drivers/scsi/bnx2fc/bnx2fc_tgt.c BNX2FC_IO_DBG(io_req, "els_queue cleanup\n"); io_req 224 drivers/scsi/bnx2fc/bnx2fc_tgt.c if (cancel_delayed_work(&io_req->timeout_work)) io_req 225 drivers/scsi/bnx2fc/bnx2fc_tgt.c kref_put(&io_req->refcount, io_req 228 drivers/scsi/bnx2fc/bnx2fc_tgt.c if ((io_req->cb_func) && (io_req->cb_arg)) { io_req 229 drivers/scsi/bnx2fc/bnx2fc_tgt.c io_req->cb_func(io_req->cb_arg); io_req 230 drivers/scsi/bnx2fc/bnx2fc_tgt.c io_req->cb_arg = NULL; io_req 235 drivers/scsi/bnx2fc/bnx2fc_tgt.c bnx2fc_process_cleanup_compl(io_req, io_req->task, 0); io_req 237 drivers/scsi/bnx2fc/bnx2fc_tgt.c rc = bnx2fc_initiate_cleanup(io_req); io_req 242 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_for_each_entry_safe(io_req, tmp, &tgt->io_retire_queue, link) { io_req 244 drivers/scsi/bnx2fc/bnx2fc_tgt.c list_del_init(&io_req->link); io_req 246 drivers/scsi/bnx2fc/bnx2fc_tgt.c BNX2FC_IO_DBG(io_req, "retire_queue flush\n"); io_req 248 drivers/scsi/bnx2fc/bnx2fc_tgt.c if (cancel_delayed_work(&io_req->timeout_work)) { io_req 250 drivers/scsi/bnx2fc/bnx2fc_tgt.c &io_req->req_flags)) { io_req 252 drivers/scsi/bnx2fc/bnx2fc_tgt.c BNX2FC_IO_DBG(io_req, "eh_abort for IO " io_req 254 drivers/scsi/bnx2fc/bnx2fc_tgt.c if (io_req->wait_for_abts_comp) io_req 255 drivers/scsi/bnx2fc/bnx2fc_tgt.c complete(&io_req->abts_done); io_req 257 drivers/scsi/bnx2fc/bnx2fc_tgt.c kref_put(&io_req->refcount, bnx2fc_cmd_release); io_req 260 drivers/scsi/bnx2fc/bnx2fc_tgt.c clear_bit(BNX2FC_FLAG_ISSUE_RRQ, &io_req->req_flags); io_req 4087 drivers/scsi/csiostor/csio_hw.c csio_mgmt_req_lookup(struct csio_mgmtm *mgmtm, struct csio_ioreq *io_req) io_req 4093 drivers/scsi/csiostor/csio_hw.c if (io_req == (struct csio_ioreq *)tmp) io_req 4112 drivers/scsi/csiostor/csio_hw.c struct csio_ioreq *io_req; io_req 4119 drivers/scsi/csiostor/csio_hw.c io_req = (struct csio_ioreq *) tmp; io_req 4120 drivers/scsi/csiostor/csio_hw.c io_req->tmo -= min_t(uint32_t, io_req->tmo, ECM_MIN_TMO); io_req 4122 drivers/scsi/csiostor/csio_hw.c if (!io_req->tmo) { io_req 4125 drivers/scsi/csiostor/csio_hw.c list_del_init(&io_req->sm.sm_list); io_req 4126 drivers/scsi/csiostor/csio_hw.c if (io_req->io_cbfn) { io_req 4128 drivers/scsi/csiostor/csio_hw.c io_req->wr_status = -ETIMEDOUT; io_req 4129 drivers/scsi/csiostor/csio_hw.c io_req->io_cbfn(mgmtm->hw, io_req); io_req 4147 drivers/scsi/csiostor/csio_hw.c struct csio_ioreq *io_req; io_req 4161 drivers/scsi/csiostor/csio_hw.c io_req = (struct csio_ioreq *) tmp; io_req 4163 drivers/scsi/csiostor/csio_hw.c list_del_init(&io_req->sm.sm_list); io_req 4165 drivers/scsi/csiostor/csio_hw.c if (io_req->io_cbfn) { io_req 4167 drivers/scsi/csiostor/csio_hw.c io_req->wr_status = -ETIMEDOUT; io_req 4168 drivers/scsi/csiostor/csio_hw.c io_req->io_cbfn(mgmtm->hw, io_req); io_req 1436 drivers/scsi/csiostor/csio_lnode.c struct csio_ioreq *io_req = NULL; io_req 1449 drivers/scsi/csiostor/csio_lnode.c io_req = (struct csio_ioreq *) ((uintptr_t) wr_cmd->cookie); io_req 1450 drivers/scsi/csiostor/csio_lnode.c io_req->wr_status = csio_wr_status(wr_cmd); io_req 1454 drivers/scsi/csiostor/csio_lnode.c if (csio_mgmt_req_lookup(mgmtm, io_req) != 0) { io_req 1457 drivers/scsi/csiostor/csio_lnode.c io_req); io_req 1466 drivers/scsi/csiostor/csio_lnode.c list_del_init(&io_req->sm.sm_list); io_req 1471 drivers/scsi/csiostor/csio_lnode.c if (io_req->io_cbfn) io_req 1472 drivers/scsi/csiostor/csio_lnode.c io_req->io_cbfn(hw, io_req); io_req 1681 drivers/scsi/csiostor/csio_lnode.c csio_ln_prep_ecwr(struct csio_ioreq *io_req, uint32_t wr_len, io_req 1698 drivers/scsi/csiostor/csio_lnode.c wr->cookie = io_req->fw_handle; io_req 1700 drivers/scsi/csiostor/csio_lnode.c io_req->lnode->hwp, io_req->iq_idx)); io_req 1702 drivers/scsi/csiostor/csio_lnode.c wr->tmo_val = (uint8_t) io_req->tmo; io_req 1709 drivers/scsi/csiostor/csio_lnode.c wr->rsp_dmalen = cpu_to_be32(io_req->dma_buf.len); io_req 1710 drivers/scsi/csiostor/csio_lnode.c wr->rsp_dmaaddr = cpu_to_be64(io_req->dma_buf.paddr); io_req 1725 drivers/scsi/csiostor/csio_lnode.c csio_ln_mgmt_submit_wr(struct csio_mgmtm *mgmtm, struct csio_ioreq *io_req, io_req 1730 drivers/scsi/csiostor/csio_lnode.c struct csio_lnode *ln = io_req->lnode; io_req 1731 drivers/scsi/csiostor/csio_lnode.c struct csio_rnode *rn = io_req->rnode; io_req 1758 drivers/scsi/csiostor/csio_lnode.c io_req, ret); io_req 1763 drivers/scsi/csiostor/csio_lnode.c csio_ln_prep_ecwr(io_req, wr_size, im_len, sub_op, io_req 1806 drivers/scsi/csiostor/csio_lnode.c csio_ln_mgmt_submit_req(struct csio_ioreq *io_req, io_req 1811 drivers/scsi/csiostor/csio_lnode.c struct csio_hw *hw = csio_lnode_to_hw(io_req->lnode); io_req 1817 drivers/scsi/csiostor/csio_lnode.c io_req->io_cbfn = io_cbfn; /* Upper layer callback handler */ io_req 1818 drivers/scsi/csiostor/csio_lnode.c io_req->fw_handle = (uintptr_t) (io_req); io_req 1819 drivers/scsi/csiostor/csio_lnode.c io_req->eq_idx = mgmtm->eq_idx; io_req 1820 drivers/scsi/csiostor/csio_lnode.c io_req->iq_idx = mgmtm->iq_idx; io_req 1822 drivers/scsi/csiostor/csio_lnode.c rv = csio_ln_mgmt_submit_wr(mgmtm, io_req, req_type, pld, pld_len); io_req 1824 drivers/scsi/csiostor/csio_lnode.c list_add_tail(&io_req->sm.sm_list, &mgmtm->active_q); io_req 125 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req, io_req 128 drivers/scsi/fnic/fnic_scsi.c if (io_req->sgl_list_pa) io_req 129 drivers/scsi/fnic/fnic_scsi.c dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, io_req 130 drivers/scsi/fnic/fnic_scsi.c sizeof(io_req->sgl_list[0]) * io_req->sgl_cnt, io_req 134 drivers/scsi/fnic/fnic_scsi.c if (io_req->sgl_cnt) io_req 135 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req->sgl_list_alloc, io_req 136 drivers/scsi/fnic/fnic_scsi.c fnic->io_sgl_pool[io_req->sgl_type]); io_req 137 drivers/scsi/fnic/fnic_scsi.c if (io_req->sense_buf_pa) io_req 138 drivers/scsi/fnic/fnic_scsi.c dma_unmap_single(&fnic->pdev->dev, io_req->sense_buf_pa, io_req 318 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req, io_req 335 drivers/scsi/fnic/fnic_scsi.c desc = io_req->sgl_list; io_req 343 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_list_pa = dma_map_single(&fnic->pdev->dev, io_req 344 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_list, io_req 345 drivers/scsi/fnic/fnic_scsi.c sizeof(io_req->sgl_list[0]) * sg_count, io_req 347 drivers/scsi/fnic/fnic_scsi.c if (dma_mapping_error(&fnic->pdev->dev, io_req->sgl_list_pa)) { io_req 353 drivers/scsi/fnic/fnic_scsi.c io_req->sense_buf_pa = dma_map_single(&fnic->pdev->dev, io_req 357 drivers/scsi/fnic/fnic_scsi.c if (dma_mapping_error(&fnic->pdev->dev, io_req->sense_buf_pa)) { io_req 358 drivers/scsi/fnic/fnic_scsi.c dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, io_req 359 drivers/scsi/fnic/fnic_scsi.c sizeof(io_req->sgl_list[0]) * sg_count, io_req 393 drivers/scsi/fnic/fnic_scsi.c 0, exch_flags, io_req->sgl_cnt, io_req 395 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_list_pa, io_req 396 drivers/scsi/fnic/fnic_scsi.c io_req->sense_buf_pa, io_req 403 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req->port_id, io_req 426 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req = NULL; io_req 501 drivers/scsi/fnic/fnic_scsi.c io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); io_req 502 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 507 drivers/scsi/fnic/fnic_scsi.c memset(io_req, 0, sizeof(*io_req)); io_req 515 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 520 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_cnt = sg_count; io_req 521 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_type = FNIC_SGL_CACHE_DFLT; io_req 523 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_type = FNIC_SGL_CACHE_MAX; io_req 526 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_list = io_req 527 drivers/scsi/fnic/fnic_scsi.c mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], io_req 529 drivers/scsi/fnic/fnic_scsi.c if (!io_req->sgl_list) { io_req 533 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 538 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_list_alloc = io_req->sgl_list; io_req 539 drivers/scsi/fnic/fnic_scsi.c ptr = (unsigned long) io_req->sgl_list; io_req 541 drivers/scsi/fnic/fnic_scsi.c io_req->sgl_list = (struct host_sg_desc *) io_req 557 drivers/scsi/fnic/fnic_scsi.c io_req->port_id = rport->port_id; io_req 558 drivers/scsi/fnic/fnic_scsi.c io_req->start_time = jiffies; io_req 560 drivers/scsi/fnic/fnic_scsi.c CMD_SP(sc) = (char *)io_req; io_req 566 drivers/scsi/fnic/fnic_scsi.c ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); io_req 575 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 579 drivers/scsi/fnic/fnic_scsi.c if (io_req) { io_req 580 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 581 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 605 drivers/scsi/fnic/fnic_scsi.c sc->request->tag, sc, io_req, io_req 828 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 870 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 871 drivers/scsi/fnic/fnic_scsi.c WARN_ON_ONCE(!io_req); io_req 872 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 882 drivers/scsi/fnic/fnic_scsi.c start_time = io_req->start_time; io_req 885 drivers/scsi/fnic/fnic_scsi.c io_req->io_completed = 1; io_req 996 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 998 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 1030 drivers/scsi/fnic/fnic_scsi.c io_duration_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); io_req 1067 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 1097 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1098 drivers/scsi/fnic/fnic_scsi.c WARN_ON_ONCE(!io_req); io_req 1099 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 1109 drivers/scsi/fnic/fnic_scsi.c start_time = io_req->start_time; io_req 1120 drivers/scsi/fnic/fnic_scsi.c if (io_req->abts_done) io_req 1121 drivers/scsi/fnic/fnic_scsi.c complete(io_req->abts_done); io_req 1181 drivers/scsi/fnic/fnic_scsi.c if (io_req->abts_done) { io_req 1182 drivers/scsi/fnic/fnic_scsi.c complete(io_req->abts_done); io_req 1192 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 1193 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 1255 drivers/scsi/fnic/fnic_scsi.c if (io_req->dr_done) io_req 1256 drivers/scsi/fnic/fnic_scsi.c complete(io_req->dr_done); io_req 1364 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 1383 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1391 drivers/scsi/fnic/fnic_scsi.c if (io_req && io_req->dr_done) io_req 1392 drivers/scsi/fnic/fnic_scsi.c complete(io_req->dr_done); io_req 1393 drivers/scsi/fnic/fnic_scsi.c else if (io_req && io_req->abts_done) io_req 1394 drivers/scsi/fnic/fnic_scsi.c complete(io_req->abts_done); io_req 1401 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 1414 drivers/scsi/fnic/fnic_scsi.c start_time = io_req->start_time; io_req 1415 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 1416 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 1456 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 1477 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1481 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 1490 drivers/scsi/fnic/fnic_scsi.c start_time = io_req->start_time; io_req 1491 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 1492 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 1514 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req) io_req 1544 drivers/scsi/fnic/fnic_scsi.c 0, task_req, tag, fc_lun, io_req->port_id, io_req 1564 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 1591 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1593 drivers/scsi/fnic/fnic_scsi.c if (!io_req || io_req->port_id != port_id) { io_req 1615 drivers/scsi/fnic/fnic_scsi.c if (io_req->abts_done) { io_req 1640 drivers/scsi/fnic/fnic_scsi.c BUG_ON(io_req->abts_done); io_req 1652 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req)) { io_req 1684 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 1742 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1744 drivers/scsi/fnic/fnic_scsi.c if (!io_req || rport != cmd_rport) { io_req 1765 drivers/scsi/fnic/fnic_scsi.c if (io_req->abts_done) { io_req 1788 drivers/scsi/fnic/fnic_scsi.c BUG_ON(io_req->abts_done); io_req 1801 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req)) { io_req 1837 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req = NULL; io_req 1892 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1893 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 1898 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = &tm_done; io_req 1905 drivers/scsi/fnic/fnic_scsi.c abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); io_req 1951 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req)) { io_req 1955 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1956 drivers/scsi/fnic/fnic_scsi.c if (io_req) io_req 1957 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = NULL; io_req 1984 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 1985 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 1992 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = NULL; io_req 2020 drivers/scsi/fnic/fnic_scsi.c start_time = io_req->start_time; io_req 2036 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 2037 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 2068 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req) io_req 2104 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req->port_id, io_req 2132 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 2155 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2157 drivers/scsi/fnic/fnic_scsi.c if (!io_req || sc->device != lun_dev) { io_req 2183 drivers/scsi/fnic/fnic_scsi.c if (io_req->abts_done) io_req 2197 drivers/scsi/fnic/fnic_scsi.c BUG_ON(io_req->abts_done); io_req 2207 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = &tm_done; io_req 2215 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req)) { io_req 2217 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2218 drivers/scsi/fnic/fnic_scsi.c if (io_req) io_req 2219 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = NULL; io_req 2239 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2240 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 2246 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = NULL; io_req 2264 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 2265 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 2330 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req = NULL; io_req 2388 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2394 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 2395 drivers/scsi/fnic/fnic_scsi.c io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); io_req 2396 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 2400 drivers/scsi/fnic/fnic_scsi.c memset(io_req, 0, sizeof(*io_req)); io_req 2401 drivers/scsi/fnic/fnic_scsi.c io_req->port_id = rport->port_id; io_req 2402 drivers/scsi/fnic/fnic_scsi.c CMD_SP(sc) = (char *)io_req; io_req 2404 drivers/scsi/fnic/fnic_scsi.c io_req->dr_done = &tm_done; io_req 2415 drivers/scsi/fnic/fnic_scsi.c if (fnic_queue_dr_io_req(fnic, sc, io_req)) { io_req 2417 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2418 drivers/scsi/fnic/fnic_scsi.c if (io_req) io_req 2419 drivers/scsi/fnic/fnic_scsi.c io_req->dr_done = NULL; io_req 2434 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2435 drivers/scsi/fnic/fnic_scsi.c if (!io_req) { io_req 2441 drivers/scsi/fnic/fnic_scsi.c io_req->dr_done = NULL; io_req 2470 drivers/scsi/fnic/fnic_scsi.c fc_lun.scsi_lun, io_req)) { io_req 2477 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = &tm_done; io_req 2493 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2494 drivers/scsi/fnic/fnic_scsi.c io_req->abts_done = NULL; io_req 2508 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2521 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2530 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2531 drivers/scsi/fnic/fnic_scsi.c if (io_req) io_req 2536 drivers/scsi/fnic/fnic_scsi.c if (io_req) io_req 2541 drivers/scsi/fnic/fnic_scsi.c if (io_req) { io_req 2542 drivers/scsi/fnic/fnic_scsi.c start_time = io_req->start_time; io_req 2543 drivers/scsi/fnic/fnic_scsi.c fnic_release_ioreq_buf(fnic, io_req, sc); io_req 2544 drivers/scsi/fnic/fnic_scsi.c mempool_free(io_req, fnic->io_req_pool); io_req 2786 drivers/scsi/fnic/fnic_scsi.c struct fnic_io_req *io_req; io_req 2809 drivers/scsi/fnic/fnic_scsi.c io_req = (struct fnic_io_req *)CMD_SP(sc); io_req 2811 drivers/scsi/fnic/fnic_scsi.c if (!io_req || sc->device != lun_dev) { io_req 3822 drivers/scsi/megaraid/megaraid_sas_fusion.c struct MPI2_RAID_SCSI_IO_REQUEST *io_req; io_req 3844 drivers/scsi/megaraid/megaraid_sas_fusion.c io_req = cmd->io_request; io_req 3848 drivers/scsi/megaraid/megaraid_sas_fusion.c (struct MPI25_IEEE_SGE_CHAIN64 *)&io_req->SGL; io_req 3854 drivers/scsi/megaraid/megaraid_sas_fusion.c (struct MPI25_IEEE_SGE_CHAIN64 *)&io_req->SGL.IeeeChain; io_req 3856 drivers/scsi/megaraid/megaraid_sas_fusion.c io_req->Function = MEGASAS_MPI2_FUNCTION_PASSTHRU_IO_REQUEST; io_req 3857 drivers/scsi/megaraid/megaraid_sas_fusion.c io_req->SGLOffset0 = offsetof(struct MPI2_RAID_SCSI_IO_REQUEST, io_req 3859 drivers/scsi/megaraid/megaraid_sas_fusion.c io_req->ChainOffset = fusion->chain_offset_mfi_pthru; io_req 75 drivers/scsi/qedf/qedf.h struct qedf_ioreq *io_req; io_req 423 drivers/scsi/qedf/qedf.h struct qedf_ioreq *io_req; io_req 484 drivers/scsi/qedf/qedf.h struct qedf_ioreq *io_req); io_req 486 drivers/scsi/qedf/qedf.h struct fcoe_cqe *cqe, struct qedf_ioreq *io_req); io_req 488 drivers/scsi/qedf/qedf.h struct fcoe_cqe *cqe, struct qedf_ioreq *io_req); io_req 491 drivers/scsi/qedf/qedf.h extern int qedf_initiate_abts(struct qedf_ioreq *io_req, io_req 494 drivers/scsi/qedf/qedf.h struct qedf_ioreq *io_req); io_req 499 drivers/scsi/qedf/qedf.h extern void qedf_cmd_timer_set(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, io_req 501 drivers/scsi/qedf/qedf.h extern int qedf_init_mp_req(struct qedf_ioreq *io_req); io_req 502 drivers/scsi/qedf/qedf.h extern void qedf_init_mp_task(struct qedf_ioreq *io_req, io_req 510 drivers/scsi/qedf/qedf.h extern int qedf_initiate_cleanup(struct qedf_ioreq *io_req, io_req 513 drivers/scsi/qedf/qedf.h struct fcoe_cqe *cqe, struct qedf_ioreq *io_req); io_req 516 drivers/scsi/qedf/qedf.h struct qedf_ioreq *io_req); io_req 518 drivers/scsi/qedf/qedf.h extern void qedf_scsi_done(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, io_req 530 drivers/scsi/qedf/qedf.h struct qedf_ioreq *io_req); io_req 532 drivers/scsi/qedf/qedf.h struct fcoe_cqe *cqe, struct qedf_ioreq *io_req); io_req 72 drivers/scsi/qedf/qedf_els.c cb_arg->io_req = els_req; io_req 175 drivers/scsi/qedf/qedf_els.c rrq_req = cb_arg->io_req; io_req 415 drivers/scsi/qedf/qedf_els.c els_req = cb_arg->io_req; io_req 537 drivers/scsi/qedf/qedf_els.c srr_req = cb_arg->io_req; io_req 729 drivers/scsi/qedf/qedf_els.c struct fcoe_cqe *cqe, struct qedf_ioreq *io_req) io_req 734 drivers/scsi/qedf/qedf_els.c cb_arg = io_req->cb_arg; io_req 737 drivers/scsi/qedf/qedf_els.c if (io_req->event == QEDF_IOREQ_EV_ELS_TMO || !cqe) { io_req 739 drivers/scsi/qedf/qedf_els.c "cqe is NULL or timeout event (0x%x)", io_req->event); io_req 744 drivers/scsi/qedf/qedf_els.c cancel_delayed_work_sync(&io_req->timeout_work); io_req 746 drivers/scsi/qedf/qedf_els.c rc = qedf_send_srr(io_req, cb_arg->offset, cb_arg->r_ctl); io_req 749 drivers/scsi/qedf/qedf_els.c "abort, xid=0x%x.\n", io_req->xid); io_req 752 drivers/scsi/qedf/qedf_els.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 838 drivers/scsi/qedf/qedf_els.c rec_req = cb_arg->io_req; io_req 11 drivers/scsi/qedf/qedf_io.c void qedf_cmd_timer_set(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, io_req 14 drivers/scsi/qedf/qedf_io.c queue_delayed_work(qedf->timer_work_queue, &io_req->timeout_work, io_req 21 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req = io_req 27 drivers/scsi/qedf/qedf_io.c if (io_req == NULL) { io_req 32 drivers/scsi/qedf/qedf_io.c fcport = io_req->fcport; io_req 33 drivers/scsi/qedf/qedf_io.c if (io_req->fcport == NULL) { io_req 40 drivers/scsi/qedf/qedf_io.c switch (io_req->cmd_type) { io_req 45 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 50 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 52 drivers/scsi/qedf/qedf_io.c qedf_initiate_cleanup(io_req, true); io_req 53 drivers/scsi/qedf/qedf_io.c complete(&io_req->abts_done); io_req 60 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 63 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_ABORT, &io_req->flags); io_req 75 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 79 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 81 drivers/scsi/qedf/qedf_io.c kref_get(&io_req->refcount); io_req 88 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 89 drivers/scsi/qedf/qedf_io.c io_req->event = QEDF_IOREQ_EV_ELS_TMO; io_req 91 drivers/scsi/qedf/qedf_io.c if (io_req->cb_func && io_req->cb_arg) { io_req 92 drivers/scsi/qedf/qedf_io.c op = io_req->cb_arg->op; io_req 93 drivers/scsi/qedf/qedf_io.c io_req->cb_func(io_req->cb_arg); io_req 94 drivers/scsi/qedf/qedf_io.c io_req->cb_arg = NULL; io_req 96 drivers/scsi/qedf/qedf_io.c qedf_initiate_cleanup(io_req, true); io_req 97 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 101 drivers/scsi/qedf/qedf_io.c "xid=0x%x.\n", io_req->xid); io_req 102 drivers/scsi/qedf/qedf_io.c qedf_initiate_cleanup(io_req, true); io_req 103 drivers/scsi/qedf/qedf_io.c io_req->event = QEDF_IOREQ_EV_ELS_TMO; io_req 104 drivers/scsi/qedf/qedf_io.c qedf_process_seq_cleanup_compl(qedf, NULL, io_req); io_req 108 drivers/scsi/qedf/qedf_io.c "Hit default case, xid=0x%x.\n", io_req->xid); io_req 122 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req; io_req 154 drivers/scsi/qedf/qedf_io.c io_req = &cmgr->cmds[i]; io_req 155 drivers/scsi/qedf/qedf_io.c kfree(io_req->sgl_task_params); io_req 156 drivers/scsi/qedf/qedf_io.c kfree(io_req->task_params); io_req 158 drivers/scsi/qedf/qedf_io.c if (io_req->sense_buffer) io_req 160 drivers/scsi/qedf/qedf_io.c QEDF_SCSI_SENSE_BUFFERSIZE, io_req->sense_buffer, io_req 161 drivers/scsi/qedf/qedf_io.c io_req->sense_buffer_dma); io_req 162 drivers/scsi/qedf/qedf_io.c cancel_delayed_work_sync(&io_req->rrq_work); io_req 171 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req = io_req 174 drivers/scsi/qedf/qedf_io.c atomic_set(&io_req->state, QEDFC_CMD_ST_RRQ_ACTIVE); io_req 175 drivers/scsi/qedf/qedf_io.c qedf_send_rrq(io_req); io_req 183 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req; io_req 222 drivers/scsi/qedf/qedf_io.c io_req = &cmgr->cmds[i]; io_req 223 drivers/scsi/qedf/qedf_io.c INIT_DELAYED_WORK(&io_req->timeout_work, qedf_cmd_timeout); io_req 225 drivers/scsi/qedf/qedf_io.c io_req->xid = xid++; io_req 227 drivers/scsi/qedf/qedf_io.c INIT_DELAYED_WORK(&io_req->rrq_work, qedf_handle_rrq); io_req 230 drivers/scsi/qedf/qedf_io.c io_req->sense_buffer = dma_alloc_coherent(&qedf->pdev->dev, io_req 231 drivers/scsi/qedf/qedf_io.c QEDF_SCSI_SENSE_BUFFERSIZE, &io_req->sense_buffer_dma, io_req 233 drivers/scsi/qedf/qedf_io.c if (!io_req->sense_buffer) { io_req 240 drivers/scsi/qedf/qedf_io.c io_req->task_params = kzalloc(sizeof(*io_req->task_params), io_req 242 drivers/scsi/qedf/qedf_io.c if (!io_req->task_params) { io_req 253 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params = kzalloc( io_req 255 drivers/scsi/qedf/qedf_io.c if (!io_req->sgl_task_params) { io_req 309 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req = NULL; io_req 344 drivers/scsi/qedf/qedf_io.c io_req = &cmd_mgr->cmds[cmd_mgr->idx]; io_req 350 drivers/scsi/qedf/qedf_io.c if (!io_req->alloc) io_req 359 drivers/scsi/qedf/qedf_io.c if (test_bit(QEDF_CMD_DIRTY, &io_req->flags)) io_req 362 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 365 drivers/scsi/qedf/qedf_io.c io_req->flags = 0; io_req 366 drivers/scsi/qedf/qedf_io.c io_req->alloc = 1; io_req 371 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 374 drivers/scsi/qedf/qedf_io.c io_req->cmd_mgr = cmd_mgr; io_req 375 drivers/scsi/qedf/qedf_io.c io_req->fcport = fcport; io_req 378 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 379 drivers/scsi/qedf/qedf_io.c io_req->lun = -1; io_req 382 drivers/scsi/qedf/qedf_io.c kref_init(&io_req->refcount); /* ID: 001 */ io_req 383 drivers/scsi/qedf/qedf_io.c atomic_set(&io_req->state, QEDFC_CMD_ST_IO_ACTIVE); io_req 387 drivers/scsi/qedf/qedf_io.c bd_tbl = io_req->bd_tbl = cmd_mgr->io_bdt_pool[xid]; io_req 390 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 393 drivers/scsi/qedf/qedf_io.c bd_tbl->io_req = io_req; io_req 394 drivers/scsi/qedf/qedf_io.c io_req->cmd_type = cmd_type; io_req 395 drivers/scsi/qedf/qedf_io.c io_req->tm_flags = 0; io_req 398 drivers/scsi/qedf/qedf_io.c io_req->rx_buf_off = 0; io_req 399 drivers/scsi/qedf/qedf_io.c io_req->tx_buf_off = 0; io_req 400 drivers/scsi/qedf/qedf_io.c io_req->rx_id = 0xffff; /* No OX_ID */ io_req 402 drivers/scsi/qedf/qedf_io.c return io_req; io_req 410 drivers/scsi/qedf/qedf_io.c static void qedf_free_mp_resc(struct qedf_ioreq *io_req) io_req 412 drivers/scsi/qedf/qedf_io.c struct qedf_mp_req *mp_req = &(io_req->mp_req); io_req 413 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; io_req 441 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req = io_req 443 drivers/scsi/qedf/qedf_io.c struct qedf_cmd_mgr *cmd_mgr = io_req->cmd_mgr; io_req 444 drivers/scsi/qedf/qedf_io.c struct qedf_rport *fcport = io_req->fcport; io_req 447 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_SCSI_CMD) { io_req 450 drivers/scsi/qedf/qedf_io.c io_req, io_req->xid); io_req 451 drivers/scsi/qedf/qedf_io.c WARN_ON(io_req->sc_cmd); io_req 454 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_ELS || io_req 455 drivers/scsi/qedf/qedf_io.c io_req->cmd_type == QEDF_TASK_MGMT_CMD) io_req 456 drivers/scsi/qedf/qedf_io.c qedf_free_mp_resc(io_req); io_req 460 drivers/scsi/qedf/qedf_io.c atomic_set(&io_req->state, QEDF_CMD_ST_INACTIVE); io_req 467 drivers/scsi/qedf/qedf_io.c io_req->task_retry_identifier++; io_req 468 drivers/scsi/qedf/qedf_io.c io_req->fcport = NULL; io_req 470 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_DIRTY, &io_req->flags); io_req 471 drivers/scsi/qedf/qedf_io.c io_req->cpu = 0; io_req 473 drivers/scsi/qedf/qedf_io.c io_req->fcport = NULL; io_req 474 drivers/scsi/qedf/qedf_io.c io_req->alloc = 0; io_req 478 drivers/scsi/qedf/qedf_io.c static int qedf_map_sg(struct qedf_ioreq *io_req) io_req 480 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc = io_req->sc_cmd; io_req 484 drivers/scsi/qedf/qedf_io.c struct scsi_sge *bd = io_req->bd_tbl->bd_tbl; io_req 497 drivers/scsi/qedf/qedf_io.c io_req->sge_type = QEDF_IOREQ_UNKNOWN_SGE; io_req 499 drivers/scsi/qedf/qedf_io.c if (sg_count <= 8 || io_req->io_req_flags == QEDF_READ) io_req 500 drivers/scsi/qedf/qedf_io.c io_req->sge_type = QEDF_IOREQ_FAST_SGE; io_req 512 drivers/scsi/qedf/qedf_io.c if (io_req->sge_type == QEDF_IOREQ_UNKNOWN_SGE && (i) && io_req 514 drivers/scsi/qedf/qedf_io.c io_req->sge_type = QEDF_IOREQ_SLOW_SGE; io_req 525 drivers/scsi/qedf/qedf_io.c if (io_req->sge_type == QEDF_IOREQ_UNKNOWN_SGE) io_req 526 drivers/scsi/qedf/qedf_io.c io_req->sge_type = QEDF_IOREQ_FAST_SGE; io_req 531 drivers/scsi/qedf/qedf_io.c scsi_bufflen(sc), io_req->xid); io_req 536 drivers/scsi/qedf/qedf_io.c static int qedf_build_bd_list_from_sg(struct qedf_ioreq *io_req) io_req 538 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc = io_req->sc_cmd; io_req 539 drivers/scsi/qedf/qedf_io.c struct scsi_sge *bd = io_req->bd_tbl->bd_tbl; io_req 543 drivers/scsi/qedf/qedf_io.c bd_count = qedf_map_sg(io_req); io_req 551 drivers/scsi/qedf/qedf_io.c io_req->bd_tbl->bd_valid = bd_count; io_req 556 drivers/scsi/qedf/qedf_io.c static void qedf_build_fcp_cmnd(struct qedf_ioreq *io_req, io_req 559 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 570 drivers/scsi/qedf/qedf_io.c fcp_cmnd->fc_tm_flags = io_req->tm_flags; io_req 571 drivers/scsi/qedf/qedf_io.c fcp_cmnd->fc_flags = io_req->io_req_flags; io_req 575 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_TASK_MGMT_CMD) { io_req 587 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type != QEDF_TASK_MGMT_CMD) io_req 591 drivers/scsi/qedf/qedf_io.c fcp_cmnd->fc_dl = htonl(io_req->data_xfer_len); io_req 595 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req, struct e4_fcoe_task_context *task_ctx, io_req 599 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 600 drivers/scsi/qedf/qedf_io.c struct io_bdt *bd_tbl = io_req->bd_tbl; io_req 612 drivers/scsi/qedf/qedf_io.c io_req->task = task_ctx; io_req 614 drivers/scsi/qedf/qedf_io.c memset(io_req->task_params, 0, sizeof(struct fcoe_task_params)); io_req 615 drivers/scsi/qedf/qedf_io.c memset(io_req->sgl_task_params, 0, sizeof(struct scsi_sgl_task_params)); io_req 618 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_TASK_MGMT_CMD) { io_req 623 drivers/scsi/qedf/qedf_io.c tx_io_size = io_req->data_xfer_len; io_req 626 drivers/scsi/qedf/qedf_io.c rx_io_size = io_req->data_xfer_len; io_req 631 drivers/scsi/qedf/qedf_io.c io_req->task_params->context = task_ctx; io_req 632 drivers/scsi/qedf/qedf_io.c io_req->task_params->sqe = sqe; io_req 633 drivers/scsi/qedf/qedf_io.c io_req->task_params->task_type = task_type; io_req 634 drivers/scsi/qedf/qedf_io.c io_req->task_params->tx_io_size = tx_io_size; io_req 635 drivers/scsi/qedf/qedf_io.c io_req->task_params->rx_io_size = rx_io_size; io_req 636 drivers/scsi/qedf/qedf_io.c io_req->task_params->conn_cid = fcport->fw_cid; io_req 637 drivers/scsi/qedf/qedf_io.c io_req->task_params->itid = io_req->xid; io_req 638 drivers/scsi/qedf/qedf_io.c io_req->task_params->cq_rss_number = cq_idx; io_req 639 drivers/scsi/qedf/qedf_io.c io_req->task_params->is_tape_device = fcport->dev_type; io_req 642 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type != QEDF_TASK_MGMT_CMD) { io_req 644 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->sgl = bd_tbl->bd_tbl; io_req 645 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->sgl_phys_addr.lo = io_req 647 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->sgl_phys_addr.hi = io_req 649 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->num_sges = bd_count; io_req 650 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->total_buffer_size = io_req 651 drivers/scsi/qedf/qedf_io.c scsi_bufflen(io_req->sc_cmd); io_req 652 drivers/scsi/qedf/qedf_io.c if (io_req->sge_type == QEDF_IOREQ_SLOW_SGE) io_req 653 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->small_mid_sge = 1; io_req 655 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params->small_mid_sge = 0; io_req 659 drivers/scsi/qedf/qedf_io.c sense_data_buffer_phys_addr.lo = U64_LO(io_req->sense_buffer_dma); io_req 660 drivers/scsi/qedf/qedf_io.c sense_data_buffer_phys_addr.hi = U64_HI(io_req->sense_buffer_dma); io_req 663 drivers/scsi/qedf/qedf_io.c qedf_build_fcp_cmnd(io_req, (struct fcp_cmnd *)tmp_fcp_cmnd); io_req 672 drivers/scsi/qedf/qedf_io.c init_initiator_rw_fcoe_task(io_req->task_params, io_req 673 drivers/scsi/qedf/qedf_io.c io_req->sgl_task_params, io_req 675 drivers/scsi/qedf/qedf_io.c io_req->task_retry_identifier, fcp_cmnd); io_req 678 drivers/scsi/qedf/qedf_io.c if (io_req->sge_type == QEDF_IOREQ_SLOW_SGE) io_req 684 drivers/scsi/qedf/qedf_io.c void qedf_init_mp_task(struct qedf_ioreq *io_req, io_req 687 drivers/scsi/qedf/qedf_io.c struct qedf_mp_req *mp_req = &(io_req->mp_req); io_req 688 drivers/scsi/qedf/qedf_io.c struct qedf_rport *fcport = io_req->fcport; io_req 689 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; io_req 697 drivers/scsi/qedf/qedf_io.c io_req->cmd_type); io_req 707 drivers/scsi/qedf/qedf_io.c io_req->task = task_ctx; io_req 710 drivers/scsi/qedf/qedf_io.c io_req->task_params->context = task_ctx; io_req 711 drivers/scsi/qedf/qedf_io.c io_req->task_params->sqe = sqe; io_req 712 drivers/scsi/qedf/qedf_io.c io_req->task_params->task_type = FCOE_TASK_TYPE_MIDPATH; io_req 713 drivers/scsi/qedf/qedf_io.c io_req->task_params->tx_io_size = io_req->data_xfer_len; io_req 715 drivers/scsi/qedf/qedf_io.c io_req->task_params->rx_io_size = PAGE_SIZE; io_req 716 drivers/scsi/qedf/qedf_io.c io_req->task_params->conn_cid = fcport->fw_cid; io_req 717 drivers/scsi/qedf/qedf_io.c io_req->task_params->itid = io_req->xid; io_req 719 drivers/scsi/qedf/qedf_io.c io_req->task_params->cq_rss_number = 0; io_req 720 drivers/scsi/qedf/qedf_io.c io_req->task_params->is_tape_device = fcport->dev_type; io_req 724 drivers/scsi/qedf/qedf_io.c fc_hdr->fh_ox_id = io_req->xid; io_req 742 drivers/scsi/qedf/qedf_io.c tx_sgl_task_params.total_buffer_size = io_req->data_xfer_len; io_req 759 drivers/scsi/qedf/qedf_io.c init_initiator_midpath_unsolicited_fcoe_task(io_req->task_params, io_req 808 drivers/scsi/qedf/qedf_io.c static void qedf_trace_io(struct qedf_rport *fcport, struct qedf_ioreq *io_req, io_req 813 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 821 drivers/scsi/qedf/qedf_io.c io_log->task_id = io_req->xid; io_req 833 drivers/scsi/qedf/qedf_io.c io_log->refcount = kref_read(&io_req->refcount); io_req 837 drivers/scsi/qedf/qedf_io.c io_log->req_cpu = io_req->cpu; io_req 841 drivers/scsi/qedf/qedf_io.c io_log->req_cpu = io_req->cpu; io_req 842 drivers/scsi/qedf/qedf_io.c io_log->int_cpu = io_req->int_cpu; io_req 846 drivers/scsi/qedf/qedf_io.c io_log->sge_type = io_req->sge_type; io_req 855 drivers/scsi/qedf/qedf_io.c int qedf_post_io_req(struct qedf_rport *fcport, struct qedf_ioreq *io_req) io_req 857 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 868 drivers/scsi/qedf/qedf_io.c io_req->data_xfer_len = scsi_bufflen(sc_cmd); io_req 869 drivers/scsi/qedf/qedf_io.c sc_cmd->SCp.ptr = (char *)io_req; io_req 870 drivers/scsi/qedf/qedf_io.c io_req->sge_type = QEDF_IOREQ_FAST_SGE; /* Assume fast SGL by default */ io_req 873 drivers/scsi/qedf/qedf_io.c io_req->cpu = smp_processor_id(); io_req 877 drivers/scsi/qedf/qedf_io.c io_req->io_req_flags = QEDF_READ; io_req 881 drivers/scsi/qedf/qedf_io.c io_req->io_req_flags = QEDF_WRITE; io_req 884 drivers/scsi/qedf/qedf_io.c io_req->io_req_flags = 0; io_req 888 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 891 drivers/scsi/qedf/qedf_io.c if (qedf_build_bd_list_from_sg(io_req)) { io_req 894 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 895 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 903 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 904 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 909 drivers/scsi/qedf/qedf_io.c io_req->lun = (int)sc_cmd->device->lun; io_req 922 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 923 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 927 drivers/scsi/qedf/qedf_io.c qedf_init_task(fcport, lport, io_req, task_ctx, sqe); io_req 933 drivers/scsi/qedf/qedf_io.c set_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 935 drivers/scsi/qedf/qedf_io.c if (qedf_io_tracing && io_req->sc_cmd) io_req 936 drivers/scsi/qedf/qedf_io.c qedf_trace_io(fcport, io_req, QEDF_IO_TRACE_REQ); io_req 949 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req; io_req 1034 drivers/scsi/qedf/qedf_io.c io_req = qedf_alloc_cmd(fcport, QEDF_SCSI_CMD); io_req 1035 drivers/scsi/qedf/qedf_io.c if (!io_req) { io_req 1041 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = sc_cmd; io_req 1045 drivers/scsi/qedf/qedf_io.c if (qedf_post_io_req(fcport, io_req)) { io_req 1058 drivers/scsi/qedf/qedf_io.c static void qedf_parse_fcp_rsp(struct qedf_ioreq *io_req, io_req 1061 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc_cmd = io_req->sc_cmd; io_req 1062 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; io_req 1068 drivers/scsi/qedf/qedf_io.c io_req->fcp_status = FC_GOOD; io_req 1069 drivers/scsi/qedf/qedf_io.c io_req->fcp_resid = 0; io_req 1072 drivers/scsi/qedf/qedf_io.c io_req->fcp_resid = fcp_rsp->fcp_resid; io_req 1074 drivers/scsi/qedf/qedf_io.c io_req->scsi_comp_flags = rsp_flags; io_req 1075 drivers/scsi/qedf/qedf_io.c CMD_SCSI_STATUS(sc_cmd) = io_req->cdb_status = io_req 1086 drivers/scsi/qedf/qedf_io.c io_req->fcp_rsp_len = fcp_rsp_len; io_req 1087 drivers/scsi/qedf/qedf_io.c io_req->fcp_sns_len = fcp_sns_len; io_req 1088 drivers/scsi/qedf/qedf_io.c rsp_info = sense_data = io_req->sense_buffer; io_req 1093 drivers/scsi/qedf/qedf_io.c io_req->fcp_rsp_code = rsp_info[3]; io_req 1095 drivers/scsi/qedf/qedf_io.c "fcp_rsp_code = %d\n", io_req->fcp_rsp_code); io_req 1115 drivers/scsi/qedf/qedf_io.c static void qedf_unmap_sg_list(struct qedf_ctx *qedf, struct qedf_ioreq *io_req) io_req 1117 drivers/scsi/qedf/qedf_io.c struct scsi_cmnd *sc = io_req->sc_cmd; io_req 1119 drivers/scsi/qedf/qedf_io.c if (io_req->bd_tbl->bd_valid && sc && scsi_sg_count(sc)) { io_req 1122 drivers/scsi/qedf/qedf_io.c io_req->bd_tbl->bd_valid = 0; io_req 1127 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req) io_req 1138 drivers/scsi/qedf/qedf_io.c if (!io_req) io_req 1143 drivers/scsi/qedf/qedf_io.c if (!test_bit(QEDF_CMD_OUTSTANDING, &io_req->flags) || io_req 1144 drivers/scsi/qedf/qedf_io.c test_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags) || io_req 1145 drivers/scsi/qedf/qedf_io.c test_bit(QEDF_CMD_IN_ABORT, &io_req->flags)) { io_req 1148 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1152 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 1154 drivers/scsi/qedf/qedf_io.c sc_cmd = io_req->sc_cmd; io_req 1186 drivers/scsi/qedf/qedf_io.c fcport = io_req->fcport; io_req 1197 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1201 drivers/scsi/qedf/qedf_io.c qedf_parse_fcp_rsp(io_req, fcp_rsp); io_req 1203 drivers/scsi/qedf/qedf_io.c qedf_unmap_sg_list(qedf, io_req); io_req 1206 drivers/scsi/qedf/qedf_io.c if (io_req->fcp_rsp_len > 3 && io_req->fcp_rsp_code) { io_req 1209 drivers/scsi/qedf/qedf_io.c "fcp_rsp_code=%d.\n", io_req->xid, io_req->fcp_rsp_len, io_req 1210 drivers/scsi/qedf/qedf_io.c io_req->fcp_rsp_code); io_req 1220 drivers/scsi/qedf/qedf_io.c io_req->xid, fcp_rsp->rsp_flags.flags, io_req 1221 drivers/scsi/qedf/qedf_io.c io_req->fcp_resid, io_req 1225 drivers/scsi/qedf/qedf_io.c if (io_req->cdb_status == 0) io_req 1226 drivers/scsi/qedf/qedf_io.c sc_cmd->result = (DID_ERROR << 16) | io_req->cdb_status; io_req 1228 drivers/scsi/qedf/qedf_io.c sc_cmd->result = (DID_OK << 16) | io_req->cdb_status; io_req 1238 drivers/scsi/qedf/qedf_io.c switch (io_req->fcp_status) { io_req 1240 drivers/scsi/qedf/qedf_io.c if (io_req->cdb_status == 0) { io_req 1244 drivers/scsi/qedf/qedf_io.c refcount = kref_read(&io_req->refcount); io_req 1250 drivers/scsi/qedf/qedf_io.c sc_cmd->device->lun, io_req->xid, io_req 1253 drivers/scsi/qedf/qedf_io.c io_req->cdb_status, io_req->fcp_resid, io_req 1255 drivers/scsi/qedf/qedf_io.c sc_cmd->result = (DID_OK << 16) | io_req->cdb_status; io_req 1257 drivers/scsi/qedf/qedf_io.c if (io_req->cdb_status == SAM_STAT_TASK_SET_FULL || io_req 1258 drivers/scsi/qedf/qedf_io.c io_req->cdb_status == SAM_STAT_BUSY) { io_req 1281 drivers/scsi/qedf/qedf_io.c if (io_req->cdb_status == io_req 1288 drivers/scsi/qedf/qedf_io.c if (io_req->fcp_resid) io_req 1289 drivers/scsi/qedf/qedf_io.c scsi_set_resid(sc_cmd, io_req->fcp_resid); io_req 1293 drivers/scsi/qedf/qedf_io.c io_req->fcp_status); io_req 1299 drivers/scsi/qedf/qedf_io.c qedf_trace_io(fcport, io_req, QEDF_IO_TRACE_RSP); io_req 1305 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 1307 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 1310 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 1314 drivers/scsi/qedf/qedf_io.c void qedf_scsi_done(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, io_req 1321 drivers/scsi/qedf/qedf_io.c if (!io_req) { io_req 1326 drivers/scsi/qedf/qedf_io.c if (test_and_set_bit(QEDF_CMD_ERR_SCSI_DONE, &io_req->flags)) { io_req 1329 drivers/scsi/qedf/qedf_io.c io_req); io_req 1337 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 1339 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 1340 drivers/scsi/qedf/qedf_io.c sc_cmd = io_req->sc_cmd; io_req 1391 drivers/scsi/qedf/qedf_io.c qedf_unmap_sg_list(qedf, io_req); io_req 1394 drivers/scsi/qedf/qedf_io.c refcount = kref_read(&io_req->refcount); io_req 1411 drivers/scsi/qedf/qedf_io.c qedf_trace_io(io_req->fcport, io_req, QEDF_IO_TRACE_RSP); io_req 1413 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 1416 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 1424 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 1425 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); /* ID: 001 */ io_req 1433 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req) io_req 1436 drivers/scsi/qedf/qedf_io.c struct qedf_rport *fcport = io_req->fcport; io_req 1443 drivers/scsi/qedf/qedf_io.c io_req, io_req->xid); io_req 1447 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "Warning CQE, " io_req 1448 drivers/scsi/qedf/qedf_io.c "xid=0x%x\n", io_req->xid); io_req 1449 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), io_req 1453 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "tx_buff_off=%08x, " io_req 1475 drivers/scsi/qedf/qedf_io.c if (!test_bit(QEDF_CMD_SRR_SENT, &io_req->flags)) { io_req 1476 drivers/scsi/qedf/qedf_io.c io_req->rx_buf_off = io_req 1478 drivers/scsi/qedf/qedf_io.c io_req->tx_buf_off = io_req 1480 drivers/scsi/qedf/qedf_io.c io_req->rx_id = cqe->cqe_info.err_info.rx_id; io_req 1481 drivers/scsi/qedf/qedf_io.c rval = qedf_send_rec(io_req); io_req 1495 drivers/scsi/qedf/qedf_io.c init_completion(&io_req->abts_done); io_req 1496 drivers/scsi/qedf/qedf_io.c rval = qedf_initiate_abts(io_req, true); io_req 1503 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req) io_req 1509 drivers/scsi/qedf/qedf_io.c "cqe is NULL for io_req %p\n", io_req); io_req 1513 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "Error detection CQE, " io_req 1514 drivers/scsi/qedf/qedf_io.c "xid=0x%x\n", io_req->xid); io_req 1515 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), io_req 1519 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "tx_buff_off=%08x, " io_req 1530 drivers/scsi/qedf/qedf_io.c init_completion(&io_req->abts_done); io_req 1531 drivers/scsi/qedf/qedf_io.c rval = qedf_initiate_abts(io_req, true); io_req 1567 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req; io_req 1628 drivers/scsi/qedf/qedf_io.c io_req = &cmd_mgr->cmds[i]; io_req 1630 drivers/scsi/qedf/qedf_io.c if (!io_req) io_req 1632 drivers/scsi/qedf/qedf_io.c if (!io_req->fcport) io_req 1637 drivers/scsi/qedf/qedf_io.c if (io_req->alloc) { io_req 1638 drivers/scsi/qedf/qedf_io.c if (!test_bit(QEDF_CMD_OUTSTANDING, &io_req->flags)) { io_req 1639 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_SCSI_CMD) io_req 1642 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1650 drivers/scsi/qedf/qedf_io.c if (io_req->fcport != fcport) io_req 1658 drivers/scsi/qedf/qedf_io.c if (!test_bit(QEDF_CMD_OUTSTANDING, &io_req->flags)) { io_req 1659 drivers/scsi/qedf/qedf_io.c refcount = kref_read(&io_req->refcount); io_req 1662 drivers/scsi/qedf/qedf_io.c io_req->xid, io_req->cmd_type, refcount); io_req 1666 drivers/scsi/qedf/qedf_io.c if (atomic_read(&io_req->state) == io_req 1669 drivers/scsi/qedf/qedf_io.c (&io_req->rrq_work)) { io_req 1672 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1674 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, io_req 1682 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_ELS && io_req 1684 drivers/scsi/qedf/qedf_io.c rc = kref_get_unless_zero(&io_req->refcount); io_req 1688 drivers/scsi/qedf/qedf_io.c io_req, io_req->xid); io_req 1692 drivers/scsi/qedf/qedf_io.c qedf_flush_els_req(qedf, io_req); io_req 1700 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_ABTS) { io_req 1702 drivers/scsi/qedf/qedf_io.c rc = kref_get_unless_zero(&io_req->refcount); io_req 1706 drivers/scsi/qedf/qedf_io.c io_req, io_req->xid); io_req 1709 drivers/scsi/qedf/qedf_io.c if (lun != -1 && io_req->lun != lun) io_req 1713 drivers/scsi/qedf/qedf_io.c "Flushing abort xid=0x%x.\n", io_req->xid); io_req 1715 drivers/scsi/qedf/qedf_io.c if (cancel_delayed_work_sync(&io_req->rrq_work)) { io_req 1718 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1719 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 1722 drivers/scsi/qedf/qedf_io.c if (cancel_delayed_work_sync(&io_req->timeout_work)) { io_req 1725 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1726 drivers/scsi/qedf/qedf_io.c qedf_initiate_cleanup(io_req, true); io_req 1730 drivers/scsi/qedf/qedf_io.c complete(&io_req->abts_done); io_req 1731 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_ABORT, &io_req->flags); io_req 1733 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 1739 drivers/scsi/qedf/qedf_io.c if (!io_req->sc_cmd) io_req 1741 drivers/scsi/qedf/qedf_io.c if (!io_req->sc_cmd->device) { io_req 1744 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd); io_req 1746 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 1747 drivers/scsi/qedf/qedf_io.c qedf_initiate_cleanup(io_req, false); io_req 1748 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 1752 drivers/scsi/qedf/qedf_io.c if (io_req->lun != lun) io_req 1760 drivers/scsi/qedf/qedf_io.c rc = kref_get_unless_zero(&io_req->refcount); io_req 1763 drivers/scsi/qedf/qedf_io.c "io_req=0x%p xid=0x%x\n", io_req, io_req->xid); io_req 1768 drivers/scsi/qedf/qedf_io.c "Cleanup xid=0x%x.\n", io_req->xid); io_req 1772 drivers/scsi/qedf/qedf_io.c qedf_initiate_cleanup(io_req, true); io_req 1775 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); /* ID: 004 */ io_req 1797 drivers/scsi/qedf/qedf_io.c io_req = &cmd_mgr->cmds[i]; io_req 1798 drivers/scsi/qedf/qedf_io.c if (io_req->fcport && io_req 1799 drivers/scsi/qedf/qedf_io.c io_req->fcport == fcport) { io_req 1801 drivers/scsi/qedf/qedf_io.c kref_read(&io_req->refcount); io_req 1803 drivers/scsi/qedf/qedf_io.c &io_req->flags); io_req 1806 drivers/scsi/qedf/qedf_io.c io_req, io_req->xid, io_req 1807 drivers/scsi/qedf/qedf_io.c io_req->flags, io_req 1808 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd, io_req 1810 drivers/scsi/qedf/qedf_io.c io_req->cmd_type); io_req 1831 drivers/scsi/qedf/qedf_io.c int qedf_initiate_abts(struct qedf_ioreq *io_req, bool return_scsi_cmd_on_abts) io_req 1834 drivers/scsi/qedf/qedf_io.c struct qedf_rport *fcport = io_req->fcport; io_req 1889 drivers/scsi/qedf/qedf_io.c if (!test_bit(QEDF_CMD_OUTSTANDING, &io_req->flags) || io_req 1890 drivers/scsi/qedf/qedf_io.c test_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags) || io_req 1891 drivers/scsi/qedf/qedf_io.c test_bit(QEDF_CMD_IN_ABORT, &io_req->flags)) { io_req 1894 drivers/scsi/qedf/qedf_io.c io_req->xid, io_req->sc_cmd); io_req 1899 drivers/scsi/qedf/qedf_io.c kref_get(&io_req->refcount); io_req 1901 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 1906 drivers/scsi/qedf/qedf_io.c io_req->cmd_type = QEDF_ABTS; io_req 1907 drivers/scsi/qedf/qedf_io.c io_req->return_scsi_cmd_on_abts = return_scsi_cmd_on_abts; io_req 1909 drivers/scsi/qedf/qedf_io.c set_bit(QEDF_CMD_IN_ABORT, &io_req->flags); io_req 1910 drivers/scsi/qedf/qedf_io.c refcount = kref_read(&io_req->refcount); io_req 1915 drivers/scsi/qedf/qedf_io.c qedf_cmd_timer_set(qedf, io_req, QEDF_ABORT_TIMEOUT); io_req 1922 drivers/scsi/qedf/qedf_io.c io_req->task_params->sqe = sqe; io_req 1924 drivers/scsi/qedf/qedf_io.c init_initiator_abort_fcoe_task(io_req->task_params); io_req 1936 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req) io_req 1941 drivers/scsi/qedf/qedf_io.c struct qedf_rport *fcport = io_req->fcport; io_req 1944 drivers/scsi/qedf/qedf_io.c "0x%x cmd_type = %d\n", io_req->xid, io_req->cmd_type); io_req 1946 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 1956 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1968 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1972 drivers/scsi/qedf/qedf_io.c if (!cancel_delayed_work(&io_req->timeout_work)) { io_req 1981 drivers/scsi/qedf/qedf_io.c io_req->event = QEDF_IOREQ_EV_ABORT_SUCCESS; io_req 1982 drivers/scsi/qedf/qedf_io.c rc = kref_get_unless_zero(&io_req->refcount); /* ID: 003 */ io_req 1986 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 1993 drivers/scsi/qedf/qedf_io.c queue_delayed_work(qedf->dpc_wq, &io_req->rrq_work, io_req 1995 drivers/scsi/qedf/qedf_io.c atomic_set(&io_req->state, QEDFC_CMD_ST_RRQ_WAIT); io_req 2001 drivers/scsi/qedf/qedf_io.c io_req->event = QEDF_IOREQ_EV_ABORT_FAILED; io_req 2008 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_ABORT, &io_req->flags); io_req 2010 drivers/scsi/qedf/qedf_io.c if (io_req->sc_cmd) { io_req 2011 drivers/scsi/qedf/qedf_io.c if (!io_req->return_scsi_cmd_on_abts) io_req 2014 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 2015 drivers/scsi/qedf/qedf_io.c if (io_req->return_scsi_cmd_on_abts) io_req 2016 drivers/scsi/qedf/qedf_io.c qedf_scsi_done(qedf, io_req, DID_ERROR); io_req 2020 drivers/scsi/qedf/qedf_io.c complete(&io_req->abts_done); io_req 2022 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 2025 drivers/scsi/qedf/qedf_io.c int qedf_init_mp_req(struct qedf_ioreq *io_req) io_req 2030 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; io_req 2036 drivers/scsi/qedf/qedf_io.c mp_req = (struct qedf_mp_req *)&(io_req->mp_req); io_req 2039 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type != QEDF_ELS) { io_req 2041 drivers/scsi/qedf/qedf_io.c io_req->data_xfer_len = mp_req->req_len; io_req 2043 drivers/scsi/qedf/qedf_io.c mp_req->req_len = io_req->data_xfer_len; io_req 2049 drivers/scsi/qedf/qedf_io.c qedf_free_mp_resc(io_req); io_req 2058 drivers/scsi/qedf/qedf_io.c qedf_free_mp_resc(io_req); io_req 2068 drivers/scsi/qedf/qedf_io.c qedf_free_mp_resc(io_req); io_req 2076 drivers/scsi/qedf/qedf_io.c qedf_free_mp_resc(io_req); io_req 2129 drivers/scsi/qedf/qedf_io.c int qedf_initiate_cleanup(struct qedf_ioreq *io_req, io_req 2143 drivers/scsi/qedf/qedf_io.c fcport = io_req->fcport; io_req 2162 drivers/scsi/qedf/qedf_io.c if (!test_bit(QEDF_CMD_OUTSTANDING, &io_req->flags) || io_req 2163 drivers/scsi/qedf/qedf_io.c test_and_set_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags)) { io_req 2166 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 2169 drivers/scsi/qedf/qedf_io.c set_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags); io_req 2175 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags); io_req 2179 drivers/scsi/qedf/qedf_io.c if (io_req->cmd_type == QEDF_CLEANUP) { io_req 2182 drivers/scsi/qedf/qedf_io.c io_req->xid, io_req->cmd_type); io_req 2183 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags); io_req 2187 drivers/scsi/qedf/qedf_io.c refcount = kref_read(&io_req->refcount); io_req 2191 drivers/scsi/qedf/qedf_io.c io_req->xid, io_req->sc_cmd, io_req->cmd_type, io_req->flags, io_req 2195 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 2196 drivers/scsi/qedf/qedf_io.c io_req->cmd_type = QEDF_CLEANUP; io_req 2197 drivers/scsi/qedf/qedf_io.c io_req->return_scsi_cmd_on_abts = return_scsi_cmd_on_abts; io_req 2201 drivers/scsi/qedf/qedf_io.c init_completion(&io_req->cleanup_done); io_req 2208 drivers/scsi/qedf/qedf_io.c io_req->task_params->sqe = sqe; io_req 2210 drivers/scsi/qedf/qedf_io.c init_initiator_cleanup_fcoe_task(io_req->task_params); io_req 2215 drivers/scsi/qedf/qedf_io.c tmo = wait_for_completion_timeout(&io_req->cleanup_done, io_req 2222 drivers/scsi/qedf/qedf_io.c "xid=%x.\n", io_req->xid); io_req 2223 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags); io_req 2232 drivers/scsi/qedf/qedf_io.c if (io_req->tm_flags == FCP_TMF_LUN_RESET || io_req 2233 drivers/scsi/qedf/qedf_io.c io_req->tm_flags == FCP_TMF_TGT_RESET) { io_req 2234 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 2235 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 2236 drivers/scsi/qedf/qedf_io.c complete(&io_req->tm_done); io_req 2239 drivers/scsi/qedf/qedf_io.c if (io_req->sc_cmd) { io_req 2240 drivers/scsi/qedf/qedf_io.c if (!io_req->return_scsi_cmd_on_abts) io_req 2243 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 2244 drivers/scsi/qedf/qedf_io.c if (io_req->return_scsi_cmd_on_abts) io_req 2245 drivers/scsi/qedf/qedf_io.c qedf_scsi_done(qedf, io_req, DID_ERROR); io_req 2249 drivers/scsi/qedf/qedf_io.c io_req->event = QEDF_IOREQ_EV_CLEANUP_SUCCESS; io_req 2251 drivers/scsi/qedf/qedf_io.c io_req->event = QEDF_IOREQ_EV_CLEANUP_FAILED; io_req 2257 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req) io_req 2260 drivers/scsi/qedf/qedf_io.c io_req->xid); io_req 2262 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags); io_req 2265 drivers/scsi/qedf/qedf_io.c complete(&io_req->cleanup_done); io_req 2271 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req; io_req 2295 drivers/scsi/qedf/qedf_io.c io_req = qedf_alloc_cmd(fcport, QEDF_TASK_MGMT_CMD); io_req 2296 drivers/scsi/qedf/qedf_io.c if (!io_req) { io_req 2308 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = sc_cmd; io_req 2309 drivers/scsi/qedf/qedf_io.c io_req->fcport = fcport; io_req 2310 drivers/scsi/qedf/qedf_io.c io_req->cmd_type = QEDF_TASK_MGMT_CMD; io_req 2313 drivers/scsi/qedf/qedf_io.c io_req->cpu = smp_processor_id(); io_req 2316 drivers/scsi/qedf/qedf_io.c io_req->io_req_flags = QEDF_READ; io_req 2317 drivers/scsi/qedf/qedf_io.c io_req->data_xfer_len = 0; io_req 2318 drivers/scsi/qedf/qedf_io.c io_req->tm_flags = tm_flags; io_req 2321 drivers/scsi/qedf/qedf_io.c io_req->return_scsi_cmd_on_abts = false; io_req 2324 drivers/scsi/qedf/qedf_io.c xid = io_req->xid; io_req 2332 drivers/scsi/qedf/qedf_io.c init_completion(&io_req->tm_done); io_req 2340 drivers/scsi/qedf/qedf_io.c qedf_init_task(fcport, lport, io_req, task, sqe); io_req 2345 drivers/scsi/qedf/qedf_io.c set_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 2346 drivers/scsi/qedf/qedf_io.c tmo = wait_for_completion_timeout(&io_req->tm_done, io_req 2353 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 2354 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 2357 drivers/scsi/qedf/qedf_io.c if (io_req->fcp_rsp_code == 0) io_req 2372 drivers/scsi/qedf/qedf_io.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 2400 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req = NULL; io_req 2419 drivers/scsi/qedf/qedf_io.c io_req = (struct qedf_ioreq *)sc_cmd->SCp.ptr; io_req 2420 drivers/scsi/qedf/qedf_io.c ref_cnt = kref_read(&io_req->refcount); io_req 2423 drivers/scsi/qedf/qedf_io.c io_req, io_req->xid, ref_cnt); io_req 2489 drivers/scsi/qedf/qedf_io.c struct qedf_ioreq *io_req) io_req 2493 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_CMD_OUTSTANDING, &io_req->flags); io_req 2496 drivers/scsi/qedf/qedf_io.c qedf_parse_fcp_rsp(io_req, fcp_rsp); io_req 2498 drivers/scsi/qedf/qedf_io.c io_req->sc_cmd = NULL; io_req 2499 drivers/scsi/qedf/qedf_io.c complete(&io_req->tm_done); io_req 653 drivers/scsi/qedf/qedf_main.c struct qedf_ioreq *io_req; io_req 676 drivers/scsi/qedf/qedf_main.c io_req = (struct qedf_ioreq *)sc_cmd->SCp.ptr; io_req 677 drivers/scsi/qedf/qedf_main.c if (!io_req) { io_req 686 drivers/scsi/qedf/qedf_main.c rval = kref_get_unless_zero(&io_req->refcount); /* ID: 005 */ io_req 691 drivers/scsi/qedf/qedf_main.c if (!rval || io_req->sc_cmd != sc_cmd) { io_req 694 drivers/scsi/qedf/qedf_main.c io_req->sc_cmd, sc_cmd, rdata->ids.port_id); io_req 700 drivers/scsi/qedf/qedf_main.c refcount = kref_read(&io_req->refcount); io_req 703 drivers/scsi/qedf/qedf_main.c io_req, io_req->xid, sc_cmd, sc_cmd->cmnd[0], io_req 716 drivers/scsi/qedf/qedf_main.c io_req->xid, rdata->ids.port_id); io_req 717 drivers/scsi/qedf/qedf_main.c while (io_req->sc_cmd && (wait_count != 0)) { io_req 738 drivers/scsi/qedf/qedf_main.c io_req, sc_cmd, io_req->xid, io_req->fp_idx, io_req 747 drivers/scsi/qedf/qedf_main.c init_completion(&io_req->abts_done); io_req 748 drivers/scsi/qedf/qedf_main.c rval = qedf_initiate_abts(io_req, true); io_req 756 drivers/scsi/qedf/qedf_main.c qedf_scsi_done(qedf, io_req, DID_ERROR); io_req 760 drivers/scsi/qedf/qedf_main.c wait_for_completion(&io_req->abts_done); io_req 762 drivers/scsi/qedf/qedf_main.c if (io_req->event == QEDF_IOREQ_EV_ABORT_SUCCESS || io_req 763 drivers/scsi/qedf/qedf_main.c io_req->event == QEDF_IOREQ_EV_ABORT_FAILED || io_req 764 drivers/scsi/qedf/qedf_main.c io_req->event == QEDF_IOREQ_EV_CLEANUP_SUCCESS) { io_req 778 drivers/scsi/qedf/qedf_main.c io_req->xid); io_req 781 drivers/scsi/qedf/qedf_main.c io_req->xid); io_req 787 drivers/scsi/qedf/qedf_main.c kref_put(&io_req->refcount, qedf_release_cmd); io_req 2099 drivers/scsi/qedf/qedf_main.c struct qedf_ioreq *io_req = NULL; io_req 2142 drivers/scsi/qedf/qedf_main.c io_req = &qedf->cmd_mgr->cmds[xid]; io_req 2148 drivers/scsi/qedf/qedf_main.c if (!io_req) io_req 2154 drivers/scsi/qedf/qedf_main.c cpu = io_req->cpu; io_req 2155 drivers/scsi/qedf/qedf_main.c io_req->int_cpu = smp_processor_id(); io_req 2676 drivers/scsi/qedf/qedf_main.c struct qedf_ioreq *io_req; io_req 2684 drivers/scsi/qedf/qedf_main.c io_req = &qedf->cmd_mgr->cmds[xid]; io_req 2687 drivers/scsi/qedf/qedf_main.c if (!io_req) { io_req 2693 drivers/scsi/qedf/qedf_main.c fcport = io_req->fcport; io_req 2698 drivers/scsi/qedf/qedf_main.c xid, io_req); io_req 2716 drivers/scsi/qedf/qedf_main.c switch (io_req->cmd_type) { io_req 2718 drivers/scsi/qedf/qedf_main.c qedf_scsi_completion(qedf, cqe, io_req); io_req 2721 drivers/scsi/qedf/qedf_main.c qedf_process_els_compl(qedf, cqe, io_req); io_req 2724 drivers/scsi/qedf/qedf_main.c qedf_process_tmf_compl(qedf, cqe, io_req); io_req 2727 drivers/scsi/qedf/qedf_main.c qedf_process_seq_cleanup_compl(qedf, cqe, io_req); io_req 2735 drivers/scsi/qedf/qedf_main.c qedf_process_error_detect(qedf, cqe, io_req); io_req 2741 drivers/scsi/qedf/qedf_main.c qedf_process_cleanup_compl(qedf, cqe, io_req); io_req 2747 drivers/scsi/qedf/qedf_main.c qedf_process_abts_compl(qedf, cqe, io_req); io_req 2763 drivers/scsi/qedf/qedf_main.c qedf_process_warning_compl(qedf, cqe, io_req); io_req 101 drivers/staging/rtl8712/rtl871x_io.c struct io_req *pio_req; io_req 111 drivers/staging/rtl8712/rtl871x_io.c (sizeof(struct io_req)) + 4, io_req 118 drivers/staging/rtl8712/rtl871x_io.c pio_req = (struct io_req *)(pio_queue->free_ioreqs_buf); io_req 109 drivers/staging/rtl8712/rtl871x_io.h struct io_req *pio_req, u8 *cnxt); io_req 119 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt); io_req 271 drivers/staging/rtl8723bs/include/rtw_io.h extern void sync_ioreq_enqueue(struct io_req *preq, struct io_queue *ioqueue); io_req 275 drivers/staging/rtl8723bs/include/rtw_io.h extern uint free_ioreq(struct io_req *preq, struct io_queue *pio_queue); io_req 276 drivers/staging/rtl8723bs/include/rtw_io.h extern struct io_req *alloc_ioreq(struct io_queue *pio_q); io_req 320 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt), u8 *cnxt); io_req 322 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt), u8 *cnxt); io_req 324 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt), u8 *cnxt); io_req 330 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt), u8 *cnxt); io_req 332 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt), u8 *cnxt); io_req 334 drivers/staging/rtl8723bs/include/rtw_io.h void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, u8 *cnxt), u8 *cnxt); io_req 81 include/linux/dm-io.h int dm_io(struct dm_io_request *io_req, unsigned num_regions,