diff options
author | James Smart <James.Smart@Emulex.Com> | 2007-10-27 13:37:25 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-01-11 19:22:32 -0500 |
commit | 0b727fea7a700e223bf52fb1eaf4c3a27c4340db (patch) | |
tree | ff4eb6c5ab0ac7c3b2a299f037d1b73224a07c9e /drivers/scsi/lpfc/lpfc_hbadisc.c | |
parent | 7ee5d43e2ea25336a7638715420c75583bd2ed69 (diff) |
[SCSI] lpfc 8.2.3 : Remove flawed MBX_STOP_IOCB logic
Remove flawed MBX_STOP_IOCB logic
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hbadisc.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index c81c2b3228d6..6f5bf8189950 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -412,7 +412,7 @@ lpfc_work_done(struct lpfc_hba *phba) | |||
412 | status >>= (4*LPFC_ELS_RING); | 412 | status >>= (4*LPFC_ELS_RING); |
413 | if ((status & HA_RXMASK) | 413 | if ((status & HA_RXMASK) |
414 | || (pring->flag & LPFC_DEFERRED_RING_EVENT)) { | 414 | || (pring->flag & LPFC_DEFERRED_RING_EVENT)) { |
415 | if (pring->flag & LPFC_STOP_IOCB_MASK) { | 415 | if (pring->flag & LPFC_STOP_IOCB_EVENT) { |
416 | pring->flag |= LPFC_DEFERRED_RING_EVENT; | 416 | pring->flag |= LPFC_DEFERRED_RING_EVENT; |
417 | } else { | 417 | } else { |
418 | lpfc_sli_handle_slow_ring_event(phba, pring, | 418 | lpfc_sli_handle_slow_ring_event(phba, pring, |
@@ -629,7 +629,7 @@ lpfc_linkdown(struct lpfc_hba *phba) | |||
629 | lpfc_unreg_did(phba, 0xffff, 0xffffffff, mb); | 629 | lpfc_unreg_did(phba, 0xffff, 0xffffffff, mb); |
630 | mb->vport = vport; | 630 | mb->vport = vport; |
631 | mb->mbox_cmpl = lpfc_sli_def_mbox_cmpl; | 631 | mb->mbox_cmpl = lpfc_sli_def_mbox_cmpl; |
632 | if (lpfc_sli_issue_mbox(phba, mb, (MBX_NOWAIT | MBX_STOP_IOCB)) | 632 | if (lpfc_sli_issue_mbox(phba, mb, MBX_NOWAIT) |
633 | == MBX_NOT_FINISHED) { | 633 | == MBX_NOT_FINISHED) { |
634 | mempool_free(mb, phba->mbox_mem_pool); | 634 | mempool_free(mb, phba->mbox_mem_pool); |
635 | } | 635 | } |
@@ -643,8 +643,7 @@ lpfc_linkdown(struct lpfc_hba *phba) | |||
643 | lpfc_config_link(phba, mb); | 643 | lpfc_config_link(phba, mb); |
644 | mb->mbox_cmpl = lpfc_sli_def_mbox_cmpl; | 644 | mb->mbox_cmpl = lpfc_sli_def_mbox_cmpl; |
645 | mb->vport = vport; | 645 | mb->vport = vport; |
646 | if (lpfc_sli_issue_mbox(phba, mb, | 646 | if (lpfc_sli_issue_mbox(phba, mb, MBX_NOWAIT) |
647 | (MBX_NOWAIT | MBX_STOP_IOCB)) | ||
648 | == MBX_NOT_FINISHED) { | 647 | == MBX_NOT_FINISHED) { |
649 | mempool_free(mb, phba->mbox_mem_pool); | 648 | mempool_free(mb, phba->mbox_mem_pool); |
650 | } | 649 | } |
@@ -1022,8 +1021,7 @@ lpfc_mbx_process_link_up(struct lpfc_hba *phba, READ_LA_VAR *la) | |||
1022 | lpfc_read_sparam(phba, sparam_mbox, 0); | 1021 | lpfc_read_sparam(phba, sparam_mbox, 0); |
1023 | sparam_mbox->vport = vport; | 1022 | sparam_mbox->vport = vport; |
1024 | sparam_mbox->mbox_cmpl = lpfc_mbx_cmpl_read_sparam; | 1023 | sparam_mbox->mbox_cmpl = lpfc_mbx_cmpl_read_sparam; |
1025 | rc = lpfc_sli_issue_mbox(phba, sparam_mbox, | 1024 | rc = lpfc_sli_issue_mbox(phba, sparam_mbox, MBX_NOWAIT); |
1026 | (MBX_NOWAIT | MBX_STOP_IOCB)); | ||
1027 | if (rc == MBX_NOT_FINISHED) { | 1025 | if (rc == MBX_NOT_FINISHED) { |
1028 | mp = (struct lpfc_dmabuf *) sparam_mbox->context1; | 1026 | mp = (struct lpfc_dmabuf *) sparam_mbox->context1; |
1029 | lpfc_mbuf_free(phba, mp->virt, mp->phys); | 1027 | lpfc_mbuf_free(phba, mp->virt, mp->phys); |
@@ -1040,8 +1038,7 @@ lpfc_mbx_process_link_up(struct lpfc_hba *phba, READ_LA_VAR *la) | |||
1040 | lpfc_config_link(phba, cfglink_mbox); | 1038 | lpfc_config_link(phba, cfglink_mbox); |
1041 | cfglink_mbox->vport = vport; | 1039 | cfglink_mbox->vport = vport; |
1042 | cfglink_mbox->mbox_cmpl = lpfc_mbx_cmpl_local_config_link; | 1040 | cfglink_mbox->mbox_cmpl = lpfc_mbx_cmpl_local_config_link; |
1043 | rc = lpfc_sli_issue_mbox(phba, cfglink_mbox, | 1041 | rc = lpfc_sli_issue_mbox(phba, cfglink_mbox, MBX_NOWAIT); |
1044 | (MBX_NOWAIT | MBX_STOP_IOCB)); | ||
1045 | if (rc != MBX_NOT_FINISHED) | 1042 | if (rc != MBX_NOT_FINISHED) |
1046 | return; | 1043 | return; |
1047 | mempool_free(cfglink_mbox, phba->mbox_mem_pool); | 1044 | mempool_free(cfglink_mbox, phba->mbox_mem_pool); |
@@ -1219,7 +1216,7 @@ lpfc_mbx_unreg_vpi(struct lpfc_vport *vport) | |||
1219 | lpfc_unreg_vpi(phba, vport->vpi, mbox); | 1216 | lpfc_unreg_vpi(phba, vport->vpi, mbox); |
1220 | mbox->vport = vport; | 1217 | mbox->vport = vport; |
1221 | mbox->mbox_cmpl = lpfc_mbx_cmpl_unreg_vpi; | 1218 | mbox->mbox_cmpl = lpfc_mbx_cmpl_unreg_vpi; |
1222 | rc = lpfc_sli_issue_mbox(phba, mbox, (MBX_NOWAIT | MBX_STOP_IOCB)); | 1219 | rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); |
1223 | if (rc == MBX_NOT_FINISHED) { | 1220 | if (rc == MBX_NOT_FINISHED) { |
1224 | lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT, | 1221 | lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT, |
1225 | "1800 Could not issue unreg_vpi\n"); | 1222 | "1800 Could not issue unreg_vpi\n"); |
@@ -1868,8 +1865,7 @@ lpfc_unreg_rpi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) | |||
1868 | lpfc_unreg_login(phba, vport->vpi, ndlp->nlp_rpi, mbox); | 1865 | lpfc_unreg_login(phba, vport->vpi, ndlp->nlp_rpi, mbox); |
1869 | mbox->vport = vport; | 1866 | mbox->vport = vport; |
1870 | mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; | 1867 | mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; |
1871 | rc = lpfc_sli_issue_mbox(phba, mbox, | 1868 | rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); |
1872 | (MBX_NOWAIT | MBX_STOP_IOCB)); | ||
1873 | if (rc == MBX_NOT_FINISHED) | 1869 | if (rc == MBX_NOT_FINISHED) |
1874 | mempool_free(mbox, phba->mbox_mem_pool); | 1870 | mempool_free(mbox, phba->mbox_mem_pool); |
1875 | } | 1871 | } |
@@ -1892,8 +1888,7 @@ lpfc_unreg_all_rpis(struct lpfc_vport *vport) | |||
1892 | lpfc_unreg_login(phba, vport->vpi, 0xffff, mbox); | 1888 | lpfc_unreg_login(phba, vport->vpi, 0xffff, mbox); |
1893 | mbox->vport = vport; | 1889 | mbox->vport = vport; |
1894 | mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; | 1890 | mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; |
1895 | rc = lpfc_sli_issue_mbox(phba, mbox, | 1891 | rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); |
1896 | (MBX_NOWAIT | MBX_STOP_IOCB)); | ||
1897 | if (rc == MBX_NOT_FINISHED) { | 1892 | if (rc == MBX_NOT_FINISHED) { |
1898 | mempool_free(mbox, phba->mbox_mem_pool); | 1893 | mempool_free(mbox, phba->mbox_mem_pool); |
1899 | } | 1894 | } |
@@ -1912,8 +1907,7 @@ lpfc_unreg_default_rpis(struct lpfc_vport *vport) | |||
1912 | lpfc_unreg_did(phba, vport->vpi, 0xffffffff, mbox); | 1907 | lpfc_unreg_did(phba, vport->vpi, 0xffffffff, mbox); |
1913 | mbox->vport = vport; | 1908 | mbox->vport = vport; |
1914 | mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; | 1909 | mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; |
1915 | rc = lpfc_sli_issue_mbox(phba, mbox, | 1910 | rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); |
1916 | (MBX_NOWAIT | MBX_STOP_IOCB)); | ||
1917 | if (rc == MBX_NOT_FINISHED) { | 1911 | if (rc == MBX_NOT_FINISHED) { |
1918 | lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT, | 1912 | lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT, |
1919 | "1815 Could not issue " | 1913 | "1815 Could not issue " |
@@ -2220,8 +2214,7 @@ lpfc_issue_clear_la(struct lpfc_hba *phba, struct lpfc_vport *vport) | |||
2220 | lpfc_clear_la(phba, mbox); | 2214 | lpfc_clear_la(phba, mbox); |
2221 | mbox->mbox_cmpl = lpfc_mbx_cmpl_clear_la; | 2215 | mbox->mbox_cmpl = lpfc_mbx_cmpl_clear_la; |
2222 | mbox->vport = vport; | 2216 | mbox->vport = vport; |
2223 | rc = lpfc_sli_issue_mbox(phba, mbox, (MBX_NOWAIT | | 2217 | rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); |
2224 | MBX_STOP_IOCB)); | ||
2225 | if (rc == MBX_NOT_FINISHED) { | 2218 | if (rc == MBX_NOT_FINISHED) { |
2226 | mempool_free(mbox, phba->mbox_mem_pool); | 2219 | mempool_free(mbox, phba->mbox_mem_pool); |
2227 | lpfc_disc_flush_list(vport); | 2220 | lpfc_disc_flush_list(vport); |
@@ -2244,8 +2237,7 @@ lpfc_issue_reg_vpi(struct lpfc_hba *phba, struct lpfc_vport *vport) | |||
2244 | lpfc_reg_vpi(phba, vport->vpi, vport->fc_myDID, regvpimbox); | 2237 | lpfc_reg_vpi(phba, vport->vpi, vport->fc_myDID, regvpimbox); |
2245 | regvpimbox->mbox_cmpl = lpfc_mbx_cmpl_reg_vpi; | 2238 | regvpimbox->mbox_cmpl = lpfc_mbx_cmpl_reg_vpi; |
2246 | regvpimbox->vport = vport; | 2239 | regvpimbox->vport = vport; |
2247 | if (lpfc_sli_issue_mbox(phba, regvpimbox, | 2240 | if (lpfc_sli_issue_mbox(phba, regvpimbox, MBX_NOWAIT) |
2248 | (MBX_NOWAIT | MBX_STOP_IOCB)) | ||
2249 | == MBX_NOT_FINISHED) { | 2241 | == MBX_NOT_FINISHED) { |
2250 | mempool_free(regvpimbox, phba->mbox_mem_pool); | 2242 | mempool_free(regvpimbox, phba->mbox_mem_pool); |
2251 | } | 2243 | } |
@@ -2608,8 +2600,7 @@ lpfc_disc_timeout_handler(struct lpfc_vport *vport) | |||
2608 | initlinkmbox->mb.un.varInitLnk.lipsr_AL_PA = 0; | 2600 | initlinkmbox->mb.un.varInitLnk.lipsr_AL_PA = 0; |
2609 | initlinkmbox->vport = vport; | 2601 | initlinkmbox->vport = vport; |
2610 | initlinkmbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; | 2602 | initlinkmbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; |
2611 | rc = lpfc_sli_issue_mbox(phba, initlinkmbox, | 2603 | rc = lpfc_sli_issue_mbox(phba, initlinkmbox, MBX_NOWAIT); |
2612 | (MBX_NOWAIT | MBX_STOP_IOCB)); | ||
2613 | lpfc_set_loopback_flag(phba); | 2604 | lpfc_set_loopback_flag(phba); |
2614 | if (rc == MBX_NOT_FINISHED) | 2605 | if (rc == MBX_NOT_FINISHED) |
2615 | mempool_free(initlinkmbox, phba->mbox_mem_pool); | 2606 | mempool_free(initlinkmbox, phba->mbox_mem_pool); |