mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 23:09:34 +01:00
offchannel: always call destroy right away on cancel
The main cancel code path was not calling destroy immediately which was not consistent with other code paths/APIs.
This commit is contained in:
parent
1a27cd1548
commit
4a8a43965f
@ -208,20 +208,10 @@ void offchannel_cancel(uint64_t wdev_id, uint32_t id)
|
||||
goto work_done;
|
||||
}
|
||||
|
||||
/*
|
||||
* Call destroy now to maintain consistency with any other
|
||||
* path leading to radio_work_done(). But set needs_cancel so
|
||||
* the ROC command can be canceled
|
||||
*/
|
||||
if (info->destroy)
|
||||
info->destroy(info->error, info->user_data);
|
||||
|
||||
info->destroy = NULL;
|
||||
info->started = NULL;
|
||||
info->user_data = NULL;
|
||||
/* Lets the ROC callback know it needs to cancel the request */
|
||||
info->needs_cancel = true;
|
||||
|
||||
return;
|
||||
goto destroy;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -239,6 +229,14 @@ void offchannel_cancel(uint64_t wdev_id, uint32_t id)
|
||||
*/
|
||||
offchannel_cancel_roc(info);
|
||||
|
||||
destroy:
|
||||
if (info->destroy)
|
||||
info->destroy(info->error, info->user_data);
|
||||
|
||||
info->destroy = NULL;
|
||||
info->started = NULL;
|
||||
info->user_data = NULL;
|
||||
|
||||
return;
|
||||
|
||||
work_done:
|
||||
|
Loading…
Reference in New Issue
Block a user