]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/lpfc/lpfc_sli.c
[SCSI] lpfc 8.1.2: Fixed a double insertion of mail box object to the SLI mailbox...
[linux-2.6-omap-h63xx.git] / drivers / scsi / lpfc / lpfc_sli.c
index 7b785ade8b072ed414a15fb7112e012b4edc73d5..1f876328b44b5de7cb17fce78819c9c2b484207f 100644 (file)
@@ -2237,16 +2237,6 @@ lpfc_sli_issue_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
                   !(phba->sli.sli_flag & LPFC_PROCESS_LA)))
                goto iocb_busy;
 
-       /*
-        * Check to see if this is a high priority command.
-        * If so bypass tx queue processing.
-        */
-       if (unlikely((flag & SLI_IOCB_HIGH_PRIORITY) &&
-                    (iocb = lpfc_sli_next_iocb_slot(phba, pring)))) {
-               lpfc_sli_submit_iocb(phba, pring, iocb, piocb);
-               piocb = NULL;
-       }
-
        while ((iocb = lpfc_sli_next_iocb_slot(phba, pring)) &&
               (nextiocb = lpfc_sli_next_iocb(phba, pring, &piocb)))
                lpfc_sli_submit_iocb(phba, pring, iocb, nextiocb);
@@ -2877,11 +2867,10 @@ lpfc_sli_issue_mbox_wait(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq,
                pmboxq->context1 = NULL;
                /* if schedule_timeout returns 0, we timed out and were not
                   woken up */
-               if (timeleft == 0) {
+               if ((timeleft == 0) || signal_pending(current))
                        retval = MBX_TIMEOUT;
-               } else {
+               else
                        retval = MBX_SUCCESS;
-               }
        }
 
 
@@ -2993,7 +2982,7 @@ lpfc_intr_handler(int irq, void *dev_id, struct pt_regs * regs)
                         * to shutdown interrupt when there is a
                         * ERROR.
                         */
-                       lpfc_sli_send_reset(phba, phba->hba_state);
+                       lpfc_sli_send_reset(phba, 1);
                }
 
                spin_lock(phba->host->host_lock);