diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 3f1b72eb349231fe5041e0b5211748efc8179bd6..fba8b7455d8beaa168ac7a9749e659e073ae08e6 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2884,7 +2884,7 @@ static irqreturn_t skge_intr(int irq, void *dev_id, struct pt_regs *regs)
 	spin_lock(&hw->hw_lock);
 	/* Reading this register masks IRQ */
 	status = skge_read32(hw, B0_SP_ISRC);
-	if (status == 0)
+	if (status == 0 || status == ~0)
 		goto out;
 
 	handled = 1;