|
@@ -371,7 +371,8 @@ timer_failed:
|
|
|
wlan_serialization_cmd_cancel_handler(
|
|
|
ser_pdev_obj, &cmd_list->cmd,
|
|
|
NULL, NULL, cmd_list->cmd.cmd_type,
|
|
|
- WLAN_SERIALIZATION_ACTIVE_QUEUE);
|
|
|
+ WLAN_SERIALIZATION_ACTIVE_QUEUE,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
error:
|
|
|
return status;
|
|
|
}
|
|
@@ -847,7 +848,8 @@ wlan_serialization_cmd_cancel_handler(
|
|
|
struct wlan_ser_pdev_obj *ser_obj,
|
|
|
struct wlan_serialization_command *cmd,
|
|
|
struct wlan_objmgr_pdev *pdev, struct wlan_objmgr_vdev *vdev,
|
|
|
- enum wlan_serialization_cmd_type cmd_type, uint8_t queue_type)
|
|
|
+ enum wlan_serialization_cmd_type cmd_type, uint8_t queue_type,
|
|
|
+ enum wlan_ser_cmd_attr cmd_attr)
|
|
|
{
|
|
|
enum wlan_serialization_cmd_status active_status =
|
|
|
WLAN_SER_CMD_NOT_FOUND;
|
|
@@ -871,7 +873,7 @@ wlan_serialization_cmd_cancel_handler(
|
|
|
else
|
|
|
active_status = wlan_ser_cancel_non_scan_cmd(
|
|
|
ser_obj, pdev, vdev, cmd,
|
|
|
- cmd_type, true);
|
|
|
+ cmd_type, true, cmd_attr);
|
|
|
}
|
|
|
|
|
|
if (queue_type & WLAN_SERIALIZATION_PENDING_QUEUE) {
|
|
@@ -882,7 +884,7 @@ wlan_serialization_cmd_cancel_handler(
|
|
|
else
|
|
|
pending_status = wlan_ser_cancel_non_scan_cmd(
|
|
|
ser_obj, pdev, vdev, cmd,
|
|
|
- cmd_type, false);
|
|
|
+ cmd_type, false, cmd_attr);
|
|
|
}
|
|
|
|
|
|
if (active_status == WLAN_SER_CMD_IN_ACTIVE_LIST &&
|
|
@@ -931,37 +933,43 @@ wlan_serialization_find_and_cancel_cmd(
|
|
|
/* remove scan cmd which matches the given cmd struct */
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, cmd, NULL, NULL,
|
|
|
- WLAN_SER_CMD_SCAN, queue_type);
|
|
|
+ WLAN_SER_CMD_SCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
break;
|
|
|
case WLAN_SER_CANCEL_PDEV_SCANS:
|
|
|
/* remove all scan cmds which matches the pdev object */
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, NULL, pdev, NULL,
|
|
|
- WLAN_SER_CMD_SCAN, queue_type);
|
|
|
+ WLAN_SER_CMD_SCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
break;
|
|
|
case WLAN_SER_CANCEL_VDEV_SCANS:
|
|
|
/* remove all scan cmds which matches the vdev object */
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, NULL, NULL, cmd->vdev,
|
|
|
- WLAN_SER_CMD_SCAN, queue_type);
|
|
|
+ WLAN_SER_CMD_SCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
break;
|
|
|
case WLAN_SER_CANCEL_NON_SCAN_CMD:
|
|
|
/* remove nonscan cmd which matches the given cmd */
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, cmd, NULL, NULL,
|
|
|
- WLAN_SER_CMD_NONSCAN, queue_type);
|
|
|
+ WLAN_SER_CMD_NONSCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
break;
|
|
|
case WLAN_SER_CANCEL_PDEV_NON_SCAN_CMD:
|
|
|
/* remove all non scan cmds which matches the pdev object */
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, NULL, pdev, NULL,
|
|
|
- WLAN_SER_CMD_NONSCAN, queue_type);
|
|
|
+ WLAN_SER_CMD_NONSCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
break;
|
|
|
case WLAN_SER_CANCEL_VDEV_NON_SCAN_CMD:
|
|
|
/* remove all non scan cmds which matches the vdev object */
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, NULL, NULL, cmd->vdev,
|
|
|
- WLAN_SER_CMD_NONSCAN, queue_type);
|
|
|
+ WLAN_SER_CMD_NONSCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
break;
|
|
|
case WLAN_SER_CANCEL_VDEV_NON_SCAN_CMD_TYPE:
|
|
|
/*
|
|
@@ -970,7 +978,18 @@ wlan_serialization_find_and_cancel_cmd(
|
|
|
*/
|
|
|
status = wlan_serialization_cmd_cancel_handler(
|
|
|
ser_obj, NULL, NULL, cmd->vdev,
|
|
|
- cmd->cmd_type, queue_type);
|
|
|
+ cmd->cmd_type, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONE);
|
|
|
+ break;
|
|
|
+ case WLAN_SER_CANCEL_VDEV_NON_SCAN_NB_CMD:
|
|
|
+ /*
|
|
|
+ * remove all non-blocking non-scan cmds which matches the given
|
|
|
+ * vdev
|
|
|
+ */
|
|
|
+ status = wlan_serialization_cmd_cancel_handler(
|
|
|
+ ser_obj, NULL, NULL, cmd->vdev,
|
|
|
+ WLAN_SER_CMD_NONSCAN, queue_type,
|
|
|
+ WLAN_SER_CMD_ATTR_NONBLOCK);
|
|
|
break;
|
|
|
default:
|
|
|
ser_err("Invalid request");
|