| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: if_mc.c,v 1.53 2020/01/29 05:25:41 thorpej Exp $ */ | | 1 | /* $NetBSD: if_mc.c,v 1.54 2020/01/30 06:28:46 martin Exp $ */ |
2 | | | 2 | |
3 | /*- | | 3 | /*- |
4 | * Copyright (c) 1997 David Huang <khym@azeotrope.org> | | 4 | * Copyright (c) 1997 David Huang <khym@azeotrope.org> |
5 | * All rights reserved. | | 5 | * All rights reserved. |
6 | * | | 6 | * |
7 | * Portions of this code are based on code by Denton Gentry <denny1@home.com>, | | 7 | * Portions of this code are based on code by Denton Gentry <denny1@home.com>, |
8 | * Charles M. Hannum, Yanagisawa Takeshi <yanagisw@aa.ap.titech.ac.jp>, and | | 8 | * Charles M. Hannum, Yanagisawa Takeshi <yanagisw@aa.ap.titech.ac.jp>, and |
9 | * Jason R. Thorpe. | | 9 | * Jason R. Thorpe. |
10 | * | | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | | 11 | * Redistribution and use in source and binary forms, with or without |
12 | * modification, are permitted provided that the following conditions | | 12 | * modification, are permitted provided that the following conditions |
13 | * are met: | | 13 | * are met: |
14 | * 1. Redistributions of source code must retain the above copyright | | 14 | * 1. Redistributions of source code must retain the above copyright |
| @@ -25,27 +25,27 @@ | | | @@ -25,27 +25,27 @@ |
25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | | 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | | 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | | 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
28 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | | 28 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 | * | | 29 | * |
30 | */ | | 30 | */ |
31 | | | 31 | |
32 | /* | | 32 | /* |
33 | * Driver for the AMD Am79C940 (MACE) ethernet chip, used for onboard | | 33 | * Driver for the AMD Am79C940 (MACE) ethernet chip, used for onboard |
34 | * ethernet on the Centris/Quadra 660av and Quadra 840av. | | 34 | * ethernet on the Centris/Quadra 660av and Quadra 840av. |
35 | */ | | 35 | */ |
36 | | | 36 | |
37 | #include <sys/cdefs.h> | | 37 | #include <sys/cdefs.h> |
38 | __KERNEL_RCSID(0, "$NetBSD: if_mc.c,v 1.53 2020/01/29 05:25:41 thorpej Exp $"); | | 38 | __KERNEL_RCSID(0, "$NetBSD: if_mc.c,v 1.54 2020/01/30 06:28:46 martin Exp $"); |
39 | | | 39 | |
40 | #include "opt_ddb.h" | | 40 | #include "opt_ddb.h" |
41 | #include "opt_inet.h" | | 41 | #include "opt_inet.h" |
42 | | | 42 | |
43 | #include <sys/param.h> | | 43 | #include <sys/param.h> |
44 | #include <sys/systm.h> | | 44 | #include <sys/systm.h> |
45 | #include <sys/mbuf.h> | | 45 | #include <sys/mbuf.h> |
46 | #include <sys/buf.h> | | 46 | #include <sys/buf.h> |
47 | #include <sys/protosw.h> | | 47 | #include <sys/protosw.h> |
48 | #include <sys/socket.h> | | 48 | #include <sys/socket.h> |
49 | #include <sys/syslog.h> | | 49 | #include <sys/syslog.h> |
50 | #include <sys/ioctl.h> | | 50 | #include <sys/ioctl.h> |
51 | #include <sys/errno.h> | | 51 | #include <sys/errno.h> |
| @@ -481,27 +481,27 @@ mc_tint(struct mc_softc *sc) | | | @@ -481,27 +481,27 @@ mc_tint(struct mc_softc *sc) |
481 | return; | | 481 | return; |
482 | } | | 482 | } |
483 | | | 483 | |
484 | net_stat_ref_t nsr = IF_STAT_GETREF(&sc->sc_if); | | 484 | net_stat_ref_t nsr = IF_STAT_GETREF(&sc->sc_if); |
485 | | | 485 | |
486 | if (xmtfs & LCOL) { | | 486 | if (xmtfs & LCOL) { |
487 | printf("%s: late collision\n", device_xname(sc->sc_dev)); | | 487 | printf("%s: late collision\n", device_xname(sc->sc_dev)); |
488 | if_statinc_ref(nsr, if_oerrors); | | 488 | if_statinc_ref(nsr, if_oerrors); |
489 | if_statinc_ref(nsr, if_collisions); | | 489 | if_statinc_ref(nsr, if_collisions); |
490 | } | | 490 | } |
491 | | | 491 | |
492 | if (xmtfs & MORE) | | 492 | if (xmtfs & MORE) |
493 | /* Real number is unknown. */ | | 493 | /* Real number is unknown. */ |
494 | if_statadd_ref(nsr, if_collsions, 2); | | 494 | if_statadd_ref(nsr, if_collisons, 2); |
495 | else if (xmtfs & ONE) | | 495 | else if (xmtfs & ONE) |
496 | if_statinc_ref(nsr, if_collisions); | | 496 | if_statinc_ref(nsr, if_collisions); |
497 | else if (xmtfs & RTRY) { | | 497 | else if (xmtfs & RTRY) { |
498 | printf("%s: excessive collisions\n", device_xname(sc->sc_dev)); | | 498 | printf("%s: excessive collisions\n", device_xname(sc->sc_dev)); |
499 | if_statadd_ref(nsr, if_collsions, 16); | | 499 | if_statadd_ref(nsr, if_collsions, 16); |
500 | if_statinc_ref(nsr, if_oerrors); | | 500 | if_statinc_ref(nsr, if_oerrors); |
501 | } | | 501 | } |
502 | | | 502 | |
503 | if (xmtfs & LCAR) { | | 503 | if (xmtfs & LCAR) { |
504 | sc->sc_havecarrier = 0; | | 504 | sc->sc_havecarrier = 0; |
505 | printf("%s: lost carrier\n", device_xname(sc->sc_dev)); | | 505 | printf("%s: lost carrier\n", device_xname(sc->sc_dev)); |
506 | if_statinc_ref(nsr, if_oerrors); | | 506 | if_statinc_ref(nsr, if_oerrors); |
507 | } | | 507 | } |