On Mon, Dec 26, 2022 at 03:49:05PM +0800, Jason Wang wrote:
@@ -2227,9 +2267,21 @@ static void virtnet_set_rx_mode(struct net_device *dev)Hmm so user tells us to e.g enable promisc. We report completion
VIRTIO_NET_CTRL_MAC_TABLE_SET, sg))
dev_warn(&dev->dev, "Failed to set MAC filter table.\n");
+ rtnl_unlock();
+
kfree(buf);
}
+static void virtnet_set_rx_mode(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+
+ spin_lock(&vi->rx_mode_lock);
+ if (vi->rx_mode_work_enabled)
+ schedule_work(&vi->rx_mode_work);
+ spin_unlock(&vi->rx_mode_lock);
+}
+
static int virtnet_vlan_rx_add_vid(struct net_device *dev,
__be16 proto, u16 vid)
{
but card is still dropping packets. I think this
has a chance to break some setups.