From d5d1522f61a203e5d41826580ab94c4ffe4c8a37 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sat, 5 Mar 2022 11:50:41 -0800 Subject: 14766 panic when destroying a vnic Reviewed by: Dan McDonald Reviewed by: Toomas Soome Reviewed by: Jerry Jelinek Reviewed by: Andrew Stormont Reviewed by: Jim Johnson Approved by: Gordon Ross --- usr/src/uts/common/io/vnic/vnic_dev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'usr') diff --git a/usr/src/uts/common/io/vnic/vnic_dev.c b/usr/src/uts/common/io/vnic/vnic_dev.c index 7f2c79cb7f..73a76d9721 100644 --- a/usr/src/uts/common/io/vnic/vnic_dev.c +++ b/usr/src/uts/common/io/vnic/vnic_dev.c @@ -23,6 +23,7 @@ * Copyright 2018 Joyent, Inc. * Copyright 2016 OmniTI Computer Consulting, Inc. All rights reserved. * Copyright 2020 OmniOS Community Edition (OmniOSce) Association. + * Copyright 2022 RackTop Systems, Inc. */ #include @@ -571,8 +572,6 @@ vnic_dev_create(datalink_id_t vnic_id, datalink_id_t linkid, err = dls_devnet_create(vnic->vn_mh, vnic->vn_id, crgetzoneid(credp)); if (err != 0) { - VERIFY(is_anchor || mac_margin_remove(vnic->vn_lower_mh, - vnic->vn_margin) == 0); if (!is_anchor) { VERIFY(mac_mtu_remove(vnic->vn_lower_mh, vnic->vn_mtu) == 0); -- cgit v1.2.3 From da37308cbe221e77b90426b63bf79a8b67c490b0 Mon Sep 17 00:00:00 2001 From: Rick Altherr Date: Tue, 21 Jun 2022 09:15:28 -0700 Subject: 14747 pcieb_attach: race between pcie_init_root_port_mps and hotplug events Reviewed by: Robert Mustacchi Approved by: Richard Lowe --- usr/src/uts/common/io/pciex/pcie.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'usr') diff --git a/usr/src/uts/common/io/pciex/pcie.c b/usr/src/uts/common/io/pciex/pcie.c index 81b31790e6..ce81339ea2 100644 --- a/usr/src/uts/common/io/pciex/pcie.c +++ b/usr/src/uts/common/io/pciex/pcie.c @@ -22,7 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2019 Joyent, Inc. - * Copyright 2021 Oxide Computer Company + * Copyright 2022 Oxide Computer Company */ #include @@ -2254,9 +2254,12 @@ pcie_init_root_port_mps(dev_info_t *dip) { pcie_bus_t *bus_p = PCIE_DIP2BUS(dip); int rp_cap, max_supported = pcie_max_mps; + int circular_count; + ndi_devi_enter(dip, &circular_count); (void) pcie_get_fabric_mps(ddi_get_parent(dip), ddi_get_child(dip), &max_supported); + ndi_devi_exit(dip, circular_count); rp_cap = PCI_CAP_GET16(bus_p->bus_cfg_hdl, 0, bus_p->bus_pcie_off, PCIE_DEVCAP) & -- cgit v1.2.3