diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 10617566a1174e4627fa15fd2a94aa2655b5efa7..141cdb171665e6b371c7d03818b46d17810ef912 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -6305,6 +6305,9 @@ static int nl80211_del_mpath(struct sk_buff *skb, struct genl_info *info)
 	if (!rdev->ops->del_mpath)
 		return -EOPNOTSUPP;
 
+	if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_MESH_POINT)
+		return -EOPNOTSUPP;
+
 	return rdev_del_mpath(rdev, dev, dst);
 }