vtd: Only kill_timer() an init_timer()'ed timer.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
This commit is contained in:
Keir Fraser committed 2010-06-28 16:45:19 +01:00
1 parent 9bea076291
commit c3efc4ecb7
3 files changed
+5 -2

No files matched your search

+1 -1
View File
@@ -28,7 +28,7 @@
static void hvm_dirq_assist(unsigned long _d);
static int pt_irq_need_timer(uint32_t flags)
bool_t pt_irq_need_timer(uint32_t flags)
{
return !(flags & (HVM_IRQ_DPCI_GUEST_MSI | HVM_IRQ_DPCI_TRANSLATE));
}
+3 -1
View File
@@ -260,7 +260,9 @@ static void pci_clean_dpci_irqs(struct domain *d)
i = find_next_bit(hvm_irq_dpci->mapping, d->nr_pirqs, i + 1) )
{
pirq_guest_unbind(d, i);
kill_timer(&hvm_irq_dpci->hvm_timer[domain_pirq_to_irq(d, i)]);
if ( pt_irq_need_timer(hvm_irq_dpci->mirq[i].flags) )
kill_timer(&hvm_irq_dpci->hvm_timer[domain_pirq_to_irq(d, i)]);
list_for_each_safe ( digl_list, tmp,
&hvm_irq_dpci->mirq[i].digl_list )
+1
View File
@@ -100,6 +100,7 @@ void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq);
struct hvm_irq_dpci *domain_get_irq_dpci(struct domain *domain);
int domain_set_irq_dpci(struct domain *domain, struct hvm_irq_dpci *dpci);
void free_hvm_irq_dpci(struct hvm_irq_dpci *dpci);
bool_t pt_irq_need_timer(uint32_t flags);
#define PT_IRQ_TIME_OUT MILLISECS(8)
#define VTDPREFIX "[VT-D]"
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.