Mon Oct 10 18:30:28 2022 UTC ()
ETHERCAP_VLAN_MTU does not go into ifp->if_capabilities but ethercom
ec_capabilities instead.


(martin)
diff -r1.23 -r1.24 src/sys/dev/usb/if_mos.c

cvs diff -r1.23 -r1.24 src/sys/dev/usb/if_mos.c (expand / switch to unified diff)

--- src/sys/dev/usb/if_mos.c 2022/08/20 14:08:59 1.23
+++ src/sys/dev/usb/if_mos.c 2022/10/10 18:30:28 1.24
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: if_mos.c,v 1.23 2022/08/20 14:08:59 riastradh Exp $ */ 1/* $NetBSD: if_mos.c,v 1.24 2022/10/10 18:30:28 martin Exp $ */
2/* $OpenBSD: if_mos.c,v 1.40 2019/07/07 06:40:10 kevlo Exp $ */ 2/* $OpenBSD: if_mos.c,v 1.40 2019/07/07 06:40:10 kevlo Exp $ */
3 3
4/* 4/*
5 * Copyright (c) 2008 Johann Christian Rode <jcrode@gmx.net> 5 * Copyright (c) 2008 Johann Christian Rode <jcrode@gmx.net>
6 * 6 *
7 * Permission to use, copy, modify, and distribute this software for any 7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above 8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies. 9 * copyright notice and this permission notice appear in all copies.
10 * 10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
@@ -62,27 +62,27 @@ @@ -62,27 +62,27 @@
62 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 62 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
63 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 63 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
64 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 64 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
65 * THE POSSIBILITY OF SUCH DAMAGE. 65 * THE POSSIBILITY OF SUCH DAMAGE.
66 */ 66 */
67 67
68/* 68/*
69 * Moschip MCS7730/MCS7830/MCS7832 USB to Ethernet controller  69 * Moschip MCS7730/MCS7830/MCS7832 USB to Ethernet controller
70 * The datasheet is available at the following URL:  70 * The datasheet is available at the following URL:
71 * http://www.moschip.com/data/products/MCS7830/Data%20Sheet_7830.pdf 71 * http://www.moschip.com/data/products/MCS7830/Data%20Sheet_7830.pdf
72 */ 72 */
73 73
74#include <sys/cdefs.h> 74#include <sys/cdefs.h>
75__KERNEL_RCSID(0, "$NetBSD: if_mos.c,v 1.23 2022/08/20 14:08:59 riastradh Exp $"); 75__KERNEL_RCSID(0, "$NetBSD: if_mos.c,v 1.24 2022/10/10 18:30:28 martin Exp $");
76 76
77#include <sys/param.h> 77#include <sys/param.h>
78 78
79#include <dev/usb/usbnet.h> 79#include <dev/usb/usbnet.h>
80#include <dev/usb/if_mosreg.h> 80#include <dev/usb/if_mosreg.h>
81 81
82#define MOS_PAUSE_REWRITES 3 82#define MOS_PAUSE_REWRITES 3
83 83
84#define MOS_TIMEOUT 1000 84#define MOS_TIMEOUT 1000
85 85
86#define MOS_RX_LIST_CNT 1 86#define MOS_RX_LIST_CNT 1
87#define MOS_TX_LIST_CNT 1 87#define MOS_TX_LIST_CNT 1
88 88
@@ -642,28 +642,28 @@ mos_attach(device_t parent, device_t sel @@ -642,28 +642,28 @@ mos_attach(device_t parent, device_t sel
642 usbnet_attach(un); 642 usbnet_attach(un);
643 643
644 mos_chip_init(un); 644 mos_chip_init(un);
645 645
646 /* 646 /*
647 * Read MAC address, inform the world. 647 * Read MAC address, inform the world.
648 */ 648 */
649 err = mos_readmac(un); 649 err = mos_readmac(un);
650 if (err) { 650 if (err) {
651 aprint_error_dev(self, "couldn't read MAC address\n"); 651 aprint_error_dev(self, "couldn't read MAC address\n");
652 return; 652 return;
653 } 653 }
654 654
655 struct ifnet *ifp = usbnet_ifp(un); 655 struct ethercom *ec = usbnet_ec(un);
656 ifp->if_capabilities = ETHERCAP_VLAN_MTU; 656 ec->ec_capabilities = ETHERCAP_VLAN_MTU;
657 657
658 usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST, 658 usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
659 0, &unm); 659 0, &unm);
660} 660}
661 661
662/* 662/*
663 * A frame has been uploaded: pass the resulting mbuf chain up to 663 * A frame has been uploaded: pass the resulting mbuf chain up to
664 * the higher level protocols. 664 * the higher level protocols.
665 */ 665 */
666void 666void
667mos_uno_rx_loop(struct usbnet * un, struct usbnet_chain *c, uint32_t total_len) 667mos_uno_rx_loop(struct usbnet * un, struct usbnet_chain *c, uint32_t total_len)
668{ 668{
669 struct ifnet *ifp = usbnet_ifp(un); 669 struct ifnet *ifp = usbnet_ifp(un);