Hi!
[ Upstream commit 795e3d2ea68e489ee7039ac29e98bfea0e34a96c ]
The list_for_each_entry() iterator, "vlan" in this code, can never be NULL so the warning will never be printed.
Could someone double-check this? Because changelog is not accurate; condition is using logical or, so warning can be printed. I don't really see a bug with the old code.
New code is quite confusing, and if the vlan with required vic is the "head" one, it will do the wrong thing, no?
Best regards, Pavel
+++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -842,7 +842,7 @@ int qede_vlan_rx_kill_vid(struct net_device *dev, __be16 proto, u16 vid) if (vlan->vid == vid) break;
- if (!vlan || (vlan->vid != vid)) {
- if (list_entry_is_head(vlan, &edev->vlan_list, list)) { DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), "Vlan isn't configured\n"); goto out;