浏览代码

[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>
tags/v1.20.1
Thomas Miletich 11 年前
父节点
当前提交
b324a9c243
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4
    0
      src/drivers/net/3c90x.c

+ 4
- 0
src/drivers/net/3c90x.c 查看文件

@@ -813,10 +813,14 @@ static int a3c90x_open(struct net_device *netdev)
813 813
 		goto error;
814 814
 	}
815 815
 
816
+	a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdStallCtl, upStall);
817
+
816 818
 	/* send rx_ring address to NIC */
817 819
 	outl(virt_to_bus(inf_3c90x->rx_ring),
818 820
 	     inf_3c90x->IOAddr + regUpListPtr_l);
819 821
 
822
+	a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdStallCtl, upUnStall);
823
+
820 824
 	/* enable packet transmission and reception */
821 825
 	a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdTxEnable, 0);
822 826
 	a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdRxEnable, 0);

正在加载...
取消
保存