Hi Johannes,
ext Johannes Berg wrote:
On Thu, 2009-10-08 at 21:56 +0300, Luciano Coelho wrote:
+ /* first, get the filter parameters */
+ spin_lock_irqsave(&wl->wl_lock, flags);
+ fp = wl->filter_params;
+ wl->filter_params = NULL;
+ spin_unlock_irqrestore(&wl->wl_lock, flags);
+
+ if (!fp)
+ return;
+ kfree(fp);
+static u64 wl1271_op_prepare_multicast(struct ieee80211_hw *hw, int mc_count,
+ struct dev_addr_list *mc_list)
+{
+ struct wl1271 *wl = hw->priv;
+ struct wl1271_filter_params *fp;
+ unsigned long flags;
+ int i;
+
+ /*
+ * FIXME: we should return a hash that will be passed to
+ * configure_filter() instead of saving everything in the context.
+ */
+
+ fp = kzalloc(sizeof(*fp), GFP_KERNEL);
+ if (!fp) {
+ wl1271_error("Out of memory setting filters.");
+ return 0;
+ }
It's a u64 on purpose, you can return the parameters struct to pass it
through to configure_filter.
Yes, you're right. It's just that I have forwarded-ported loads of patches at
once, so I just made a quick hack to get this to compile and work before the
real thing is done. Juuso Oikarinen (who is also working on the wl1271) has
already implemented the final solution for this and his patch will be included
in one of my next batches ;)
Thanks a lot for your timely comment (as usual).
--
Cheers,
Luca.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html