Procházet zdrojové kódy

[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 před 11 roky
rodič
revize
b324a9c243
1 změnil soubory, kde provedl 4 přidání a 0 odebrání
  1. 4
    0
      src/drivers/net/3c90x.c

+ 4
- 0
src/drivers/net/3c90x.c Zobrazit soubor

@@ -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);

Načítá se…
Zrušit
Uložit