Lines Matching refs:rport
358 struct fc_rport *rport = starget_to_rport(starget); in fc_target_setup() local
365 if (rport) { in fc_target_setup()
366 fc_starget_node_name(starget) = rport->node_name; in fc_target_setup()
367 fc_starget_port_name(starget) = rport->port_name; in fc_target_setup()
368 fc_starget_port_id(starget) = rport->port_id; in fc_target_setup()
704 struct fc_rport *rport = transport_class_to_rport(dev); \
705 struct Scsi_Host *shost = rport_to_shost(rport); \
708 !((rport->port_state == FC_PORTSTATE_BLOCKED) || \
709 (rport->port_state == FC_PORTSTATE_DELETED) || \
710 (rport->port_state == FC_PORTSTATE_NOTPRESENT))) \
711 i->f->get_rport_##field(rport); \
712 return snprintf(buf, sz, format_string, cast rport->field); \
722 struct fc_rport *rport = transport_class_to_rport(dev); \
723 struct Scsi_Host *shost = rport_to_shost(rport); \
726 if ((rport->port_state == FC_PORTSTATE_BLOCKED) || \
727 (rport->port_state == FC_PORTSTATE_DELETED) || \
728 (rport->port_state == FC_PORTSTATE_NOTPRESENT)) \
733 i->f->set_rport_##field(rport, val); \
739 static FC_DEVICE_ATTR(rport, field, S_IRUGO, \
744 static FC_DEVICE_ATTR(rport, field, S_IRUGO, \
750 static FC_DEVICE_ATTR(rport, field, S_IRUGO | S_IWUSR, \
760 struct fc_rport *rport = transport_class_to_rport(dev); \
761 return snprintf(buf, sz, format_string, cast rport->field); \
766 static FC_DEVICE_ATTR(rport, field, S_IRUGO, \
771 static FC_DEVICE_ATTR(rport, field, S_IRUGO, \
780 struct fc_rport *rport = transport_class_to_rport(dev); \
782 name = get_fc_##title##_name(rport->title); \
787 static FC_DEVICE_ATTR(rport, title, S_IRUGO, \
834 struct fc_rport *rport = transport_class_to_rport(dev); in show_fc_rport_supported_classes() local
835 if (rport->supported_classes == FC_COS_UNSPECIFIED) in show_fc_rport_supported_classes()
837 return get_fc_cos_names(rport->supported_classes, buf); in show_fc_rport_supported_classes()
839 static FC_DEVICE_ATTR(rport, supported_classes, S_IRUGO,
863 static int fc_rport_set_dev_loss_tmo(struct fc_rport *rport, in fc_rport_set_dev_loss_tmo() argument
866 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_set_dev_loss_tmo()
869 if ((rport->port_state == FC_PORTSTATE_BLOCKED) || in fc_rport_set_dev_loss_tmo()
870 (rport->port_state == FC_PORTSTATE_DELETED) || in fc_rport_set_dev_loss_tmo()
871 (rport->port_state == FC_PORTSTATE_NOTPRESENT)) in fc_rport_set_dev_loss_tmo()
883 if (rport->fast_io_fail_tmo == -1 && in fc_rport_set_dev_loss_tmo()
887 i->f->set_rport_dev_loss_tmo(rport, val); in fc_rport_set_dev_loss_tmo()
896 struct fc_rport *rport = transport_class_to_rport(dev); in store_fc_rport_dev_loss_tmo() local
904 rc = fc_rport_set_dev_loss_tmo(rport, val); in store_fc_rport_dev_loss_tmo()
909 static FC_DEVICE_ATTR(rport, dev_loss_tmo, S_IRUGO | S_IWUSR,
923 struct fc_rport *rport = transport_class_to_rport(dev); in show_fc_rport_roles() local
926 if ((rport->port_id != -1) && in show_fc_rport_roles()
927 (rport->port_id & FC_WELLKNOWN_PORTID_MASK) == in show_fc_rport_roles()
929 switch (rport->port_id & FC_WELLKNOWN_ROLE_MASK) { in show_fc_rport_roles()
944 if (rport->roles == FC_PORT_ROLE_UNKNOWN) in show_fc_rport_roles()
946 return get_fc_port_roles_names(rport->roles, buf); in show_fc_rport_roles()
949 static FC_DEVICE_ATTR(rport, roles, S_IRUGO,
962 struct fc_rport *rport = transport_class_to_rport(dev); in show_fc_rport_fast_io_fail_tmo() local
964 if (rport->fast_io_fail_tmo == -1) in show_fc_rport_fast_io_fail_tmo()
966 return snprintf(buf, 20, "%d\n", rport->fast_io_fail_tmo); in show_fc_rport_fast_io_fail_tmo()
976 struct fc_rport *rport = transport_class_to_rport(dev); in store_fc_rport_fast_io_fail_tmo() local
978 if ((rport->port_state == FC_PORTSTATE_BLOCKED) || in store_fc_rport_fast_io_fail_tmo()
979 (rport->port_state == FC_PORTSTATE_DELETED) || in store_fc_rport_fast_io_fail_tmo()
980 (rport->port_state == FC_PORTSTATE_NOTPRESENT)) in store_fc_rport_fast_io_fail_tmo()
983 rport->fast_io_fail_tmo = -1; in store_fc_rport_fast_io_fail_tmo()
992 if ((val >= rport->dev_loss_tmo) || in store_fc_rport_fast_io_fail_tmo()
996 rport->fast_io_fail_tmo = val; in store_fc_rport_fast_io_fail_tmo()
1000 static FC_DEVICE_ATTR(rport, fast_io_fail_tmo, S_IRUGO | S_IWUSR,
1022 struct fc_rport *rport = starget_to_rport(starget); \
1023 if (rport) \
1024 fc_starget_##field(starget) = rport->field; \
1611 struct fc_rport *rport; in store_fc_private_host_tgtid_bind_type() local
1622 get_list_head_entry(rport, in store_fc_private_host_tgtid_bind_type()
1624 list_del(&rport->peers); in store_fc_private_host_tgtid_bind_type()
1625 rport->port_state = FC_PORTSTATE_DELETED; in store_fc_private_host_tgtid_bind_type()
1626 fc_queue_work(shost, &rport->rport_delete_work); in store_fc_private_host_tgtid_bind_type()
1666 struct fc_rport *rport; in store_fc_private_host_dev_loss_tmo() local
1676 list_for_each_entry(rport, &fc_host->rports, peers) in store_fc_private_host_dev_loss_tmo()
1677 fc_rport_set_dev_loss_tmo(rport, val); in store_fc_private_host_dev_loss_tmo()
1992 struct fc_rport *rport = dev_to_rport(dev); in fc_rport_dev_release() local
1994 kfree(rport); in fc_rport_dev_release()
2082 struct fc_rport *rport = starget_to_rport(scsi_target(scmd->device)); in fc_timed_out() local
2084 if (rport->port_state == FC_PORTSTATE_BLOCKED) in fc_timed_out()
2098 struct fc_rport *rport; in fc_user_scan_tgt() local
2103 list_for_each_entry(rport, &fc_host_rports(shost), peers) { in fc_user_scan_tgt()
2104 if (rport->scsi_target_id == -1) in fc_user_scan_tgt()
2107 if (rport->port_state != FC_PORTSTATE_ONLINE) in fc_user_scan_tgt()
2110 if ((channel == rport->channel) && in fc_user_scan_tgt()
2111 (id == rport->scsi_target_id)) { in fc_user_scan_tgt()
2113 scsi_scan_target(&rport->dev, channel, id, lun, 1); in fc_user_scan_tgt()
2441 struct fc_rport *rport = NULL, *next_rport = NULL; in fc_remove_host() local
2453 list_for_each_entry_safe(rport, next_rport, in fc_remove_host()
2455 list_del(&rport->peers); in fc_remove_host()
2456 rport->port_state = FC_PORTSTATE_DELETED; in fc_remove_host()
2457 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2460 list_for_each_entry_safe(rport, next_rport, in fc_remove_host()
2462 list_del(&rport->peers); in fc_remove_host()
2463 rport->port_state = FC_PORTSTATE_DELETED; in fc_remove_host()
2464 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2488 static void fc_terminate_rport_io(struct fc_rport *rport) in fc_terminate_rport_io() argument
2490 struct Scsi_Host *shost = rport_to_shost(rport); in fc_terminate_rport_io()
2495 i->f->terminate_rport_io(rport); in fc_terminate_rport_io()
2500 scsi_target_unblock(&rport->dev, SDEV_TRANSPORT_OFFLINE); in fc_terminate_rport_io()
2512 struct fc_rport *rport = in fc_starget_delete() local
2515 fc_terminate_rport_io(rport); in fc_starget_delete()
2516 scsi_remove_target(&rport->dev); in fc_starget_delete()
2527 struct fc_rport *rport = in fc_rport_final_delete() local
2529 struct device *dev = &rport->dev; in fc_rport_final_delete()
2530 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_final_delete()
2535 fc_terminate_rport_io(rport); in fc_rport_final_delete()
2541 if (rport->flags & FC_RPORT_SCAN_PENDING) in fc_rport_final_delete()
2550 if (rport->flags & FC_RPORT_DEVLOSS_PENDING) { in fc_rport_final_delete()
2552 if (!cancel_delayed_work(&rport->fail_io_work)) in fc_rport_final_delete()
2554 if (!cancel_delayed_work(&rport->dev_loss_work)) in fc_rport_final_delete()
2556 cancel_work_sync(&rport->scan_work); in fc_rport_final_delete()
2558 rport->flags &= ~FC_RPORT_DEVLOSS_PENDING; in fc_rport_final_delete()
2563 if (rport->scsi_target_id != -1) in fc_rport_final_delete()
2564 fc_starget_delete(&rport->stgt_delete_work); in fc_rport_final_delete()
2574 if (!(rport->flags & FC_RPORT_DEVLOSS_CALLBK_DONE) && in fc_rport_final_delete()
2576 rport->flags |= FC_RPORT_DEVLOSS_CALLBK_DONE; in fc_rport_final_delete()
2582 i->f->dev_loss_tmo_callbk(rport); in fc_rport_final_delete()
2584 fc_bsg_remove(rport->rqst_q); in fc_rport_final_delete()
2613 struct fc_rport *rport; in fc_rport_create() local
2620 rport = kzalloc(size, GFP_KERNEL); in fc_rport_create()
2621 if (unlikely(!rport)) { in fc_rport_create()
2626 rport->maxframe_size = -1; in fc_rport_create()
2627 rport->supported_classes = FC_COS_UNSPECIFIED; in fc_rport_create()
2628 rport->dev_loss_tmo = fc_host->dev_loss_tmo; in fc_rport_create()
2629 memcpy(&rport->node_name, &ids->node_name, sizeof(rport->node_name)); in fc_rport_create()
2630 memcpy(&rport->port_name, &ids->port_name, sizeof(rport->port_name)); in fc_rport_create()
2631 rport->port_id = ids->port_id; in fc_rport_create()
2632 rport->roles = ids->roles; in fc_rport_create()
2633 rport->port_state = FC_PORTSTATE_ONLINE; in fc_rport_create()
2635 rport->dd_data = &rport[1]; in fc_rport_create()
2636 rport->channel = channel; in fc_rport_create()
2637 rport->fast_io_fail_tmo = -1; in fc_rport_create()
2639 INIT_DELAYED_WORK(&rport->dev_loss_work, fc_timeout_deleted_rport); in fc_rport_create()
2640 INIT_DELAYED_WORK(&rport->fail_io_work, fc_timeout_fail_rport_io); in fc_rport_create()
2641 INIT_WORK(&rport->scan_work, fc_scsi_scan_rport); in fc_rport_create()
2642 INIT_WORK(&rport->stgt_delete_work, fc_starget_delete); in fc_rport_create()
2643 INIT_WORK(&rport->rport_delete_work, fc_rport_final_delete); in fc_rport_create()
2647 rport->number = fc_host->next_rport_number++; in fc_rport_create()
2648 if (rport->roles & FC_PORT_ROLE_FCP_TARGET) in fc_rport_create()
2649 rport->scsi_target_id = fc_host->next_target_id++; in fc_rport_create()
2651 rport->scsi_target_id = -1; in fc_rport_create()
2652 list_add_tail(&rport->peers, &fc_host->rports); in fc_rport_create()
2657 dev = &rport->dev; in fc_rport_create()
2662 shost->host_no, channel, rport->number); in fc_rport_create()
2673 fc_bsg_rportadd(shost, rport); in fc_rport_create()
2676 if (rport->roles & FC_PORT_ROLE_FCP_TARGET) { in fc_rport_create()
2678 rport->flags |= FC_RPORT_SCAN_PENDING; in fc_rport_create()
2679 scsi_queue_work(shost, &rport->scan_work); in fc_rport_create()
2682 return rport; in fc_rport_create()
2687 list_del(&rport->peers); in fc_rport_create()
2691 kfree(rport); in fc_rport_create()
2739 struct fc_rport *rport; in fc_remote_port_add() local
2753 list_for_each_entry(rport, &fc_host->rports, peers) { in fc_remote_port_add()
2755 if ((rport->port_state == FC_PORTSTATE_BLOCKED) && in fc_remote_port_add()
2756 (rport->channel == channel)) { in fc_remote_port_add()
2761 if (rport->port_name == ids->port_name) in fc_remote_port_add()
2765 if (rport->node_name == ids->node_name) in fc_remote_port_add()
2769 if (rport->port_id == ids->port_id) in fc_remote_port_add()
2776 memcpy(&rport->node_name, &ids->node_name, in fc_remote_port_add()
2777 sizeof(rport->node_name)); in fc_remote_port_add()
2778 memcpy(&rport->port_name, &ids->port_name, in fc_remote_port_add()
2779 sizeof(rport->port_name)); in fc_remote_port_add()
2780 rport->port_id = ids->port_id; in fc_remote_port_add()
2782 rport->port_state = FC_PORTSTATE_ONLINE; in fc_remote_port_add()
2783 rport->roles = ids->roles; in fc_remote_port_add()
2788 memset(rport->dd_data, 0, in fc_remote_port_add()
2808 if ((rport->scsi_target_id != -1) && in fc_remote_port_add()
2810 return rport; in fc_remote_port_add()
2817 if (!cancel_delayed_work(&rport->fail_io_work)) in fc_remote_port_add()
2819 if (!cancel_delayed_work(&rport->dev_loss_work)) in fc_remote_port_add()
2824 rport->flags &= ~(FC_RPORT_FAST_FAIL_TIMEDOUT | in fc_remote_port_add()
2831 if (rport->scsi_target_id != -1) { in fc_remote_port_add()
2832 scsi_target_unblock(&rport->dev, in fc_remote_port_add()
2836 rport->flags |= FC_RPORT_SCAN_PENDING; in fc_remote_port_add()
2838 &rport->scan_work); in fc_remote_port_add()
2843 fc_bsg_goose_queue(rport); in fc_remote_port_add()
2845 return rport; in fc_remote_port_add()
2858 list_for_each_entry(rport, &fc_host->rport_bindings, in fc_remote_port_add()
2860 if (rport->channel != channel) in fc_remote_port_add()
2865 if (rport->port_name == ids->port_name) in fc_remote_port_add()
2869 if (rport->node_name == ids->node_name) in fc_remote_port_add()
2873 if (rport->port_id == ids->port_id) in fc_remote_port_add()
2881 list_move_tail(&rport->peers, &fc_host->rports); in fc_remote_port_add()
2887 memcpy(&rport->node_name, &ids->node_name, in fc_remote_port_add()
2888 sizeof(rport->node_name)); in fc_remote_port_add()
2889 memcpy(&rport->port_name, &ids->port_name, in fc_remote_port_add()
2890 sizeof(rport->port_name)); in fc_remote_port_add()
2891 rport->port_id = ids->port_id; in fc_remote_port_add()
2892 rport->roles = ids->roles; in fc_remote_port_add()
2893 rport->port_state = FC_PORTSTATE_ONLINE; in fc_remote_port_add()
2894 rport->flags &= ~FC_RPORT_FAST_FAIL_TIMEDOUT; in fc_remote_port_add()
2897 memset(rport->dd_data, 0, in fc_remote_port_add()
2902 scsi_target_unblock(&rport->dev, SDEV_RUNNING); in fc_remote_port_add()
2906 rport->flags |= FC_RPORT_SCAN_PENDING; in fc_remote_port_add()
2907 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_add()
2910 return rport; in fc_remote_port_add()
2917 rport = fc_rport_create(shost, channel, ids); in fc_remote_port_add()
2919 return rport; in fc_remote_port_add()
2975 fc_remote_port_delete(struct fc_rport *rport) in fc_remote_port_delete() argument
2977 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_delete()
2978 unsigned long timeout = rport->dev_loss_tmo; in fc_remote_port_delete()
2991 if (rport->port_state != FC_PORTSTATE_ONLINE) { in fc_remote_port_delete()
3009 rport->port_state = FC_PORTSTATE_BLOCKED; in fc_remote_port_delete()
3011 rport->flags |= FC_RPORT_DEVLOSS_PENDING; in fc_remote_port_delete()
3015 scsi_target_block(&rport->dev); in fc_remote_port_delete()
3018 if ((rport->fast_io_fail_tmo != -1) && in fc_remote_port_delete()
3019 (rport->fast_io_fail_tmo < timeout)) in fc_remote_port_delete()
3020 fc_queue_devloss_work(shost, &rport->fail_io_work, in fc_remote_port_delete()
3021 rport->fast_io_fail_tmo * HZ); in fc_remote_port_delete()
3024 fc_queue_devloss_work(shost, &rport->dev_loss_work, timeout * HZ); in fc_remote_port_delete()
3049 fc_remote_port_rolechg(struct fc_rport *rport, u32 roles) in fc_remote_port_rolechg() argument
3051 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_rolechg()
3058 if (rport->scsi_target_id == -1) { in fc_remote_port_rolechg()
3059 rport->scsi_target_id = fc_host->next_target_id++; in fc_remote_port_rolechg()
3061 } else if (!(rport->roles & FC_PORT_ROLE_FCP_TARGET)) in fc_remote_port_rolechg()
3065 rport->roles = roles; in fc_remote_port_rolechg()
3082 if (!cancel_delayed_work(&rport->fail_io_work)) in fc_remote_port_rolechg()
3084 if (!cancel_delayed_work(&rport->dev_loss_work)) in fc_remote_port_rolechg()
3088 rport->flags &= ~(FC_RPORT_FAST_FAIL_TIMEDOUT | in fc_remote_port_rolechg()
3096 scsi_target_unblock(&rport->dev, SDEV_RUNNING); in fc_remote_port_rolechg()
3099 rport->flags |= FC_RPORT_SCAN_PENDING; in fc_remote_port_rolechg()
3100 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_rolechg()
3116 struct fc_rport *rport = in fc_timeout_deleted_rport() local
3118 struct Scsi_Host *shost = rport_to_shost(rport); in fc_timeout_deleted_rport()
3126 rport->flags &= ~FC_RPORT_DEVLOSS_PENDING; in fc_timeout_deleted_rport()
3133 if ((rport->port_state == FC_PORTSTATE_ONLINE) && in fc_timeout_deleted_rport()
3134 (rport->scsi_target_id != -1) && in fc_timeout_deleted_rport()
3135 !(rport->roles & FC_PORT_ROLE_FCP_TARGET)) { in fc_timeout_deleted_rport()
3136 dev_printk(KERN_ERR, &rport->dev, in fc_timeout_deleted_rport()
3140 scsi_target_unblock(&rport->dev, SDEV_TRANSPORT_OFFLINE); in fc_timeout_deleted_rport()
3141 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3146 if (rport->port_state != FC_PORTSTATE_BLOCKED) { in fc_timeout_deleted_rport()
3148 dev_printk(KERN_ERR, &rport->dev, in fc_timeout_deleted_rport()
3151 (rport->scsi_target_id != -1) ? " and starget" : ""); in fc_timeout_deleted_rport()
3156 (rport->scsi_target_id == -1)) { in fc_timeout_deleted_rport()
3157 list_del(&rport->peers); in fc_timeout_deleted_rport()
3158 rport->port_state = FC_PORTSTATE_DELETED; in fc_timeout_deleted_rport()
3159 dev_printk(KERN_ERR, &rport->dev, in fc_timeout_deleted_rport()
3162 (rport->scsi_target_id != -1) ? " and starget" : ""); in fc_timeout_deleted_rport()
3163 fc_queue_work(shost, &rport->rport_delete_work); in fc_timeout_deleted_rport()
3168 dev_printk(KERN_ERR, &rport->dev, in fc_timeout_deleted_rport()
3172 list_move_tail(&rport->peers, &fc_host->rport_bindings); in fc_timeout_deleted_rport()
3183 rport->maxframe_size = -1; in fc_timeout_deleted_rport()
3184 rport->supported_classes = FC_COS_UNSPECIFIED; in fc_timeout_deleted_rport()
3185 rport->roles = FC_PORT_ROLE_UNKNOWN; in fc_timeout_deleted_rport()
3186 rport->port_state = FC_PORTSTATE_NOTPRESENT; in fc_timeout_deleted_rport()
3187 rport->flags &= ~FC_RPORT_FAST_FAIL_TIMEDOUT; in fc_timeout_deleted_rport()
3195 fc_terminate_rport_io(rport); in fc_timeout_deleted_rport()
3199 if (rport->port_state == FC_PORTSTATE_NOTPRESENT) { /* still missing */ in fc_timeout_deleted_rport()
3204 rport->node_name = -1; in fc_timeout_deleted_rport()
3205 rport->port_id = -1; in fc_timeout_deleted_rport()
3208 rport->port_name = -1; in fc_timeout_deleted_rport()
3209 rport->port_id = -1; in fc_timeout_deleted_rport()
3212 rport->node_name = -1; in fc_timeout_deleted_rport()
3213 rport->port_name = -1; in fc_timeout_deleted_rport()
3224 rport->flags |= FC_RPORT_DEVLOSS_CALLBK_DONE; in fc_timeout_deleted_rport()
3225 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3239 i->f->dev_loss_tmo_callbk(rport); in fc_timeout_deleted_rport()
3253 struct fc_rport *rport = in fc_timeout_fail_rport_io() local
3256 if (rport->port_state != FC_PORTSTATE_BLOCKED) in fc_timeout_fail_rport_io()
3259 rport->flags |= FC_RPORT_FAST_FAIL_TIMEDOUT; in fc_timeout_fail_rport_io()
3260 fc_terminate_rport_io(rport); in fc_timeout_fail_rport_io()
3270 struct fc_rport *rport = in fc_scsi_scan_rport() local
3272 struct Scsi_Host *shost = rport_to_shost(rport); in fc_scsi_scan_rport()
3276 if ((rport->port_state == FC_PORTSTATE_ONLINE) && in fc_scsi_scan_rport()
3277 (rport->roles & FC_PORT_ROLE_FCP_TARGET) && in fc_scsi_scan_rport()
3279 scsi_scan_target(&rport->dev, rport->channel, in fc_scsi_scan_rport()
3280 rport->scsi_target_id, SCAN_WILD_CARD, 1); in fc_scsi_scan_rport()
3284 rport->flags &= ~FC_RPORT_SCAN_PENDING; in fc_scsi_scan_rport()
3305 struct fc_rport *rport = starget_to_rport(scsi_target(cmnd->device)); in fc_block_scsi_eh() local
3309 while (rport->port_state == FC_PORTSTATE_BLOCKED && in fc_block_scsi_eh()
3310 !(rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)) { in fc_block_scsi_eh()
3317 if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT) in fc_block_scsi_eh()
3644 if (job->rport && job->rport->port_state == FC_PORTSTATE_BLOCKED) in fc_bsg_job_timeout()
3697 fc_req_to_bsgjob(struct Scsi_Host *shost, struct fc_rport *rport, in fc_req_to_bsgjob() argument
3723 job->rport = rport; in fc_req_to_bsgjob()
3744 if (rport) in fc_req_to_bsgjob()
3745 job->dev = &rport->dev; in fc_req_to_bsgjob()
3855 fc_bsg_goose_queue(struct fc_rport *rport) in fc_bsg_goose_queue() argument
3857 if (!rport->rqst_q) in fc_bsg_goose_queue()
3863 get_device(&rport->dev); in fc_bsg_goose_queue()
3864 blk_run_queue_async(rport->rqst_q); in fc_bsg_goose_queue()
3865 put_device(&rport->dev); in fc_bsg_goose_queue()
3877 struct fc_rport *rport, struct fc_bsg_job *job) in fc_bsg_rport_dispatch() argument
3934 struct fc_rport *rport, struct device *dev) in fc_bsg_request_handler() argument
3944 if (rport && (rport->port_state == FC_PORTSTATE_BLOCKED) && in fc_bsg_request_handler()
3945 !(rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)) in fc_bsg_request_handler()
3952 if (rport && (rport->port_state != FC_PORTSTATE_ONLINE)) { in fc_bsg_request_handler()
3962 ret = fc_req_to_bsgjob(shost, rport, req); in fc_bsg_request_handler()
3984 if (rport) in fc_bsg_request_handler()
3985 ret = fc_bsg_rport_dispatch(q, shost, rport, job); in fc_bsg_request_handler()
4024 struct fc_rport *rport = q->queuedata; in fc_bsg_rport_handler() local
4025 struct Scsi_Host *shost = rport_to_shost(rport); in fc_bsg_rport_handler()
4027 fc_bsg_request_handler(q, shost, rport, &rport->dev); in fc_bsg_rport_handler()
4087 fc_bsg_rportadd(struct Scsi_Host *shost, struct fc_rport *rport) in fc_bsg_rportadd() argument
4089 struct device *dev = &rport->dev; in fc_bsg_rportadd()
4094 rport->rqst_q = NULL; in fc_bsg_rportadd()
4107 q->queuedata = rport; in fc_bsg_rportadd()
4122 rport->rqst_q = q; in fc_bsg_rportadd()