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