]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/lpfc/lpfc_nportdisc.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6
[linux-2.6-omap-h63xx.git] / drivers / scsi / lpfc / lpfc_nportdisc.c
index 45dc0210fc49581d0c63a6e0d8a5a52cbc0a2d1d..507a6af56f42d51ad52687a2f15889aca267729a 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/pci.h>
 #include <linux/interrupt.h>
 
+#include <scsi/scsi.h>
 #include <scsi/scsi_device.h>
 #include <scsi/scsi_host.h>
 #include <scsi/scsi_transport_fc.h>
@@ -186,10 +187,8 @@ lpfc_els_abort(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp,
                                        spin_unlock_irq(phba->host->host_lock);
                                        (iocb->iocb_cmpl) (phba, iocb, iocb);
                                        spin_lock_irq(phba->host->host_lock);
-                               } else {
-                                       list_add_tail(&iocb->list,
-                                                       &phba->lpfc_iocb_list);
-                               }
+                               } else
+                                       lpfc_sli_release_iocbq(phba, iocb);
                                break;
                        }
                }
@@ -231,10 +230,8 @@ lpfc_els_abort(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp,
                                        spin_unlock_irq(phba->host->host_lock);
                                        (iocb->iocb_cmpl) (phba, iocb, iocb);
                                        spin_lock_irq(phba->host->host_lock);
-                               } else {
-                                       list_add_tail(&iocb->list,
-                                                       &phba->lpfc_iocb_list);
-                               }
+                               } else
+                                       lpfc_sli_release_iocbq(phba, iocb);
                                break;
                        }
                }
@@ -1085,11 +1082,7 @@ lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_hba * phba,
                return (ndlp->nlp_state);
        }
 
-       if (ndlp->nlp_rpi != 0)
-               lpfc_findnode_remove_rpi(phba, ndlp->nlp_rpi);
-
        ndlp->nlp_rpi = mb->un.varWords[0];
-       lpfc_addnode_rpi(phba, ndlp, ndlp->nlp_rpi);
 
        /* Only if we are not a fabric nport do we issue PRLI */
        if (!(ndlp->nlp_type & NLP_FABRIC)) {
@@ -1592,12 +1585,7 @@ lpfc_cmpl_reglogin_npr_node(struct lpfc_hba * phba,
        pmb = (LPFC_MBOXQ_t *) arg;
        mb = &pmb->mb;
 
-       /* save rpi */
-       if (ndlp->nlp_rpi != 0)
-               lpfc_findnode_remove_rpi(phba, ndlp->nlp_rpi);
-
        ndlp->nlp_rpi = mb->un.varWords[0];
-       lpfc_addnode_rpi(phba, ndlp, ndlp->nlp_rpi);
 
        return (ndlp->nlp_state);
 }