diff options
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 19 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 18 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 13 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 22 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.c | 8 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_vport.c | 3 |
6 files changed, 38 insertions, 45 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index 87bea176ac05..d09eb533a27d 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -48,7 +48,6 @@ int lpfc_linkdown(struct lpfc_hba *); | |||
48 | void lpfc_port_link_failure(struct lpfc_vport *); | 48 | void lpfc_port_link_failure(struct lpfc_vport *); |
49 | void lpfc_mbx_cmpl_read_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | 49 | void lpfc_mbx_cmpl_read_la(struct lpfc_hba *, LPFC_MBOXQ_t *); |
50 | 50 | ||
51 | void lpfc_mbx_cmpl_clear_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | ||
52 | void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 51 | void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
53 | void lpfc_mbx_cmpl_dflt_rpi(struct lpfc_hba *, LPFC_MBOXQ_t *); | 52 | void lpfc_mbx_cmpl_dflt_rpi(struct lpfc_hba *, LPFC_MBOXQ_t *); |
54 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 53 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
@@ -73,13 +72,11 @@ int lpfc_nlp_not_used(struct lpfc_nodelist *ndlp); | |||
73 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_vport *, uint32_t); | 72 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_vport *, uint32_t); |
74 | void lpfc_disc_list_loopmap(struct lpfc_vport *); | 73 | void lpfc_disc_list_loopmap(struct lpfc_vport *); |
75 | void lpfc_disc_start(struct lpfc_vport *); | 74 | void lpfc_disc_start(struct lpfc_vport *); |
76 | void lpfc_disc_flush_list(struct lpfc_vport *); | ||
77 | void lpfc_cleanup_discovery_resources(struct lpfc_vport *); | 75 | void lpfc_cleanup_discovery_resources(struct lpfc_vport *); |
78 | void lpfc_cleanup(struct lpfc_vport *); | 76 | void lpfc_cleanup(struct lpfc_vport *); |
79 | void lpfc_disc_timeout(unsigned long); | 77 | void lpfc_disc_timeout(unsigned long); |
80 | 78 | ||
81 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); | 79 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); |
82 | struct lpfc_nodelist *lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); | ||
83 | 80 | ||
84 | void lpfc_worker_wake_up(struct lpfc_hba *); | 81 | void lpfc_worker_wake_up(struct lpfc_hba *); |
85 | int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t); | 82 | int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t); |
@@ -87,8 +84,6 @@ int lpfc_do_work(void *); | |||
87 | int lpfc_disc_state_machine(struct lpfc_vport *, struct lpfc_nodelist *, void *, | 84 | int lpfc_disc_state_machine(struct lpfc_vport *, struct lpfc_nodelist *, void *, |
88 | uint32_t); | 85 | uint32_t); |
89 | 86 | ||
90 | void lpfc_register_new_vport(struct lpfc_hba *, struct lpfc_vport *, | ||
91 | struct lpfc_nodelist *); | ||
92 | void lpfc_do_scr_ns_plogi(struct lpfc_hba *, struct lpfc_vport *); | 87 | void lpfc_do_scr_ns_plogi(struct lpfc_hba *, struct lpfc_vport *); |
93 | int lpfc_check_sparm(struct lpfc_vport *, struct lpfc_nodelist *, | 88 | int lpfc_check_sparm(struct lpfc_vport *, struct lpfc_nodelist *, |
94 | struct serv_parm *, uint32_t); | 89 | struct serv_parm *, uint32_t); |
@@ -99,7 +94,6 @@ int lpfc_els_chk_latt(struct lpfc_vport *); | |||
99 | int lpfc_els_abort_flogi(struct lpfc_hba *); | 94 | int lpfc_els_abort_flogi(struct lpfc_hba *); |
100 | int lpfc_initial_flogi(struct lpfc_vport *); | 95 | int lpfc_initial_flogi(struct lpfc_vport *); |
101 | int lpfc_initial_fdisc(struct lpfc_vport *); | 96 | int lpfc_initial_fdisc(struct lpfc_vport *); |
102 | int lpfc_issue_els_fdisc(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); | ||
103 | int lpfc_issue_els_plogi(struct lpfc_vport *, uint32_t, uint8_t); | 97 | int lpfc_issue_els_plogi(struct lpfc_vport *, uint32_t, uint8_t); |
104 | int lpfc_issue_els_prli(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); | 98 | int lpfc_issue_els_prli(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); |
105 | int lpfc_issue_els_adisc(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); | 99 | int lpfc_issue_els_adisc(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); |
@@ -119,7 +113,6 @@ int lpfc_els_rsp_prli_acc(struct lpfc_vport *, struct lpfc_iocbq *, | |||
119 | void lpfc_cancel_retry_delay_tmo(struct lpfc_vport *, struct lpfc_nodelist *); | 113 | void lpfc_cancel_retry_delay_tmo(struct lpfc_vport *, struct lpfc_nodelist *); |
120 | void lpfc_els_retry_delay(unsigned long); | 114 | void lpfc_els_retry_delay(unsigned long); |
121 | void lpfc_els_retry_delay_handler(struct lpfc_nodelist *); | 115 | void lpfc_els_retry_delay_handler(struct lpfc_nodelist *); |
122 | void lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *); | ||
123 | void lpfc_els_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, | 116 | void lpfc_els_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, |
124 | struct lpfc_iocbq *); | 117 | struct lpfc_iocbq *); |
125 | int lpfc_els_handle_rscn(struct lpfc_vport *); | 118 | int lpfc_els_handle_rscn(struct lpfc_vport *); |
@@ -131,7 +124,6 @@ int lpfc_els_disc_adisc(struct lpfc_vport *); | |||
131 | int lpfc_els_disc_plogi(struct lpfc_vport *); | 124 | int lpfc_els_disc_plogi(struct lpfc_vport *); |
132 | void lpfc_els_timeout(unsigned long); | 125 | void lpfc_els_timeout(unsigned long); |
133 | void lpfc_els_timeout_handler(struct lpfc_vport *); | 126 | void lpfc_els_timeout_handler(struct lpfc_vport *); |
134 | void lpfc_hb_timeout(unsigned long); | ||
135 | void lpfc_hb_timeout_handler(struct lpfc_hba *); | 127 | void lpfc_hb_timeout_handler(struct lpfc_hba *); |
136 | 128 | ||
137 | void lpfc_ct_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, | 129 | void lpfc_ct_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, |
@@ -149,7 +141,6 @@ void lpfc_hba_init(struct lpfc_hba *, uint32_t *); | |||
149 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); | 141 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); |
150 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); | 142 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); |
151 | int lpfc_online(struct lpfc_hba *); | 143 | int lpfc_online(struct lpfc_hba *); |
152 | void lpfc_block_mgmt_io(struct lpfc_hba *); | ||
153 | void lpfc_unblock_mgmt_io(struct lpfc_hba *); | 144 | void lpfc_unblock_mgmt_io(struct lpfc_hba *); |
154 | void lpfc_offline_prep(struct lpfc_hba *); | 145 | void lpfc_offline_prep(struct lpfc_hba *); |
155 | void lpfc_offline(struct lpfc_hba *); | 146 | void lpfc_offline(struct lpfc_hba *); |
@@ -172,7 +163,6 @@ int lpfc_mbox_tmo_val(struct lpfc_hba *, int); | |||
172 | 163 | ||
173 | void lpfc_config_hbq(struct lpfc_hba *, uint32_t, struct lpfc_hbq_init *, | 164 | void lpfc_config_hbq(struct lpfc_hba *, uint32_t, struct lpfc_hbq_init *, |
174 | uint32_t , LPFC_MBOXQ_t *); | 165 | uint32_t , LPFC_MBOXQ_t *); |
175 | struct lpfc_hbq_entry * lpfc_sli_next_hbq_slot(struct lpfc_hba *, uint32_t); | ||
176 | struct hbq_dmabuf *lpfc_els_hbq_alloc(struct lpfc_hba *); | 166 | struct hbq_dmabuf *lpfc_els_hbq_alloc(struct lpfc_hba *); |
177 | void lpfc_els_hbq_free(struct lpfc_hba *, struct hbq_dmabuf *); | 167 | void lpfc_els_hbq_free(struct lpfc_hba *, struct hbq_dmabuf *); |
178 | 168 | ||
@@ -185,7 +175,6 @@ void lpfc_poll_start_timer(struct lpfc_hba * phba); | |||
185 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba * hba); | 175 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba * hba); |
186 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); | 176 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); |
187 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 177 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
188 | void __lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | ||
189 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 178 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
190 | 179 | ||
191 | void lpfc_reset_barrier(struct lpfc_hba * phba); | 180 | void lpfc_reset_barrier(struct lpfc_hba * phba); |
@@ -217,10 +206,8 @@ struct lpfc_dmabuf * lpfc_sli_ring_taggedbuf_get(struct lpfc_hba *, | |||
217 | struct lpfc_sli_ring *, uint32_t ); | 206 | struct lpfc_sli_ring *, uint32_t ); |
218 | 207 | ||
219 | int lpfc_sli_hbq_count(void); | 208 | int lpfc_sli_hbq_count(void); |
220 | int lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *, uint32_t); | ||
221 | int lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *, uint32_t); | 209 | int lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *, uint32_t); |
222 | void lpfc_sli_hbqbuf_free_all(struct lpfc_hba *); | 210 | void lpfc_sli_hbqbuf_free_all(struct lpfc_hba *); |
223 | struct hbq_dmabuf *lpfc_sli_hbqbuf_find(struct lpfc_hba *, uint32_t); | ||
224 | int lpfc_sli_hbq_size(void); | 211 | int lpfc_sli_hbq_size(void); |
225 | int lpfc_sli_issue_abort_iotag(struct lpfc_hba *, struct lpfc_sli_ring *, | 212 | int lpfc_sli_issue_abort_iotag(struct lpfc_hba *, struct lpfc_sli_ring *, |
226 | struct lpfc_iocbq *); | 213 | struct lpfc_iocbq *); |
@@ -231,9 +218,6 @@ int lpfc_sli_abort_iocb(struct lpfc_vport *, struct lpfc_sli_ring *, uint16_t, | |||
231 | void lpfc_mbox_timeout(unsigned long); | 218 | void lpfc_mbox_timeout(unsigned long); |
232 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); | 219 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); |
233 | 220 | ||
234 | struct lpfc_nodelist *__lpfc_find_node(struct lpfc_vport *, node_filter, | ||
235 | void *); | ||
236 | struct lpfc_nodelist *lpfc_find_node(struct lpfc_vport *, node_filter, void *); | ||
237 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_vport *, uint32_t); | 221 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_vport *, uint32_t); |
238 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_vport *, | 222 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_vport *, |
239 | struct lpfc_name *); | 223 | struct lpfc_name *); |
@@ -294,11 +278,8 @@ extern void lpfc_debugfs_slow_ring_trc(struct lpfc_hba *, char *, uint32_t, | |||
294 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; | 278 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; |
295 | 279 | ||
296 | /* Interface exported by fabric iocb scheduler */ | 280 | /* Interface exported by fabric iocb scheduler */ |
297 | int lpfc_issue_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *); | ||
298 | void lpfc_fabric_abort_vport(struct lpfc_vport *); | ||
299 | void lpfc_fabric_abort_nport(struct lpfc_nodelist *); | 281 | void lpfc_fabric_abort_nport(struct lpfc_nodelist *); |
300 | void lpfc_fabric_abort_hba(struct lpfc_hba *); | 282 | void lpfc_fabric_abort_hba(struct lpfc_hba *); |
301 | void lpfc_fabric_abort_flogi(struct lpfc_hba *); | ||
302 | void lpfc_fabric_block_timeout(unsigned long); | 283 | void lpfc_fabric_block_timeout(unsigned long); |
303 | void lpfc_unblock_fabric_iocbs(struct lpfc_hba *); | 284 | void lpfc_unblock_fabric_iocbs(struct lpfc_hba *); |
304 | void lpfc_adjust_queue_depth(struct lpfc_hba *); | 285 | void lpfc_adjust_queue_depth(struct lpfc_hba *); |
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 9315c3c2e6f6..bf332cba2fc0 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -42,6 +42,14 @@ static int lpfc_els_retry(struct lpfc_hba *, struct lpfc_iocbq *, | |||
42 | struct lpfc_iocbq *); | 42 | struct lpfc_iocbq *); |
43 | static void lpfc_cmpl_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *, | 43 | static void lpfc_cmpl_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *, |
44 | struct lpfc_iocbq *); | 44 | struct lpfc_iocbq *); |
45 | static void lpfc_fabric_abort_vport(struct lpfc_vport *vport); | ||
46 | static int lpfc_issue_els_fdisc(struct lpfc_vport *vport, | ||
47 | struct lpfc_nodelist *ndlp, uint8_t retry); | ||
48 | static int lpfc_issue_fabric_iocb(struct lpfc_hba *phba, | ||
49 | struct lpfc_iocbq *iocb); | ||
50 | static void lpfc_register_new_vport(struct lpfc_hba *phba, | ||
51 | struct lpfc_vport *vport, | ||
52 | struct lpfc_nodelist *ndlp); | ||
45 | 53 | ||
46 | static int lpfc_max_els_tries = 3; | 54 | static int lpfc_max_els_tries = 3; |
47 | 55 | ||
@@ -4254,7 +4262,7 @@ lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
4254 | return; | 4262 | return; |
4255 | } | 4263 | } |
4256 | 4264 | ||
4257 | void | 4265 | static void |
4258 | lpfc_register_new_vport(struct lpfc_hba *phba, struct lpfc_vport *vport, | 4266 | lpfc_register_new_vport(struct lpfc_hba *phba, struct lpfc_vport *vport, |
4259 | struct lpfc_nodelist *ndlp) | 4267 | struct lpfc_nodelist *ndlp) |
4260 | { | 4268 | { |
@@ -4369,7 +4377,7 @@ out: | |||
4369 | lpfc_els_free_iocb(phba, cmdiocb); | 4377 | lpfc_els_free_iocb(phba, cmdiocb); |
4370 | } | 4378 | } |
4371 | 4379 | ||
4372 | int | 4380 | static int |
4373 | lpfc_issue_els_fdisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, | 4381 | lpfc_issue_els_fdisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, |
4374 | uint8_t retry) | 4382 | uint8_t retry) |
4375 | { | 4383 | { |
@@ -4642,7 +4650,7 @@ lpfc_cmpl_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | |||
4642 | } | 4650 | } |
4643 | } | 4651 | } |
4644 | 4652 | ||
4645 | int | 4653 | static int |
4646 | lpfc_issue_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *iocb) | 4654 | lpfc_issue_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *iocb) |
4647 | { | 4655 | { |
4648 | unsigned long iflags; | 4656 | unsigned long iflags; |
@@ -4686,7 +4694,7 @@ lpfc_issue_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *iocb) | |||
4686 | } | 4694 | } |
4687 | 4695 | ||
4688 | 4696 | ||
4689 | void lpfc_fabric_abort_vport(struct lpfc_vport *vport) | 4697 | static void lpfc_fabric_abort_vport(struct lpfc_vport *vport) |
4690 | { | 4698 | { |
4691 | LIST_HEAD(completions); | 4699 | LIST_HEAD(completions); |
4692 | struct lpfc_hba *phba = vport->phba; | 4700 | struct lpfc_hba *phba = vport->phba; |
@@ -4766,6 +4774,7 @@ void lpfc_fabric_abort_hba(struct lpfc_hba *phba) | |||
4766 | } | 4774 | } |
4767 | 4775 | ||
4768 | 4776 | ||
4777 | #if 0 | ||
4769 | void lpfc_fabric_abort_flogi(struct lpfc_hba *phba) | 4778 | void lpfc_fabric_abort_flogi(struct lpfc_hba *phba) |
4770 | { | 4779 | { |
4771 | LIST_HEAD(completions); | 4780 | LIST_HEAD(completions); |
@@ -4796,5 +4805,6 @@ void lpfc_fabric_abort_flogi(struct lpfc_hba *phba) | |||
4796 | (piocb->iocb_cmpl) (phba, piocb, piocb); | 4805 | (piocb->iocb_cmpl) (phba, piocb, piocb); |
4797 | } | 4806 | } |
4798 | } | 4807 | } |
4808 | #endif /* 0 */ | ||
4799 | 4809 | ||
4800 | 4810 | ||
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 371f41e886d6..74c3b7039c9e 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -57,6 +57,7 @@ static uint8_t lpfcAlpaArray[] = { | |||
57 | }; | 57 | }; |
58 | 58 | ||
59 | static void lpfc_disc_timeout_handler(struct lpfc_vport *); | 59 | static void lpfc_disc_timeout_handler(struct lpfc_vport *); |
60 | static void lpfc_disc_flush_list(struct lpfc_vport *vport); | ||
60 | 61 | ||
61 | void | 62 | void |
62 | lpfc_terminate_rport_io(struct fc_rport *rport) | 63 | lpfc_terminate_rport_io(struct fc_rport *rport) |
@@ -170,7 +171,7 @@ lpfc_dev_loss_tmo_callbk(struct fc_rport *rport) | |||
170 | * This function is called from the worker thread when dev_loss_tmo | 171 | * This function is called from the worker thread when dev_loss_tmo |
171 | * expire. | 172 | * expire. |
172 | */ | 173 | */ |
173 | void | 174 | static void |
174 | lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp) | 175 | lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp) |
175 | { | 176 | { |
176 | struct lpfc_rport_data *rdata; | 177 | struct lpfc_rport_data *rdata; |
@@ -752,7 +753,7 @@ lpfc_linkup(struct lpfc_hba *phba) | |||
752 | * as the completion routine when the command is | 753 | * as the completion routine when the command is |
753 | * handed off to the SLI layer. | 754 | * handed off to the SLI layer. |
754 | */ | 755 | */ |
755 | void | 756 | static void |
756 | lpfc_mbx_cmpl_clear_la(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | 757 | lpfc_mbx_cmpl_clear_la(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) |
757 | { | 758 | { |
758 | struct lpfc_vport *vport = pmb->vport; | 759 | struct lpfc_vport *vport = pmb->vport; |
@@ -2452,7 +2453,7 @@ lpfc_free_tx(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp) | |||
2452 | } | 2453 | } |
2453 | } | 2454 | } |
2454 | 2455 | ||
2455 | void | 2456 | static void |
2456 | lpfc_disc_flush_list(struct lpfc_vport *vport) | 2457 | lpfc_disc_flush_list(struct lpfc_vport *vport) |
2457 | { | 2458 | { |
2458 | struct lpfc_nodelist *ndlp, *next_ndlp; | 2459 | struct lpfc_nodelist *ndlp, *next_ndlp; |
@@ -2783,7 +2784,7 @@ lpfc_filter_by_wwpn(struct lpfc_nodelist *ndlp, void *param) | |||
2783 | sizeof(ndlp->nlp_portname)) == 0; | 2784 | sizeof(ndlp->nlp_portname)) == 0; |
2784 | } | 2785 | } |
2785 | 2786 | ||
2786 | struct lpfc_nodelist * | 2787 | static struct lpfc_nodelist * |
2787 | __lpfc_find_node(struct lpfc_vport *vport, node_filter filter, void *param) | 2788 | __lpfc_find_node(struct lpfc_vport *vport, node_filter filter, void *param) |
2788 | { | 2789 | { |
2789 | struct lpfc_nodelist *ndlp; | 2790 | struct lpfc_nodelist *ndlp; |
@@ -2795,6 +2796,7 @@ __lpfc_find_node(struct lpfc_vport *vport, node_filter filter, void *param) | |||
2795 | return NULL; | 2796 | return NULL; |
2796 | } | 2797 | } |
2797 | 2798 | ||
2799 | #if 0 | ||
2798 | /* | 2800 | /* |
2799 | * Search node lists for a remote port matching filter criteria | 2801 | * Search node lists for a remote port matching filter criteria |
2800 | * Caller needs to hold host_lock before calling this routine. | 2802 | * Caller needs to hold host_lock before calling this routine. |
@@ -2810,6 +2812,7 @@ lpfc_find_node(struct lpfc_vport *vport, node_filter filter, void *param) | |||
2810 | spin_unlock_irq(shost->host_lock); | 2812 | spin_unlock_irq(shost->host_lock); |
2811 | return ndlp; | 2813 | return ndlp; |
2812 | } | 2814 | } |
2815 | #endif /* 0 */ | ||
2813 | 2816 | ||
2814 | /* | 2817 | /* |
2815 | * This routine looks up the ndlp lists for the given RPI. If rpi found it | 2818 | * This routine looks up the ndlp lists for the given RPI. If rpi found it |
@@ -2821,6 +2824,7 @@ __lpfc_findnode_rpi(struct lpfc_vport *vport, uint16_t rpi) | |||
2821 | return __lpfc_find_node(vport, lpfc_filter_by_rpi, &rpi); | 2824 | return __lpfc_find_node(vport, lpfc_filter_by_rpi, &rpi); |
2822 | } | 2825 | } |
2823 | 2826 | ||
2827 | #if 0 | ||
2824 | struct lpfc_nodelist * | 2828 | struct lpfc_nodelist * |
2825 | lpfc_findnode_rpi(struct lpfc_vport *vport, uint16_t rpi) | 2829 | lpfc_findnode_rpi(struct lpfc_vport *vport, uint16_t rpi) |
2826 | { | 2830 | { |
@@ -2832,6 +2836,7 @@ lpfc_findnode_rpi(struct lpfc_vport *vport, uint16_t rpi) | |||
2832 | spin_unlock_irq(shost->host_lock); | 2836 | spin_unlock_irq(shost->host_lock); |
2833 | return ndlp; | 2837 | return ndlp; |
2834 | } | 2838 | } |
2839 | #endif /* 0 */ | ||
2835 | 2840 | ||
2836 | /* | 2841 | /* |
2837 | * This routine looks up the ndlp lists for the given WWPN. If WWPN found it | 2842 | * This routine looks up the ndlp lists for the given WWPN. If WWPN found it |
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 0615af41c7b5..0143baf4ba3b 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -508,7 +508,7 @@ lpfc_hba_down_post(struct lpfc_hba *phba) | |||
508 | } | 508 | } |
509 | 509 | ||
510 | /* HBA heart beat timeout handler */ | 510 | /* HBA heart beat timeout handler */ |
511 | void | 511 | static void |
512 | lpfc_hb_timeout(unsigned long ptr) | 512 | lpfc_hb_timeout(unsigned long ptr) |
513 | { | 513 | { |
514 | struct lpfc_hba *phba; | 514 | struct lpfc_hba *phba; |
@@ -1429,6 +1429,16 @@ lpfc_stop_phba_timers(struct lpfc_hba *phba) | |||
1429 | return; | 1429 | return; |
1430 | } | 1430 | } |
1431 | 1431 | ||
1432 | static void | ||
1433 | lpfc_block_mgmt_io(struct lpfc_hba * phba) | ||
1434 | { | ||
1435 | unsigned long iflag; | ||
1436 | |||
1437 | spin_lock_irqsave(&phba->hbalock, iflag); | ||
1438 | phba->sli.sli_flag |= LPFC_BLOCK_MGMT_IO; | ||
1439 | spin_unlock_irqrestore(&phba->hbalock, iflag); | ||
1440 | } | ||
1441 | |||
1432 | int | 1442 | int |
1433 | lpfc_online(struct lpfc_hba *phba) | 1443 | lpfc_online(struct lpfc_hba *phba) |
1434 | { | 1444 | { |
@@ -1475,16 +1485,6 @@ lpfc_online(struct lpfc_hba *phba) | |||
1475 | } | 1485 | } |
1476 | 1486 | ||
1477 | void | 1487 | void |
1478 | lpfc_block_mgmt_io(struct lpfc_hba * phba) | ||
1479 | { | ||
1480 | unsigned long iflag; | ||
1481 | |||
1482 | spin_lock_irqsave(&phba->hbalock, iflag); | ||
1483 | phba->sli.sli_flag |= LPFC_BLOCK_MGMT_IO; | ||
1484 | spin_unlock_irqrestore(&phba->hbalock, iflag); | ||
1485 | } | ||
1486 | |||
1487 | void | ||
1488 | lpfc_unblock_mgmt_io(struct lpfc_hba * phba) | 1488 | lpfc_unblock_mgmt_io(struct lpfc_hba * phba) |
1489 | { | 1489 | { |
1490 | unsigned long iflag; | 1490 | unsigned long iflag; |
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 9bc85d5a02f7..dcc48988040c 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c | |||
@@ -106,7 +106,7 @@ lpfc_sli_get_iocbq(struct lpfc_hba *phba) | |||
106 | return iocbq; | 106 | return iocbq; |
107 | } | 107 | } |
108 | 108 | ||
109 | void | 109 | static void |
110 | __lpfc_sli_release_iocbq(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq) | 110 | __lpfc_sli_release_iocbq(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq) |
111 | { | 111 | { |
112 | size_t start_clean = offsetof(struct lpfc_iocbq, iocb); | 112 | size_t start_clean = offsetof(struct lpfc_iocbq, iocb); |
@@ -489,7 +489,7 @@ lpfc_sli_resume_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) | |||
489 | return; | 489 | return; |
490 | } | 490 | } |
491 | 491 | ||
492 | struct lpfc_hbq_entry * | 492 | static struct lpfc_hbq_entry * |
493 | lpfc_sli_next_hbq_slot(struct lpfc_hba *phba, uint32_t hbqno) | 493 | lpfc_sli_next_hbq_slot(struct lpfc_hba *phba, uint32_t hbqno) |
494 | { | 494 | { |
495 | struct hbq_s *hbqp = &phba->hbqs[hbqno]; | 495 | struct hbq_s *hbqp = &phba->hbqs[hbqno]; |
@@ -636,14 +636,14 @@ lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *phba, uint32_t qno) | |||
636 | lpfc_hbq_defs[qno]->add_count)); | 636 | lpfc_hbq_defs[qno]->add_count)); |
637 | } | 637 | } |
638 | 638 | ||
639 | int | 639 | static int |
640 | lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *phba, uint32_t qno) | 640 | lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *phba, uint32_t qno) |
641 | { | 641 | { |
642 | return(lpfc_sli_hbqbuf_fill_hbqs(phba, qno, | 642 | return(lpfc_sli_hbqbuf_fill_hbqs(phba, qno, |
643 | lpfc_hbq_defs[qno]->init_count)); | 643 | lpfc_hbq_defs[qno]->init_count)); |
644 | } | 644 | } |
645 | 645 | ||
646 | struct hbq_dmabuf * | 646 | static struct hbq_dmabuf * |
647 | lpfc_sli_hbqbuf_find(struct lpfc_hba *phba, uint32_t tag) | 647 | lpfc_sli_hbqbuf_find(struct lpfc_hba *phba, uint32_t tag) |
648 | { | 648 | { |
649 | struct lpfc_dmabuf *d_buf; | 649 | struct lpfc_dmabuf *d_buf; |
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c index 378c01200b02..07a28700cbe7 100644 --- a/drivers/scsi/lpfc/lpfc_vport.c +++ b/drivers/scsi/lpfc/lpfc_vport.c | |||
@@ -556,9 +556,6 @@ skip_logo: | |||
556 | return VPORT_OK; | 556 | return VPORT_OK; |
557 | } | 557 | } |
558 | 558 | ||
559 | EXPORT_SYMBOL(lpfc_vport_create); | ||
560 | EXPORT_SYMBOL(lpfc_vport_delete); | ||
561 | |||
562 | struct lpfc_vport ** | 559 | struct lpfc_vport ** |
563 | lpfc_create_vport_work_array(struct lpfc_hba *phba) | 560 | lpfc_create_vport_work_array(struct lpfc_hba *phba) |
564 | { | 561 | { |