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>
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
index a76a4c0..d64ac2c 100644
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -2095,9 +2095,9 @@
 
 			/* 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--;