From a91eee6ea06a427bdc6d32426732f95e01c4bf2b Mon Sep 17 00:00:00 2001 From: Sathya Perla Date: Thu, 12 May 2011 19:32:15 +0000 Subject: [PATCH] --- yaml --- r: 247431 b: refs/heads/master c: 6ed35eea3b96977d76d61b5862a3209044cb4b1f h: refs/heads/master i: 247429: 7320a07afa76c60daeb5a36c7dc3394ec140942a 247427: dcdafa97bfcd67cd108aba9473b90b4472404cbd 247423: 823a5dba79fe06a279b72942560cec2a519636cc v: v3 --- [refs] | 2 +- trunk/drivers/net/benet/be_cmds.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 29a7d6441aa2..1fdc810ec56c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 29dd54b72ba8c5ad0dd6dd33584449b5953f700b +refs/heads/master: 6ed35eea3b96977d76d61b5862a3209044cb4b1f diff --git a/trunk/drivers/net/benet/be_cmds.c b/trunk/drivers/net/benet/be_cmds.c index 0dbb4cbc07b6..d558b9088d7e 100644 --- a/trunk/drivers/net/benet/be_cmds.c +++ b/trunk/drivers/net/benet/be_cmds.c @@ -376,23 +376,25 @@ int be_cmd_POST(struct be_adapter *adapter) { u16 stage; int status, timeout = 0; + struct device *dev = &adapter->pdev->dev; do { status = be_POST_stage_get(adapter, &stage); if (status) { - dev_err(&adapter->pdev->dev, "POST error; stage=0x%x\n", - stage); + dev_err(dev, "POST error; stage=0x%x\n", stage); return -1; } else if (stage != POST_STAGE_ARMFW_RDY) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(2 * HZ); + if (msleep_interruptible(2000)) { + dev_err(dev, "Waiting for POST aborted\n"); + return -EINTR; + } timeout += 2; } else { return 0; } } while (timeout < 40); - dev_err(&adapter->pdev->dev, "POST timeout; stage=0x%x\n", stage); + dev_err(dev, "POST timeout; stage=0x%x\n", stage); return -1; }