extern inline void qla8044_need_reset_handler(struct scsi_qla_host *vha);
 extern int qla8044_device_state_handler(struct scsi_qla_host *vha);
 extern void qla8044_clear_qsnt_ready(struct scsi_qla_host *vha);
-extern void qla8044_clear_drv_active(struct scsi_qla_host *vha);
+extern void qla8044_clear_drv_active(struct qla_hw_data *);
 void qla8044_get_minidump(struct scsi_qla_host *vha);
 int qla8044_collect_md_data(struct scsi_qla_host *vha);
 extern int qla8044_md_get_template(scsi_qla_host_t *);
 
                qla82xx_clear_drv_active(ha);
                qla82xx_idc_unlock(ha);
        } else if (IS_QLA8044(ha)) {
-               qla8044_clear_drv_active(vha);
+               qla8044_clear_drv_active(ha);
                qla8044_idc_unlock(ha);
        }
 
 
 }
 
 void
-qla8044_clear_drv_active(struct scsi_qla_host *vha)
+qla8044_clear_drv_active(struct qla_hw_data *ha)
 {
        uint32_t drv_active;
-       struct qla_hw_data *ha = vha->hw;
+       struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev);
 
        drv_active = qla8044_rd_direct(vha, QLA8044_CRB_DRV_ACTIVE_INDEX);
        drv_active &= ~(1 << (ha->portnum));
        if (rval != QLA_SUCCESS) {
                ql_log(ql_log_info, vha, 0xb0b3,
                     "%s: HW State: FAILED\n", __func__);
-               qla8044_clear_drv_active(vha);
+               qla8044_clear_drv_active(ha);
                qla8044_wr_direct(vha, QLA8044_CRB_DEV_STATE_INDEX,
                    QLA8XXX_DEV_FAILED);
                return rval;
 
        rval = qla8044_set_idc_ver(vha);
        if (rval == QLA_FUNCTION_FAILED)
-               qla8044_clear_drv_active(vha);
+               qla8044_clear_drv_active(ha);
        qla8044_idc_unlock(ha);
 
 exit_update_idc_reg:
 
        }
        if (IS_QLA8044(ha)) {
                qla8044_idc_lock(ha);
-               qla8044_clear_drv_active(base_vha);
+               qla8044_clear_drv_active(ha);
                qla8044_idc_unlock(ha);
        }
 iospace_config_failed:
 
        if (IS_QLA8044(ha)) {
                qla8044_idc_lock(ha);
-               qla8044_clear_drv_active(vha);
+               qla8044_clear_drv_active(ha);
                qla8044_idc_unlock(ha);
        } else if (IS_QLA82XX(ha)) {
                qla82xx_idc_lock(ha);