Hi Johannes, >
No, I don't see a fault in the logic. I just think it's misleading. You make the code look like it relies on filter_wiphy != 0, but then you go and treat filter_wiphy==0 as a valid case.
It relies on a sentry condition with all 3 variables being zero, not just filter_wiphy. The original patch is about the most non-invasive one I can come up with. Maybe a comment will alleviate any concerns? Anyway, if you feel this is misleading, fair enough.
In other places, like nl80211_prepare_wdev_dump(), we add 1 to the wiphy and subtract it again later to avoid exactly this. Perhaps you could do the same, and rely only on filter_wiphy instead of really relying only on wp_start/if_start.
Having looked at that particular piece of code, I ran away scared with the conclusion that the cure is probably much worse than the disease :)
I posted a slightly different solution in v2. It is a bit more invasive, but is more explicit in what is going on. I ran sanity checks on it and it works as expected.
Regards, -Denis -- 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