aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtl818x/rtl8187_dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rtl818x/rtl8187_dev.c')
-rw-r--r--drivers/net/wireless/rtl818x/rtl8187_dev.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c
index 53f57dc52226..90f38357393c 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -1192,10 +1192,16 @@ static void rtl8187_bss_info_changed(struct ieee80211_hw *dev,
1192 info->use_short_preamble); 1192 info->use_short_preamble);
1193} 1193}
1194 1194
1195static u64 rtl8187_prepare_multicast(struct ieee80211_hw *dev,
1196 int mc_count, struct dev_addr_list *mc_list)
1197{
1198 return mc_count;
1199}
1200
1195static void rtl8187_configure_filter(struct ieee80211_hw *dev, 1201static void rtl8187_configure_filter(struct ieee80211_hw *dev,
1196 unsigned int changed_flags, 1202 unsigned int changed_flags,
1197 unsigned int *total_flags, 1203 unsigned int *total_flags,
1198 int mc_count, struct dev_addr_list *mclist) 1204 u64 multicast)
1199{ 1205{
1200 struct rtl8187_priv *priv = dev->priv; 1206 struct rtl8187_priv *priv = dev->priv;
1201 1207
@@ -1205,7 +1211,7 @@ static void rtl8187_configure_filter(struct ieee80211_hw *dev,
1205 priv->rx_conf ^= RTL818X_RX_CONF_CTRL; 1211 priv->rx_conf ^= RTL818X_RX_CONF_CTRL;
1206 if (changed_flags & FIF_OTHER_BSS) 1212 if (changed_flags & FIF_OTHER_BSS)
1207 priv->rx_conf ^= RTL818X_RX_CONF_MONITOR; 1213 priv->rx_conf ^= RTL818X_RX_CONF_MONITOR;
1208 if (*total_flags & FIF_ALLMULTI || mc_count > 0) 1214 if (*total_flags & FIF_ALLMULTI || multicast > 0)
1209 priv->rx_conf |= RTL818X_RX_CONF_MULTICAST; 1215 priv->rx_conf |= RTL818X_RX_CONF_MULTICAST;
1210 else 1216 else
1211 priv->rx_conf &= ~RTL818X_RX_CONF_MULTICAST; 1217 priv->rx_conf &= ~RTL818X_RX_CONF_MULTICAST;
@@ -1268,6 +1274,7 @@ static const struct ieee80211_ops rtl8187_ops = {
1268 .remove_interface = rtl8187_remove_interface, 1274 .remove_interface = rtl8187_remove_interface,
1269 .config = rtl8187_config, 1275 .config = rtl8187_config,
1270 .bss_info_changed = rtl8187_bss_info_changed, 1276 .bss_info_changed = rtl8187_bss_info_changed,
1277 .prepare_multicast = rtl8187_prepare_multicast,
1271 .configure_filter = rtl8187_configure_filter, 1278 .configure_filter = rtl8187_configure_filter,
1272 .conf_tx = rtl8187_conf_tx 1279 .conf_tx = rtl8187_conf_tx
1273}; 1280};