i7core_edac: Check probe counter in i7core_remove
Hidetoshi Seto [Fri, 20 Aug 2010 07:29:47 +0000 (04:29 -0300)]
Prevent i7core_remove from running multiple times.
Otherwise value proved will be negative and something will be wrong.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

drivers/edac/i7core_edac.c

index 2e2db3c..472fa37 100644 (file)
@@ -2092,6 +2092,12 @@ static void __devexit i7core_remove(struct pci_dev *pdev)
         */
 
        mutex_lock(&i7core_edac_lock);
+
+       if (unlikely(!probed)) {
+               mutex_unlock(&i7core_edac_lock);
+               return;
+       }
+
        list_for_each_entry(i7core_dev, &i7core_edac_list, list) {
                mci = find_mci_by_dev(&i7core_dev->pdev[0]->dev);
                if (unlikely(!mci || !mci->pvt_info)) {