Author: kan Date: Sun Sep 14 00:02:37 2014 New Revision: 271561 URL: http://svnweb.freebsd.org/changeset/base/271561
Log: Add delay to Octeon MDIO access routines. Prevent saturattion of the bus by constant polling which in extreme cases can cause interface lockup. This makes FreeBSD match similar case in the executive. Modified: head/sys/mips/cavium/octe/ethernet-mdio.c Modified: head/sys/mips/cavium/octe/ethernet-mdio.c ============================================================================== --- head/sys/mips/cavium/octe/ethernet-mdio.c Sat Sep 13 23:50:51 2014 (r271560) +++ head/sys/mips/cavium/octe/ethernet-mdio.c Sun Sep 14 00:02:37 2014 (r271561) @@ -71,6 +71,7 @@ int cvm_oct_mdio_read(struct ifnet *ifp, cvmx_write_csr(CVMX_SMI_CMD, smi_cmd.u64); do { + cvmx_wait(1000); smi_rd.u64 = cvmx_read_csr(CVMX_SMI_RD_DAT); } while (smi_rd.s.pending); @@ -108,6 +109,7 @@ void cvm_oct_mdio_write(struct ifnet *if cvmx_write_csr(CVMX_SMI_CMD, smi_cmd.u64); do { + cvmx_wait(1000); smi_wr.u64 = cvmx_read_csr(CVMX_SMI_WR_DAT); } while (smi_wr.s.pending); MDIO_UNLOCK(); _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"