int sa = 0;
 
        mutex_lock(&ide_cfg_mtx);
-       spin_lock_init(&hwif->lock);
-
-       init_timer(&hwif->timer);
-       hwif->timer.function = &ide_timer_expiry;
-       hwif->timer.data = (unsigned long)hwif;
 
        irq_handler = hwif->host->irq_handler;
        if (irq_handler == NULL)
        hwif->name[2]   = 'e';
        hwif->name[3]   = '0' + index;
 
+       spin_lock_init(&hwif->lock);
+
+       init_timer(&hwif->timer);
+       hwif->timer.function = &ide_timer_expiry;
+       hwif->timer.data = (unsigned long)hwif;
+
        init_completion(&hwif->gendev_rel_comp);
 
        hwif->tp_ops = &default_tp_ops;