|
@@ -510,6 +510,7 @@ void hdd_enable_host_offloads(hdd_adapter_t *adapter,
|
|
|
hdd_enable_arp_offload(adapter, trigger);
|
|
|
hdd_enable_ns_offload(adapter, trigger);
|
|
|
hdd_enable_mc_addr_filtering(adapter, trigger);
|
|
|
+ hdd_enable_non_arp_hw_broadcast_filter(adapter);
|
|
|
out:
|
|
|
EXIT();
|
|
|
|
|
@@ -536,6 +537,7 @@ void hdd_disable_host_offloads(hdd_adapter_t *adapter,
|
|
|
hdd_disable_arp_offload(adapter, trigger);
|
|
|
hdd_disable_ns_offload(adapter, trigger);
|
|
|
hdd_disable_mc_addr_filtering(adapter, trigger);
|
|
|
+ hdd_disable_non_arp_hw_broadcast_filter(adapter);
|
|
|
out:
|
|
|
EXIT();
|
|
|
|
|
@@ -893,6 +895,35 @@ out:
|
|
|
EXIT();
|
|
|
}
|
|
|
|
|
|
+void hdd_enable_non_arp_hw_broadcast_filter(hdd_adapter_t *adapter)
|
|
|
+{
|
|
|
+ QDF_STATUS status;
|
|
|
+
|
|
|
+ ENTER();
|
|
|
+
|
|
|
+ status = pmo_ucfg_enable_non_arp_bcast_filter_in_fwr(
|
|
|
+ adapter->hdd_vdev);
|
|
|
+
|
|
|
+ if (status != QDF_STATUS_SUCCESS)
|
|
|
+ hdd_info("Failed to enable broadcast filter");
|
|
|
+
|
|
|
+ EXIT();
|
|
|
+}
|
|
|
+
|
|
|
+void hdd_disable_non_arp_hw_broadcast_filter(hdd_adapter_t *adapter)
|
|
|
+{
|
|
|
+ QDF_STATUS status;
|
|
|
+
|
|
|
+ ENTER();
|
|
|
+
|
|
|
+ status = pmo_ucfg_disable_non_arp_bcast_filter_in_fwr(
|
|
|
+ adapter->hdd_vdev);
|
|
|
+ if (status != QDF_STATUS_SUCCESS)
|
|
|
+ hdd_info("Failed to disable broadcast filter");
|
|
|
+
|
|
|
+ EXIT();
|
|
|
+}
|
|
|
+
|
|
|
void hdd_enable_mc_addr_filtering(hdd_adapter_t *adapter,
|
|
|
enum pmo_offload_trigger trigger)
|
|
|
{
|