|
@@ -1228,6 +1228,7 @@ fail2:
|
|
free_irq(client->irq, menelaus);
|
|
free_irq(client->irq, menelaus);
|
|
flush_scheduled_work();
|
|
flush_scheduled_work();
|
|
fail1:
|
|
fail1:
|
|
|
|
+ i2c_set_clientdata(client, NULL);
|
|
kfree(menelaus);
|
|
kfree(menelaus);
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
@@ -1237,8 +1238,8 @@ static int __exit menelaus_remove(struct i2c_client *client)
|
|
struct menelaus_chip *menelaus = i2c_get_clientdata(client);
|
|
struct menelaus_chip *menelaus = i2c_get_clientdata(client);
|
|
|
|
|
|
free_irq(client->irq, menelaus);
|
|
free_irq(client->irq, menelaus);
|
|
- kfree(menelaus);
|
|
|
|
i2c_set_clientdata(client, NULL);
|
|
i2c_set_clientdata(client, NULL);
|
|
|
|
+ kfree(menelaus);
|
|
the_menelaus = NULL;
|
|
the_menelaus = NULL;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|