u32 set);
 int ravb_wait(struct net_device *ndev, enum ravb_reg reg, u32 mask, u32 value);
 
-irqreturn_t ravb_ptp_interrupt(struct net_device *ndev);
+void ravb_ptp_interrupt(struct net_device *ndev);
 void ravb_ptp_init(struct net_device *ndev, struct platform_device *pdev);
 void ravb_ptp_stop(struct net_device *ndev);
 
 
        }
 
        /* gPTP interrupt status summary */
-       if ((iss & ISS_CGIS) && ravb_ptp_interrupt(ndev) == IRQ_HANDLED)
+       if (iss & ISS_CGIS) {
+               ravb_ptp_interrupt(ndev);
                result = IRQ_HANDLED;
+       }
 
        mmiowb();
        spin_unlock(&priv->lock);
        }
 
        /* gPTP interrupt status summary */
-       if ((iss & ISS_CGIS) && ravb_ptp_interrupt(ndev) == IRQ_HANDLED)
+       if (iss & ISS_CGIS) {
+               ravb_ptp_interrupt(ndev);
                result = IRQ_HANDLED;
+       }
 
        mmiowb();
        spin_unlock(&priv->lock);
 
 };
 
 /* Caller must hold the lock */
-irqreturn_t ravb_ptp_interrupt(struct net_device *ndev)
+void ravb_ptp_interrupt(struct net_device *ndev)
 {
        struct ravb_private *priv = netdev_priv(ndev);
        u32 gis = ravb_read(ndev, GIS);
                }
        }
 
-       if (gis) {
-               ravb_write(ndev, ~gis, GIS);
-               return IRQ_HANDLED;
-       }
-
-       return IRQ_NONE;
+       ravb_write(ndev, ~gis, GIS);
 }
 
 void ravb_ptp_init(struct net_device *ndev, struct platform_device *pdev)