Skip to content

Commit

Permalink
ACPI: battery: Increase maximum string length
Browse files Browse the repository at this point in the history
On the Dell Inspiron 3505, the battery model name
is represented as a hex string containing seven numbers,
causing it to be larger than the current maximum string
length (32).
Increase this length to 64 to avoid truncating the string
in such cases. Also introduce a common define for the length.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Armin Wolf authored and Rafael J. Wysocki committed Jan 30, 2023
1 parent a1a32de commit 91507d2
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions drivers/acpi/battery.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@
#define ACPI_BATTERY_STATE_CHARGING 0x2
#define ACPI_BATTERY_STATE_CRITICAL 0x4

#define MAX_STRING_LENGTH 64

MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_AUTHOR("Alexey Starikovskiy <astarikovskiy@suse.de>");
MODULE_DESCRIPTION("ACPI Battery Driver");
Expand Down Expand Up @@ -118,10 +120,10 @@ struct acpi_battery {
int capacity_granularity_1;
int capacity_granularity_2;
int alarm;
char model_number[32];
char serial_number[32];
char type[32];
char oem_info[32];
char model_number[MAX_STRING_LENGTH];
char serial_number[MAX_STRING_LENGTH];
char type[MAX_STRING_LENGTH];
char oem_info[MAX_STRING_LENGTH];
int state;
int power_unit;
unsigned long flags;
Expand Down Expand Up @@ -437,7 +439,7 @@ static int extract_package(struct acpi_battery *battery,
element = &package->package.elements[i];
if (offsets[i].mode) {
u8 *ptr = (u8 *)battery + offsets[i].offset;
u32 len = 32;
u32 len = MAX_STRING_LENGTH;

switch (element->type) {
case ACPI_TYPE_BUFFER:
Expand Down

0 comments on commit 91507d2

Please sign in to comment.