summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorDan McDonald <danmcd@mnx.io>2022-06-30 15:25:27 -0400
committerDan McDonald <danmcd@mnx.io>2022-06-30 15:25:27 -0400
commit4fb2ab974a5dc6aeb68146a4f5ff4c7ccbe90667 (patch)
tree675dbe6ee475e494290d6bf5787f70153da65736 /usr
parent7190ec3767d4ac1a525d0801318ad2b10f6824d9 (diff)
parentda37308cbe221e77b90426b63bf79a8b67c490b0 (diff)
downloadillumos-joyent-4fb2ab974a5dc6aeb68146a4f5ff4c7ccbe90667.tar.gz
[illumos-gate merge]
commit da37308cbe221e77b90426b63bf79a8b67c490b0 14747 pcieb_attach: race between pcie_init_root_port_mps and hotplug events commit d5d1522f61a203e5d41826580ab94c4ffe4c8a37 14766 panic when destroying a vnic
Diffstat (limited to 'usr')
-rw-r--r--usr/src/uts/common/io/pciex/pcie.c5
-rw-r--r--usr/src/uts/common/io/vnic/vnic_dev.c3
2 files changed, 5 insertions, 3 deletions
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 <sys/sysmacros.h>
@@ -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) &
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 <sys/types.h>
@@ -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);