]> err.no Git - linux-2.6/blobdiff - drivers/scsi/qla2xxx/qla_iocb.c
Merge branch 'linus' into timers/nohz
[linux-2.6] / drivers / scsi / qla2xxx / qla_iocb.c
index 3a5e78cb6b3f62c156ba0133a06fdbf00cb6ad35..5489d5024673a326b5345f5545151a7dab37a533 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * QLogic Fibre Channel HBA Driver
- * Copyright (c)  2003-2005 QLogic Corporation
+ * Copyright (c)  2003-2008 QLogic Corporation
  *
  * See LICENSE.qla2xxx for copyright and licensing details.
  */
@@ -11,9 +11,6 @@
 
 #include <scsi/scsi_tcq.h>
 
-static inline uint16_t qla2x00_get_cmd_direction(struct scsi_cmnd *cmd);
-static inline cont_entry_t *qla2x00_prep_cont_type0_iocb(scsi_qla_host_t *);
-static inline cont_a64_entry_t *qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *);
 static request_t *qla2x00_req_pkt(scsi_qla_host_t *ha);
 static void qla2x00_isp_cmd(scsi_qla_host_t *ha);
 
@@ -308,7 +305,7 @@ qla2x00_start_scsi(srb_t *sp)
                handle++;
                if (handle == MAX_OUTSTANDING_COMMANDS)
                        handle = 1;
-               if (ha->outstanding_cmds[handle] == 0)
+               if (!ha->outstanding_cmds[handle])
                        break;
        }
        if (index == MAX_OUTSTANDING_COMMANDS)
@@ -525,7 +522,7 @@ qla2x00_req_pkt(scsi_qla_host_t *ha)
 
                /* Check for pending interrupts. */
                /* During init we issue marker directly */
-               if (!ha->marker_needed)
+               if (!ha->marker_needed && !ha->flags.init_done)
                        qla2x00_poll(ha);
 
                spin_lock_irq(&ha->hardware_lock);
@@ -711,7 +708,7 @@ qla24xx_start_scsi(srb_t *sp)
                handle++;
                if (handle == MAX_OUTSTANDING_COMMANDS)
                        handle = 1;
-               if (ha->outstanding_cmds[handle] == 0)
+               if (!ha->outstanding_cmds[handle])
                        break;
        }
        if (index == MAX_OUTSTANDING_COMMANDS)