Revert "Bluetooth: Always request for user confirmation for Just Works (LE SC)"
[platform/kernel/linux-rpi.git] / net / 8021q / vlan_core.c
index 0beb44f..f001582 100644 (file)
@@ -407,6 +407,8 @@ int vlan_vids_add_by_dev(struct net_device *dev,
                return 0;
 
        list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
+               if (!vlan_hw_filter_capable(by_dev, vid_info->proto))
+                       continue;
                err = vlan_vid_add(dev, vid_info->proto, vid_info->vid);
                if (err)
                        goto unwind;
@@ -417,6 +419,8 @@ unwind:
        list_for_each_entry_continue_reverse(vid_info,
                                             &vlan_info->vid_list,
                                             list) {
+               if (!vlan_hw_filter_capable(by_dev, vid_info->proto))
+                       continue;
                vlan_vid_del(dev, vid_info->proto, vid_info->vid);
        }
 
@@ -436,8 +440,11 @@ void vlan_vids_del_by_dev(struct net_device *dev,
        if (!vlan_info)
                return;
 
-       list_for_each_entry(vid_info, &vlan_info->vid_list, list)
+       list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
+               if (!vlan_hw_filter_capable(by_dev, vid_info->proto))
+                       continue;
                vlan_vid_del(dev, vid_info->proto, vid_info->vid);
+       }
 }
 EXPORT_SYMBOL(vlan_vids_del_by_dev);