mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
Fix 10nm EDAC driver to release and unmap resources on systems without HBM
-----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQQW3WBGcnu5yJnSXn0kTJLX0iGMLAUCYdSQwhQcdG9ueS5sdWNr QGludGVsLmNvbQAKCRAkTJLX0iGMLAtJAQCMRv7I8aEC/MuqAG+wlJ1ffhrh27re Q5WwcaltQDPA3AEA9pO2/SKnZHKTs4RZ9cKTJiKrsFNAfhf6bCKww0tYLg0= =51UZ -----END PGP SIGNATURE----- Merge tag 'edac_urgent_for_v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras Pull EDAC fix from Tony Luck: "Fix 10nm EDAC driver to release and unmap resources on systems without HBM" * tag 'edac_urgent_for_v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/i10nm: Release mdev/mbase when failing to detect HBM
This commit is contained in:
commit
494603e06b
@ -358,6 +358,9 @@ static int i10nm_get_hbm_munits(void)
|
||||
|
||||
mbase = ioremap(base + off, I10NM_HBM_IMC_MMIO_SIZE);
|
||||
if (!mbase) {
|
||||
pci_dev_put(d->imc[lmc].mdev);
|
||||
d->imc[lmc].mdev = NULL;
|
||||
|
||||
i10nm_printk(KERN_ERR, "Failed to ioremap for hbm mc 0x%llx\n",
|
||||
base + off);
|
||||
return -ENOMEM;
|
||||
@ -368,6 +371,12 @@ static int i10nm_get_hbm_munits(void)
|
||||
|
||||
mcmtr = I10NM_GET_MCMTR(&d->imc[lmc], 0);
|
||||
if (!I10NM_IS_HBM_IMC(mcmtr)) {
|
||||
iounmap(d->imc[lmc].mbase);
|
||||
d->imc[lmc].mbase = NULL;
|
||||
d->imc[lmc].hbm_mc = false;
|
||||
pci_dev_put(d->imc[lmc].mdev);
|
||||
d->imc[lmc].mdev = NULL;
|
||||
|
||||
i10nm_printk(KERN_ERR, "This isn't an hbm mc!\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user