On 06/18/2013 08:26 AM, Johannes Berg wrote:
On Mon, 2013-06-17 at 14:32 -0700, greearb@xxxxxxxxxxxxxxx wrote:
static void ieee80211_destroy_assoc_data(struct ieee80211_sub_if_data *sdata,
- bool assoc)
+ bool assoc, bool put_bss)
Do we _really_ need another argument? Shouldn't it always be put in the
non-assoc case anyway, at least if non-NULL?
I don't think so. Check out the ieee80211_rx_mgmt_assoc_resp method.
if (status_code != WLAN_STATUS_SUCCESS) {
sdata_info(sdata, "%pM denied association (code=%d)\n",
mgmt->sa, status_code);
ieee80211_destroy_assoc_data(sdata, false, false);
This passes in false as 'assoc', but we should not free bss here because
it is being passed back to the calling method, and the return
code of RX_MGMT_CFG80211_RX_ASSOC means bss should eventually
be consumed by the cfg80211 logic.
Of course, this is all 'as far as I can tell'.
I sort of like the second boolean because it forces the caller to
think about whether bss should be freed or not...
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com
--
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