aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-07-26 21:48:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-07-26 21:48:23 -0400
commit1b3fc0bef8859268d542230172f80e85553fdab4 (patch)
treedca6ce8a7f2722a8d04e2c3c604cc10871c2f489 /drivers/acpi
parentd31dcd92473b26463cd804410174f16be8a02573 (diff)
parent74e630a7582e6b3cb39559d712a0049f08dea8a0 (diff)
Merge tag 'pstore-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull pstore subsystem updates from Kees Cook: "This expands the supported compressors, fixes some bugs, and finally adds DT bindings" * tag 'pstore-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: pstore/ram: add Device Tree bindings efi-pstore: implement efivars_pstore_exit() pstore: drop file opened reference count pstore: add lzo/lz4 compression support pstore: Cleanup pstore_dump() pstore: Enable compression on normal path (again) ramoops: Only unregister when registered
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/apei/erst.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/acpi/apei/erst.c b/drivers/acpi/apei/erst.c
index 006c3894c6ea..f096ab3cb54d 100644
--- a/drivers/acpi/apei/erst.c
+++ b/drivers/acpi/apei/erst.c
@@ -927,7 +927,8 @@ static int erst_open_pstore(struct pstore_info *psi);
927static int erst_close_pstore(struct pstore_info *psi); 927static int erst_close_pstore(struct pstore_info *psi);
928static ssize_t erst_reader(u64 *id, enum pstore_type_id *type, int *count, 928static ssize_t erst_reader(u64 *id, enum pstore_type_id *type, int *count,
929 struct timespec *time, char **buf, 929 struct timespec *time, char **buf,
930 bool *compressed, struct pstore_info *psi); 930 bool *compressed, ssize_t *ecc_notice_size,
931 struct pstore_info *psi);
931static int erst_writer(enum pstore_type_id type, enum kmsg_dump_reason reason, 932static int erst_writer(enum pstore_type_id type, enum kmsg_dump_reason reason,
932 u64 *id, unsigned int part, int count, bool compressed, 933 u64 *id, unsigned int part, int count, bool compressed,
933 size_t size, struct pstore_info *psi); 934 size_t size, struct pstore_info *psi);
@@ -987,7 +988,8 @@ static int erst_close_pstore(struct pstore_info *psi)
987 988
988static ssize_t erst_reader(u64 *id, enum pstore_type_id *type, int *count, 989static ssize_t erst_reader(u64 *id, enum pstore_type_id *type, int *count,
989 struct timespec *time, char **buf, 990 struct timespec *time, char **buf,
990 bool *compressed, struct pstore_info *psi) 991 bool *compressed, ssize_t *ecc_notice_size,
992 struct pstore_info *psi)
991{ 993{
992 int rc; 994 int rc;
993 ssize_t len = 0; 995 ssize_t len = 0;
@@ -1033,6 +1035,7 @@ skip:
1033 memcpy(*buf, rcd->data, len - sizeof(*rcd)); 1035 memcpy(*buf, rcd->data, len - sizeof(*rcd));
1034 *id = record_id; 1036 *id = record_id;
1035 *compressed = false; 1037 *compressed = false;
1038 *ecc_notice_size = 0;
1036 if (uuid_le_cmp(rcd->sec_hdr.section_type, 1039 if (uuid_le_cmp(rcd->sec_hdr.section_type,
1037 CPER_SECTION_TYPE_DMESG_Z) == 0) { 1040 CPER_SECTION_TYPE_DMESG_Z) == 0) {
1038 *type = PSTORE_TYPE_DMESG; 1041 *type = PSTORE_TYPE_DMESG;