diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 4f59f03f91ff4ab37c1b8b591f9e1f941f69001d..156ea365c14d5ea0709865b76d7f6fe4406d833e 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -4150,6 +4150,7 @@ static int __devinit cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
 #ifdef CCISS_DEBUG
 	printk(KERN_WARNING "Trying to put board into Performant mode\n");
 #endif				/* CCISS_DEBUG */
+	cciss_put_controller_into_performant_mode(c);
 	return 0;
 
 err_out_free_res:
@@ -4158,7 +4159,6 @@ static int __devinit cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
 	 * Smart Array controllers that pci_enable_device does not undo
 	 */
 	pci_release_regions(pdev);
-	cciss_put_controller_into_performant_mode(c);
 	return err;
 }