summaryrefslogtreecommitdiff
path: root/src/drivers/wifi
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/wifi')
-rw-r--r--src/drivers/wifi/generic/smbios.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/drivers/wifi/generic/smbios.c b/src/drivers/wifi/generic/smbios.c
index 96b11d3051..e8936be386 100644
--- a/src/drivers/wifi/generic/smbios.c
+++ b/src/drivers/wifi/generic/smbios.c
@@ -22,17 +22,13 @@ static int smbios_write_intel_wifi(struct device *dev, int *handle, unsigned lon
u8 eos[2];
} __packed;
- struct smbios_type_intel_wifi *t = (struct smbios_type_intel_wifi *)*current;
- int len = sizeof(*t);
+ struct smbios_type_intel_wifi *t = smbios_carve_table(*current, 0x85,
+ sizeof(*t), *handle);
- memset(t, 0, sizeof(*t));
- t->type = 0x85;
- t->length = len - 2;
- t->handle = *handle;
/* Intel wifi driver expects this string to be in the table 0x85. */
t->str = smbios_add_string(t->eos, "KHOIHGIUCCHHII");
- len = t->length + smbios_string_table_len(t->eos);
+ const int len = t->length + smbios_string_table_len(t->eos);
*current += len;
*handle += 1;
return len;