|
@@ -305,8 +305,12 @@ static int dwmac1000_irq_status(struct mac_device_info *hw,
|
|
|
{
|
|
{
|
|
|
void __iomem *ioaddr = hw->pcsr;
|
|
void __iomem *ioaddr = hw->pcsr;
|
|
|
u32 intr_status = readl(ioaddr + GMAC_INT_STATUS);
|
|
u32 intr_status = readl(ioaddr + GMAC_INT_STATUS);
|
|
|
|
|
+ u32 intr_mask = readl(ioaddr + GMAC_INT_MASK);
|
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
|
|
|
|
+ /* Discard masked bits */
|
|
|
|
|
+ intr_status &= ~intr_mask;
|
|
|
|
|
+
|
|
|
/* Not used events (e.g. MMC interrupts) are not handled. */
|
|
/* Not used events (e.g. MMC interrupts) are not handled. */
|
|
|
if ((intr_status & GMAC_INT_STATUS_MMCTIS))
|
|
if ((intr_status & GMAC_INT_STATUS_MMCTIS))
|
|
|
x->mmc_tx_irq_n++;
|
|
x->mmc_tx_irq_n++;
|