mirror of
https://github.com/torvalds/linux.git
synced 2024-12-17 08:31:39 +00:00
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: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1a77733ccb
commit
db98812f6b
@ -3263,28 +3263,6 @@ err_init:
|
||||
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)
|
||||
{
|
||||
ql_free_mem_resources(qdev);
|
||||
@ -3617,7 +3595,24 @@ static void ql_asic_reset_work(struct work_struct *work)
|
||||
{
|
||||
struct ql_adapter *qdev =
|
||||
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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user