From 60493dfc5ac117517fb1111e6224af77db73622e Mon Sep 17 00:00:00 2001 From: Martyn Welch Date: Tue, 11 Aug 2009 13:50:49 +0100 Subject: [PATCH] --- yaml --- r: 162342 b: refs/heads/master c: 75155020c8dc3aa38f8cabc95f17ccd8389c37b6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/vme/bridges/vme_tsi148.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a37e25b66190..90dc61a24744 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51a569f757f233bcffbffcdfeeff510916991a55 +refs/heads/master: 75155020c8dc3aa38f8cabc95f17ccd8389c37b6 diff --git a/trunk/drivers/staging/vme/bridges/vme_tsi148.c b/trunk/drivers/staging/vme/bridges/vme_tsi148.c index cdc291989391..a4929ad3f08a 100644 --- a/trunk/drivers/staging/vme/bridges/vme_tsi148.c +++ b/trunk/drivers/staging/vme/bridges/vme_tsi148.c @@ -480,6 +480,7 @@ int tsi148_request_irq(int level, int statid, void tsi148_free_irq(int level, int statid) { u32 tmp; + struct pci_dev *pdev; /* Get semaphore */ down(&(vme_irq)); @@ -495,6 +496,10 @@ void tsi148_free_irq(int level, int statid) tmp = ioread32be(tsi148_bridge->base + TSI148_LCSR_INTEO); tmp &= ~TSI148_LCSR_INTEO_IRQEO[level - 1]; iowrite32be(tmp, tsi148_bridge->base + TSI148_LCSR_INTEO); + + pdev = container_of(tsi148_bridge->parent, struct pci_dev, dev); + + synchronize_irq(pdev->irq); } tsi148_bridge->irq[level - 1].callback[statid].func = NULL;