kernel/drivers/edac/highbank_mc_edac.c
.. .. @@ -174,8 +174,10 @@ 174 174 drvdata = mci->pvt_info; 175 175 platform_set_drvdata(pdev, mci); 176 176 177 - if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL))178 - return -ENOMEM;177 + if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) {178 + res = -ENOMEM;179 + goto free;180 + }179 181 180 182 r = platform_get_resource(pdev, IORESOURCE_MEM, 0); 181 183 if (!r) { .. .. @@ -243,6 +245,7 @@ 243 245 edac_mc_del_mc(&pdev->dev); 244 246 err: 245 247 devres_release_group(&pdev->dev, NULL); 248 +free:246 249 edac_mc_free(mci); 247 250 return res; 248 251 }