summary refs log tree commit diff
path: root/drivers/edac
diff options
context:
space:
mode:
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>2010-08-20 04:24:18 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-24 11:20:38 -0200
commit45b7c981aeeb456d4b0c04f15d551f3e515bf20e (patch)
tree561629ce02c18ed3dfaefa9b243dba5da6549cba /drivers/edac
parent54a08ab153cf38a08ccce7544d58c819ad02dd18 (diff)
downloadlinux-45b7c981aeeb456d4b0c04f15d551f3e515bf20e.tar.gz
i7core_edac: Fix the logic in i7core_remove()
commit 47251b4d960bdfa648b0d06dbc6d445f41cb3906 have changed
the logic for unexplained reasons.  It looks strange that it
can release i7core_dev without calling i7core_put_devices()
that releases i7core_dev->pdev.

Fix the part.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/i7core_edac.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
index a76a4c067858..d64ac2ccc0bc 100644
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -2095,9 +2095,9 @@ static void __devexit i7core_remove(struct pci_dev *pdev)
 
 			/* Release PCI resources */
 			i7core_put_devices(i7core_dev);
+			list_del(&i7core_dev->list);
+			kfree(i7core_dev);
 		}
-		list_del(&i7core_dev->list);
-		kfree(i7core_dev);
 	}
 	probed--;