diff options
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index 0f5a9115a69..0124995c7b5 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -394,17 +394,15 @@ static int __init find_last_devid_acpi(struct acpi_table_header *table) | |||
394 | */ | 394 | */ |
395 | static u8 * __init alloc_command_buffer(struct amd_iommu *iommu) | 395 | static u8 * __init alloc_command_buffer(struct amd_iommu *iommu) |
396 | { | 396 | { |
397 | u8 *cmd_buf = (u8 *)__get_free_pages(GFP_KERNEL, | 397 | u8 *cmd_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, |
398 | get_order(CMD_BUFFER_SIZE)); | 398 | get_order(CMD_BUFFER_SIZE)); |
399 | u64 entry = 0; | 399 | u64 entry; |
400 | 400 | ||
401 | if (cmd_buf == NULL) | 401 | if (cmd_buf == NULL) |
402 | return NULL; | 402 | return NULL; |
403 | 403 | ||
404 | iommu->cmd_buf_size = CMD_BUFFER_SIZE; | 404 | iommu->cmd_buf_size = CMD_BUFFER_SIZE; |
405 | 405 | ||
406 | memset(cmd_buf, 0, CMD_BUFFER_SIZE); | ||
407 | |||
408 | entry = (u64)virt_to_phys(cmd_buf); | 406 | entry = (u64)virt_to_phys(cmd_buf); |
409 | entry |= MMIO_CMD_SIZE_512; | 407 | entry |= MMIO_CMD_SIZE_512; |
410 | memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET, | 408 | memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET, |