diff options
Diffstat (limited to 'lib/test_firmware.c')
| -rw-r--r-- | lib/test_firmware.c | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/lib/test_firmware.c b/lib/test_firmware.c index 9fee2b93a8d1..06c955057756 100644 --- a/lib/test_firmware.c +++ b/lib/test_firmware.c @@ -26,6 +26,8 @@  #include <linux/vmalloc.h>  #include <linux/efi_embedded_fw.h> +MODULE_IMPORT_NS(TEST_FIRMWARE); +  #define TEST_FIRMWARE_NAME	"test-firmware.bin"  #define TEST_FIRMWARE_NUM_REQS	4  #define TEST_FIRMWARE_BUF_SIZE	SZ_1K @@ -489,6 +491,9 @@ out:  static DEVICE_ATTR_WO(trigger_request);  #ifdef CONFIG_EFI_EMBEDDED_FIRMWARE +extern struct list_head efi_embedded_fw_list; +extern bool efi_embedded_fw_checked; +  static ssize_t trigger_request_platform_store(struct device *dev,  					      struct device_attribute *attr,  					      const char *buf, size_t count) @@ -501,6 +506,7 @@ static ssize_t trigger_request_platform_store(struct device *dev,  	};  	struct efi_embedded_fw efi_embedded_fw;  	const struct firmware *firmware = NULL; +	bool saved_efi_embedded_fw_checked;  	char *name;  	int rc; @@ -513,6 +519,8 @@ static ssize_t trigger_request_platform_store(struct device *dev,  	efi_embedded_fw.data = (void *)test_data;  	efi_embedded_fw.length = sizeof(test_data);  	list_add(&efi_embedded_fw.list, &efi_embedded_fw_list); +	saved_efi_embedded_fw_checked = efi_embedded_fw_checked; +	efi_embedded_fw_checked = true;  	pr_info("loading '%s'\n", name);  	rc = firmware_request_platform(&firmware, name, dev); @@ -530,6 +538,7 @@ static ssize_t trigger_request_platform_store(struct device *dev,  	rc = count;  out: +	efi_embedded_fw_checked = saved_efi_embedded_fw_checked;  	release_firmware(firmware);  	list_del(&efi_embedded_fw.list);  	kfree(name); |