From 206c34f60039c034590ad21ae98c2e7afcf99a66 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Mon, 25 Apr 2016 02:01:15 +0000 Subject: [PATCH] fixup kernel loading firmware --- drivers/base/firmware_class.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index bb9e2db7c5ff..84ab7d9917d6 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -271,16 +271,14 @@ static ssize_t firmware_loading_show(struct device *dev, static void firmware_free_data(const struct firmware *fw) { int i; - /* Loaded directly? */ - if (!fw->priv) { - vfree(fw->data); - return; - } - vunmap(fw->data); if (fw->pages) { + vunmap(fw->data); for (i = 0; i < PFN_UP(fw->size); i++) __free_page(fw->pages[i]); kfree(fw->pages); + /* Loaded directly? */ + } else { + vfree(fw->data); } } -- 2.20.1