aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSelma Bensaid <selma.bensaid@intel.com>2010-12-09 10:37:47 +0000
committerAlan Cox <alan@linux.intel.com>2010-12-09 10:37:47 +0000
commite169506369d8d0015aa8ee65bfe869cdee7b4468 (patch)
tree571c91dc77b0016ab1452f287a8cef6175a17057
parent7fb4fe5e4d80995b554af80a1bc062dd31a6c39b (diff)
downloadmrst-s0i3-test-e169506369d8d0015aa8ee65bfe869cdee7b4468.tar.gz
mrst-s0i3-test-e169506369d8d0015aa8ee65bfe869cdee7b4468.tar.xz
mrst-s0i3-test-e169506369d8d0015aa8ee65bfe869cdee7b4468.zip
Intel MID I2S fix i2s_int to avoid Fabric Error When runtime_pm is ON.
In function i2s_int, the read of the SSR register has to be performed only if the SSP is not SUSPENDED. Signed-off-by: Selma Bensaid <selma.bensaid@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com>
-rw-r--r--sound/pci/intel_mid_i2s/intel_mid_i2s.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/pci/intel_mid_i2s/intel_mid_i2s.c b/sound/pci/intel_mid_i2s/intel_mid_i2s.c
index 95967cb7b73..fec37649db4 100644
--- a/sound/pci/intel_mid_i2s/intel_mid_i2s.c
+++ b/sound/pci/intel_mid_i2s/intel_mid_i2s.c
@@ -18,7 +18,6 @@
*/
#include <linux/pci.h>
#include <linux/dma-mapping.h>
-#include <linux/interrupt.h>
#include <linux/pm_runtime.h>
#include <linux/pci_regs.h>
#include <linux/wait.h>
@@ -1096,8 +1095,6 @@ static irqreturn_t i2s_int(int irq, void *dev_id)
u32 irq_status = 0;
u32 mask_status = 0;
struct device *ddbg = &(drv_data->pdev->dev);
- reg = drv_data->ioaddr;
- irq_status = read_SSSR(reg);
if (ddbg->power.status != DPM_ON)
@@ -1107,6 +1104,9 @@ static irqreturn_t i2s_int(int irq, void *dev_id)
return IRQ_NONE;
#endif
+ reg = drv_data->ioaddr;
+ irq_status = read_SSSR(reg);
+
if (!(irq_status & (drv_data->mask_sr))) {
return IRQ_NONE;
} else {