diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2009-10-08 05:54:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-09 01:54:52 -0400 |
commit | 2cd6dbaaf43ca9ec5607239c23c4e9793b702e1b (patch) | |
tree | 76988745133906c87a7f18d63bf222a1caddbbae /drivers/net/qlge | |
parent | 84087f4d482c5d554e1b26a557d424761213e5dc (diff) |
qlge: Restore rx mode after internal reset.
Call set_multi API after reset recovery. This was exposed by tripping
tx_timeout.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlge')
-rw-r--r-- | drivers/net/qlge/qlge_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index fe13006b4249..48b45df85ec9 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c | |||
@@ -3751,6 +3751,12 @@ static void ql_asic_reset_work(struct work_struct *work) | |||
3751 | status = ql_adapter_up(qdev); | 3751 | status = ql_adapter_up(qdev); |
3752 | if (status) | 3752 | if (status) |
3753 | goto error; | 3753 | goto error; |
3754 | |||
3755 | /* Restore rx mode. */ | ||
3756 | clear_bit(QL_ALLMULTI, &qdev->flags); | ||
3757 | clear_bit(QL_PROMISCUOUS, &qdev->flags); | ||
3758 | qlge_set_multicast_list(qdev->ndev); | ||
3759 | |||
3754 | rtnl_unlock(); | 3760 | rtnl_unlock(); |
3755 | return; | 3761 | return; |
3756 | error: | 3762 | error: |