Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 158075
b: refs/heads/master
c: b26e81b
h: refs/heads/master
i:
  158073: 7d61423
  158071: fc5f9a1
v: v3
  • Loading branch information
Joerg Roedel committed Sep 3, 2009
1 parent 8b09d34 commit fc0e0e8
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a345b23b79f1900e7d87c3165182504419180de4
refs/heads/master: b26e81b871bd18184968f0bb3f12945906eadfce
3 changes: 3 additions & 0 deletions trunk/arch/x86/include/asm/amd_iommu_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,9 @@ struct amd_iommu {
/* if one, we need to send a completion wait command */
bool need_sync;

/* becomes true if a command buffer reset is running */
bool reset_in_progress;

/* default dma_ops domain for that IOMMU */
struct dma_ops_domain *default_dom;
};
Expand Down
7 changes: 7 additions & 0 deletions trunk/arch/x86/kernel/amd_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -553,9 +553,16 @@ static void reset_iommu_command_buffer(struct amd_iommu *iommu)
{
pr_err("AMD-Vi: Resetting IOMMU command buffer\n");

if (iommu->reset_in_progress)
panic("AMD-Vi: ILLEGAL_COMMAND_ERROR while resetting command buffer\n");

iommu->reset_in_progress = true;

amd_iommu_reset_cmd_buffer(iommu);
flush_all_devices_for_iommu(iommu);
flush_all_domains_on_iommu(iommu);

iommu->reset_in_progress = false;
}

/****************************************************************************
Expand Down

0 comments on commit fc0e0e8

Please sign in to comment.