diff options
Diffstat (limited to 'drivers/mfd/menelaus.c')
-rw-r--r-- | drivers/mfd/menelaus.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c index 4ba85bbdb4c1..9cee8e7f0bcb 100644 --- a/drivers/mfd/menelaus.c +++ b/drivers/mfd/menelaus.c | |||
@@ -1259,7 +1259,7 @@ static int menelaus_probe(struct i2c_client *client, | |||
1259 | return 0; | 1259 | return 0; |
1260 | fail2: | 1260 | fail2: |
1261 | free_irq(client->irq, menelaus); | 1261 | free_irq(client->irq, menelaus); |
1262 | flush_scheduled_work(); | 1262 | flush_work_sync(&menelaus->work); |
1263 | fail1: | 1263 | fail1: |
1264 | kfree(menelaus); | 1264 | kfree(menelaus); |
1265 | return err; | 1265 | return err; |
@@ -1270,6 +1270,7 @@ static int __exit menelaus_remove(struct i2c_client *client) | |||
1270 | struct menelaus_chip *menelaus = i2c_get_clientdata(client); | 1270 | struct menelaus_chip *menelaus = i2c_get_clientdata(client); |
1271 | 1271 | ||
1272 | free_irq(client->irq, menelaus); | 1272 | free_irq(client->irq, menelaus); |
1273 | flush_work_sync(&menelaus->work); | ||
1273 | kfree(menelaus); | 1274 | kfree(menelaus); |
1274 | the_menelaus = NULL; | 1275 | the_menelaus = NULL; |
1275 | return 0; | 1276 | return 0; |