P2P: Make p2p_flush stop P2P operations consistently

p2p_flush did not explicit stop all P2P operations, i.e., the exact
behavior depended on the P2P module state at the time the p2p_flush
command was issued. Make this more consistent by explicitly calling
p2p_stop_find() from p2p_flush().

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2012-02-27 19:10:04 +02:00 committed by Jouni Malinen
parent 1a9c618d3f
commit 78db55b800

View file

@ -2245,11 +2245,7 @@ void p2p_deinit(struct p2p_data *p2p)
void p2p_flush(struct p2p_data *p2p)
{
struct p2p_device *dev, *prev;
p2p_clear_timeout(p2p);
p2p_set_state(p2p, P2P_IDLE);
p2p->start_after_scan = P2P_AFTER_SCAN_NOTHING;
p2p->go_neg_peer = NULL;
eloop_cancel_timeout(p2p_find_timeout, p2p, NULL);
p2p_stop_find(p2p);
dl_list_for_each_safe(dev, prev, &p2p->devices, struct p2p_device,
list) {
dl_list_del(&dev->list);