aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-core.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 9cd04f684102..f69d1548b562 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6098,16 +6098,20 @@ static int __init ata_init(void)
6098 6098
6099 ata_wq = create_workqueue("ata"); 6099 ata_wq = create_workqueue("ata");
6100 if (!ata_wq) 6100 if (!ata_wq)
6101 return -ENOMEM; 6101 goto free_force_tbl;
6102 6102
6103 ata_aux_wq = create_singlethread_workqueue("ata_aux"); 6103 ata_aux_wq = create_singlethread_workqueue("ata_aux");
6104 if (!ata_aux_wq) { 6104 if (!ata_aux_wq)
6105 destroy_workqueue(ata_wq); 6105 goto free_wq;
6106 return -ENOMEM;
6107 }
6108 6106
6109 printk(KERN_DEBUG "libata version " DRV_VERSION " loaded.\n"); 6107 printk(KERN_DEBUG "libata version " DRV_VERSION " loaded.\n");
6110 return 0; 6108 return 0;
6109
6110free_wq:
6111 destroy_workqueue(ata_wq);
6112free_force_tbl:
6113 kfree(ata_force_tbl);
6114 return -ENOMEM;
6111} 6115}
6112 6116
6113static void __exit ata_exit(void) 6117static void __exit ata_exit(void)