提交 db98812f 编写于 作者: R Ron Mercer 提交者: David S. Miller

qlge: Move reset logic into asic_reset_worker func.

Get rid of extraneous ql_cycle_adapter.  It's only called from the one
place.
Signed-off-by: NRon Mercer <ron.mercer@qlogic.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 1a77733c
...@@ -3263,28 +3263,6 @@ static int ql_adapter_up(struct ql_adapter *qdev) ...@@ -3263,28 +3263,6 @@ static int ql_adapter_up(struct ql_adapter *qdev)
return err; return err;
} }
static int ql_cycle_adapter(struct ql_adapter *qdev)
{
int status;
status = ql_adapter_down(qdev);
if (status)
goto error;
status = ql_adapter_up(qdev);
if (status)
goto error;
return status;
error:
QPRINTK(qdev, IFUP, ALERT,
"Driver up/down cycle failed, closing device\n");
rtnl_lock();
dev_close(qdev->ndev);
rtnl_unlock();
return status;
}
static void ql_release_adapter_resources(struct ql_adapter *qdev) static void ql_release_adapter_resources(struct ql_adapter *qdev)
{ {
ql_free_mem_resources(qdev); ql_free_mem_resources(qdev);
...@@ -3617,7 +3595,24 @@ static void ql_asic_reset_work(struct work_struct *work) ...@@ -3617,7 +3595,24 @@ static void ql_asic_reset_work(struct work_struct *work)
{ {
struct ql_adapter *qdev = struct ql_adapter *qdev =
container_of(work, struct ql_adapter, asic_reset_work.work); container_of(work, struct ql_adapter, asic_reset_work.work);
ql_cycle_adapter(qdev); int status;
status = ql_adapter_down(qdev);
if (status)
goto error;
status = ql_adapter_up(qdev);
if (status)
goto error;
return;
error:
QPRINTK(qdev, IFUP, ALERT,
"Driver up/down cycle failed, closing device\n");
rtnl_lock();
set_bit(QL_ADAPTER_UP, &qdev->flags);
dev_close(qdev->ndev);
rtnl_unlock();
} }
static struct nic_operations qla8012_nic_ops = { static struct nic_operations qla8012_nic_ops = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册