diff options
Diffstat (limited to 'drivers/net/qlge/qlge_main.c')
-rw-r--r-- | drivers/net/qlge/qlge_main.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index e1203bf08058..fe13006b4249 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c | |||
@@ -3349,6 +3349,13 @@ static int ql_adapter_reset(struct ql_adapter *qdev) | |||
3349 | 3349 | ||
3350 | end_jiffies = jiffies + | 3350 | end_jiffies = jiffies + |
3351 | max((unsigned long)1, usecs_to_jiffies(30)); | 3351 | max((unsigned long)1, usecs_to_jiffies(30)); |
3352 | |||
3353 | /* Stop management traffic. */ | ||
3354 | ql_mb_set_mgmnt_traffic_ctl(qdev, MB_SET_MPI_TFK_STOP); | ||
3355 | |||
3356 | /* Wait for the NIC and MGMNT FIFOs to empty. */ | ||
3357 | ql_wait_fifo_empty(qdev); | ||
3358 | |||
3352 | ql_write32(qdev, RST_FO, (RST_FO_FR << 16) | RST_FO_FR); | 3359 | ql_write32(qdev, RST_FO, (RST_FO_FR << 16) | RST_FO_FR); |
3353 | 3360 | ||
3354 | do { | 3361 | do { |
@@ -3364,6 +3371,8 @@ static int ql_adapter_reset(struct ql_adapter *qdev) | |||
3364 | status = -ETIMEDOUT; | 3371 | status = -ETIMEDOUT; |
3365 | } | 3372 | } |
3366 | 3373 | ||
3374 | /* Resume management traffic. */ | ||
3375 | ql_mb_set_mgmnt_traffic_ctl(qdev, MB_SET_MPI_TFK_RESUME); | ||
3367 | return status; | 3376 | return status; |
3368 | } | 3377 | } |
3369 | 3378 | ||