Subject: Re: Kernel oops on setting sky2 interfaces down

From: Stephen Hemminger <[email-masked]>
Date: Mon, 27 Jul 2009 15:35:48 -0700

Does this help?

--- a/drivers/net/sky2.c	2009-07-27 15:28:27.653757064 -0700
+++ b/drivers/net/sky2.c	2009-07-27 15:34:24.358730966 -0700
@@ -2763,6 +2763,11 @@ static int sky2_poll(struct napi_struct 
 	int work_done = 0;
 	u16 idx;
 
+	if (unlikely(status == ~0)) {
+		dev_info(&hw->pdev->dev, "device status error\n");
+		goto clear_napi;
+	}
+
 	if (unlikely(status & Y2_IS_ERROR))
 		sky2_err_intr(hw, status);
 
@@ -2779,6 +2784,7 @@ static int sky2_poll(struct napi_struct 
 			goto done;
 	}
 
+clear_napi:
 	napi_complete(napi);
 	sky2_read32(hw, B0_Y2_SP_LISR);
 done: