bnx2.c (incorrectly) sets current->state directly to
TASK_UNINTERRUPTIBLE, without going through set_task_state(). However
all the code wants to do is an msleep so just make it do that instead...

Signed-off-by: Arjan van de Ven <[EMAIL PROTECTED]>

--- linux-2.6.23-rc2/drivers/net/bnx2.c.org     2007-08-28 13:59:03.000000000 
-0700
+++ linux-2.6.23-rc2/drivers/net/bnx2.c 2007-08-28 13:59:33.000000000 -0700
@@ -3935,10 +3935,8 @@ bnx2_reset_chip(struct bnx2 *bp, u32 res
                REG_WR(bp, BNX2_PCICFG_MISC_CONFIG, val);
 
                if ((CHIP_ID(bp) == CHIP_ID_5706_A0) ||
-                   (CHIP_ID(bp) == CHIP_ID_5706_A1)) {
-                       current->state = TASK_UNINTERRUPTIBLE;
-                       schedule_timeout(HZ / 50);
-               }
+                   (CHIP_ID(bp) == CHIP_ID_5706_A1))
+                       msleep(20);
 
                /* Reset takes approximate 30 usec */
                for (i = 0; i < 10; i++) {


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to