OSDN Git Service

qla2xxx: Use qla2x00_clear_drv_active on probe failure
authorJoe Lawrence <joe.lawrence@stratus.com>
Tue, 26 Aug 2014 21:11:18 +0000 (17:11 -0400)
committerChristoph Hellwig <hch@lst.de>
Tue, 16 Sep 2014 16:09:59 +0000 (09:09 -0700)
Take advantage of commit fe1b806f4f71 ("qla2xxx: Refactor shutdown code
so some functionality can be reused") to remove an inlined copy of
qla2x00_clear_drv_active in the driver's probe hardware error path.

Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_os.c

index 8252c0e..53449d7 100644 (file)
@@ -238,6 +238,7 @@ static int qla2xxx_eh_host_reset(struct scsi_cmnd *);
 
 static int qla2x00_change_queue_depth(struct scsi_device *, int, int);
 static int qla2x00_change_queue_type(struct scsi_device *, int);
+static void qla2x00_clear_drv_active(struct qla_hw_data *);
 static void qla2x00_free_device(scsi_qla_host_t *);
 
 struct scsi_host_template qla2xxx_driver_template = {
@@ -2954,16 +2955,8 @@ probe_failed:
        scsi_host_put(base_vha->host);
 
 probe_hw_failed:
-       if (IS_QLA82XX(ha)) {
-               qla82xx_idc_lock(ha);
-               qla82xx_clear_drv_active(ha);
-               qla82xx_idc_unlock(ha);
-       }
-       if (IS_QLA8044(ha)) {
-               qla8044_idc_lock(ha);
-               qla8044_clear_drv_active(ha);
-               qla8044_idc_unlock(ha);
-       }
+       qla2x00_clear_drv_active(ha);
+
 iospace_config_failed:
        if (IS_P3P_TYPE(ha)) {
                if (!ha->nx_pcibase)