|
@@ -190,8 +190,11 @@ static void save_microcode_patch(void *data, unsigned int size)
|
|
p = memdup_patch(data, size);
|
|
p = memdup_patch(data, size);
|
|
if (!p)
|
|
if (!p)
|
|
pr_err("Error allocating buffer %p\n", data);
|
|
pr_err("Error allocating buffer %p\n", data);
|
|
- else
|
|
|
|
|
|
+ else {
|
|
list_replace(&iter->plist, &p->plist);
|
|
list_replace(&iter->plist, &p->plist);
|
|
|
|
+ kfree(iter->data);
|
|
|
|
+ kfree(iter);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|