|
@@ -490,8 +490,8 @@ static ssize_t efi_pstore_read(u64 *id, enum pstore_type_id *type,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static u64 efi_pstore_write(enum pstore_type_id type, unsigned int part,
|
|
|
- size_t size, struct pstore_info *psi)
|
|
|
+static int efi_pstore_write(enum pstore_type_id type, u64 *id,
|
|
|
+ unsigned int part, size_t size, struct pstore_info *psi)
|
|
|
{
|
|
|
char name[DUMP_NAME_LEN];
|
|
|
char stub_name[DUMP_NAME_LEN];
|
|
@@ -499,7 +499,7 @@ static u64 efi_pstore_write(enum pstore_type_id type, unsigned int part,
|
|
|
efi_guid_t vendor = LINUX_EFI_CRASH_GUID;
|
|
|
struct efivars *efivars = psi->data;
|
|
|
struct efivar_entry *entry, *found = NULL;
|
|
|
- int i;
|
|
|
+ int i, ret = 0;
|
|
|
|
|
|
sprintf(stub_name, "dump-type%u-%u-", type, part);
|
|
|
sprintf(name, "%s%lu", stub_name, get_seconds());
|
|
@@ -548,18 +548,19 @@ static u64 efi_pstore_write(enum pstore_type_id type, unsigned int part,
|
|
|
efivar_unregister(found);
|
|
|
|
|
|
if (size)
|
|
|
- efivar_create_sysfs_entry(efivars,
|
|
|
+ ret = efivar_create_sysfs_entry(efivars,
|
|
|
utf16_strsize(efi_name,
|
|
|
DUMP_NAME_LEN * 2),
|
|
|
efi_name, &vendor);
|
|
|
|
|
|
- return part;
|
|
|
+ *id = part;
|
|
|
+ return ret;
|
|
|
};
|
|
|
|
|
|
static int efi_pstore_erase(enum pstore_type_id type, u64 id,
|
|
|
struct pstore_info *psi)
|
|
|
{
|
|
|
- efi_pstore_write(type, id, 0, psi);
|
|
|
+ efi_pstore_write(type, &id, (unsigned int)id, 0, psi);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -580,8 +581,8 @@ static ssize_t efi_pstore_read(u64 *id, enum pstore_type_id *type,
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
-static u64 efi_pstore_write(enum pstore_type_id type, unsigned int part,
|
|
|
- size_t size, struct pstore_info *psi)
|
|
|
+static int efi_pstore_write(enum pstore_type_id type, u64 *id,
|
|
|
+ unsigned int part, size_t size, struct pstore_info *psi)
|
|
|
{
|
|
|
return 0;
|
|
|
}
|