Page MenuHomeFreeBSD

D59608.diff
No OneTemporary

D59608.diff

diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -4622,10 +4622,12 @@
IMPROVE("clear up other bits in this state");
+ wiphy_lock(hw->wiphy);
lkpi_80211_mo_remove_interface(hw, vif);
/* Single VAP, so we can do this here. */
lkpi_80211_mo_stop(hw, false); /* XXX SUSPEND */
+ wiphy_unlock(hw->wiphy);
mtx_destroy(&lvif->mtx);
free(lvif, M_80211_VAP);
diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
--- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
@@ -80,6 +80,9 @@
{
struct lkpi_hw *lhw;
+ might_sleep();
+ lockdep_assert_wiphy(hw->wiphy);
+
lhw = HW_TO_LHW(hw);
if (lhw->ops->stop == NULL)
return;
@@ -197,6 +200,9 @@
struct lkpi_hw *lhw;
struct lkpi_vif *lvif;
+ might_sleep();
+ lockdep_assert_wiphy(hw->wiphy);
+
lhw = HW_TO_LHW(hw);
if (lhw->ops->remove_interface == NULL)
return;

File Metadata

Mime Type
text/plain
Expires
Sun, Sep 13, 1:17 PM (21 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38857544
Default Alt Text
D59608.diff (1 KB)

Event Timeline