aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r--arch/x86/kernel/amd_iommu_init.c6
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 */
395static u8 * __init alloc_command_buffer(struct amd_iommu *iommu) 395static 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,