@@ -3148,6 +3148,7 @@ static int ab8500_fg_probe(struct platform_device *pdev)
3148
3148
ret = ab8500_fg_init_hw_registers (di );
3149
3149
if (ret ) {
3150
3150
dev_err (dev , "failed to initialize registers\n" );
3151
+ destroy_workqueue (di -> fg_wq );
3151
3152
return ret ;
3152
3153
}
3153
3154
@@ -3159,6 +3160,7 @@ static int ab8500_fg_probe(struct platform_device *pdev)
3159
3160
di -> fg_psy = devm_power_supply_register (dev , & ab8500_fg_desc , & psy_cfg );
3160
3161
if (IS_ERR (di -> fg_psy )) {
3161
3162
dev_err (dev , "failed to register FG psy\n" );
3163
+ destroy_workqueue (di -> fg_wq );
3162
3164
return PTR_ERR (di -> fg_psy );
3163
3165
}
3164
3166
@@ -3174,8 +3176,10 @@ static int ab8500_fg_probe(struct platform_device *pdev)
3174
3176
/* Register primary interrupt handlers */
3175
3177
for (i = 0 ; i < ARRAY_SIZE (ab8500_fg_irq ); i ++ ) {
3176
3178
irq = platform_get_irq_byname (pdev , ab8500_fg_irq [i ].name );
3177
- if (irq < 0 )
3179
+ if (irq < 0 ) {
3180
+ destroy_workqueue (di -> fg_wq );
3178
3181
return irq ;
3182
+ }
3179
3183
3180
3184
ret = devm_request_threaded_irq (dev , irq , NULL ,
3181
3185
ab8500_fg_irq [i ].isr ,
@@ -3185,6 +3189,7 @@ static int ab8500_fg_probe(struct platform_device *pdev)
3185
3189
if (ret != 0 ) {
3186
3190
dev_err (dev , "failed to request %s IRQ %d: %d\n" ,
3187
3191
ab8500_fg_irq [i ].name , irq , ret );
3192
+ destroy_workqueue (di -> fg_wq );
3188
3193
return ret ;
3189
3194
}
3190
3195
dev_dbg (dev , "Requested %s IRQ %d: %d\n" ,
@@ -3200,13 +3205,15 @@ static int ab8500_fg_probe(struct platform_device *pdev)
3200
3205
ret = ab8500_fg_sysfs_init (di );
3201
3206
if (ret ) {
3202
3207
dev_err (dev , "failed to create sysfs entry\n" );
3208
+ destroy_workqueue (di -> fg_wq );
3203
3209
return ret ;
3204
3210
}
3205
3211
3206
3212
ret = ab8500_fg_sysfs_psy_create_attrs (di );
3207
3213
if (ret ) {
3208
3214
dev_err (dev , "failed to create FG psy\n" );
3209
3215
ab8500_fg_sysfs_exit (di );
3216
+ destroy_workqueue (di -> fg_wq );
3210
3217
return ret ;
3211
3218
}
3212
3219
0 commit comments