ChangeSet 1.1564.2.2, 2003/08/01 21:39:02-07:00, bellucda@tiscali.it

[PATCH] I2C: fixed a little memory leak in i2c-ali15x3.c

there is a little memory leak in i2c-ali15x3.c .
You can reproduce the BUG as follows:
In a PC with no such device unloading i2c-ali15x3 cause an oops in release_region.
I've fixed by moving release_region() from i2c_ali15x3_exit() to ali15x3_remove().


 drivers/i2c/busses/i2c-ali15x3.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


diff -Nru a/drivers/i2c/busses/i2c-ali15x3.c b/drivers/i2c/busses/i2c-ali15x3.c
--- a/drivers/i2c/busses/i2c-ali15x3.c	Fri Aug  1 22:23:15 2003
+++ b/drivers/i2c/busses/i2c-ali15x3.c	Fri Aug  1 22:23:15 2003
@@ -508,6 +508,7 @@
 static void __devexit ali15x3_remove(struct pci_dev *dev)
 {
 	i2c_del_adapter(&ali15x3_adapter);
+	release_region(ali15x3_smba, ALI15X3_SMB_IOSIZE);
 }
 
 static struct pci_driver ali15x3_driver = {
@@ -526,7 +527,6 @@
 static void __exit i2c_ali15x3_exit(void)
 {
 	pci_unregister_driver(&ali15x3_driver);
-	release_region(ali15x3_smba, ALI15X3_SMB_IOSIZE);
 }
 
 MODULE_AUTHOR ("Frodo Looijaard <frodol@dds.nl>, "
