[3c90x] Stall upload engine before setting RX ring address
According to the 3c90x datasheet we have to stall the upload (receive) engine before setting the receive ring address. Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
82e452d427
commit
b324a9c243
@ -813,10 +813,14 @@ static int a3c90x_open(struct net_device *netdev)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdStallCtl, upStall);
|
||||||
|
|
||||||
/* send rx_ring address to NIC */
|
/* send rx_ring address to NIC */
|
||||||
outl(virt_to_bus(inf_3c90x->rx_ring),
|
outl(virt_to_bus(inf_3c90x->rx_ring),
|
||||||
inf_3c90x->IOAddr + regUpListPtr_l);
|
inf_3c90x->IOAddr + regUpListPtr_l);
|
||||||
|
|
||||||
|
a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdStallCtl, upUnStall);
|
||||||
|
|
||||||
/* enable packet transmission and reception */
|
/* enable packet transmission and reception */
|
||||||
a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdTxEnable, 0);
|
a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdTxEnable, 0);
|
||||||
a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdRxEnable, 0);
|
a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdRxEnable, 0);
|
||||||
|
Reference in New Issue
Block a user