Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-block.git] / drivers / scsi / qla2xxx / qla_inline.h
index 59fd5a9dfeb8703f437685fa7b4221419b42319e..4351736b2426da9848b9fd3a81d7fb9ed745c39f 100644 (file)
@@ -58,14 +58,12 @@ qla2x00_debounce_register(volatile uint16_t __iomem *addr)
 static inline void
 qla2x00_poll(struct rsp_que *rsp)
 {
-       unsigned long flags;
        struct qla_hw_data *ha = rsp->hw;
-       local_irq_save(flags);
+
        if (IS_P3P_TYPE(ha))
                qla82xx_poll(0, rsp);
        else
                ha->isp_ops->intr_handler(0, rsp);
-       local_irq_restore(flags);
 }
 
 static inline uint8_t *
@@ -204,6 +202,12 @@ qla2x00_reset_active(scsi_qla_host_t *vha)
            test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
 }
 
+static inline int
+qla2x00_chip_is_down(scsi_qla_host_t *vha)
+{
+       return (qla2x00_reset_active(vha) || !vha->hw->flags.fw_started);
+}
+
 static inline srb_t *
 qla2xxx_get_qpair_sp(struct qla_qpair *qpair, fc_port_t *fcport, gfp_t flag)
 {
@@ -278,8 +282,6 @@ qla2x00_init_timer(srb_t *sp, unsigned long tmo)
        init_completion(&sp->comp);
        if (IS_QLAFX00(sp->vha->hw) && (sp->type == SRB_FXIOCB_DCMD))
                init_completion(&sp->u.iocb_cmd.u.fxiocb.fxiocb_comp);
-       if (sp->type == SRB_ELS_DCMD)
-               init_completion(&sp->u.iocb_cmd.u.els_logo.comp);
        add_timer(&sp->u.iocb_cmd.timer);
 }