The following commit has been merged in the linux branch: commit 2cd6dbaaf43ca9ec5607239c23c4e9793b702e1b Author: Ron Mercer ron.mercer@qlogic.com Date: Thu Oct 8 09:54:42 2009 +0000
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
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index fe13006..48b45df 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) status = ql_adapter_up(qdev); if (status) goto error; + + /* Restore rx mode. */ + clear_bit(QL_ALLMULTI, &qdev->flags); + clear_bit(QL_PROMISCUOUS, &qdev->flags); + qlge_set_multicast_list(qdev->ndev); + rtnl_unlock(); return; error: