diff --git a/scheduler/inc/scheduler_api.h b/scheduler/inc/scheduler_api.h index 4619d491ca..c62e0c7d7b 100644 --- a/scheduler/inc/scheduler_api.h +++ b/scheduler/inc/scheduler_api.h @@ -1,8 +1,5 @@ /* - * Copyright (c) 2014-2017 The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -19,11 +16,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ #if !defined(__SCHEDULER_API_H) #define __SCHEDULER_API_H @@ -242,6 +234,15 @@ QDF_STATUS scheduler_os_if_mq_handler(struct scheduler_msg *msg); */ QDF_STATUS scheduler_timer_q_mq_handler(struct scheduler_msg *msg); +/** + * scheduler_scan_mq_handler() - top level message queue handler for + * scan queue + * @msg: pointer to actual message being handled + * + * Return: QDF status + */ +QDF_STATUS scheduler_scan_mq_handler(struct scheduler_msg *msg); + /** * scheduler_register_wma_legacy_handler() - register legacy wma handler * @callback: legacy wma handler to be called for WMA messages diff --git a/scheduler/inc/scheduler_core.h b/scheduler/inc/scheduler_core.h index 0c35b9e862..52e3517723 100644 --- a/scheduler/inc/scheduler_core.h +++ b/scheduler/inc/scheduler_core.h @@ -1,9 +1,6 @@ /* * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all @@ -19,11 +16,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ #if !defined(__SCHEDULER_CORE_H) #define __SCHEDULER_CORE_H @@ -37,7 +29,7 @@ #else #define SCHEDULER_CORE_MAX_MESSAGES 2000 #endif -#define SCHEDULER_NUMBER_OF_MSG_QUEUE 5 +#define SCHEDULER_NUMBER_OF_MSG_QUEUE 6 #define SCHEDULER_WRAPPER_MAX_FAIL_COUNT (SCHEDULER_CORE_MAX_MESSAGES * 3) #define SCHEDULER_WATCHDOG_TIMEOUT (10 * 1000) /* 10s */ diff --git a/scheduler/src/scheduler_api.c b/scheduler/src/scheduler_api.c index f0b6441e3b..d51096482d 100644 --- a/scheduler/src/scheduler_api.c +++ b/scheduler/src/scheduler_api.c @@ -1,9 +1,6 @@ /* * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all @@ -19,12 +16,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - #include #include #include @@ -531,6 +522,27 @@ QDF_STATUS scheduler_timer_q_mq_handler(struct scheduler_msg *msg) } } +QDF_STATUS scheduler_scan_mq_handler(struct scheduler_msg *msg) +{ + QDF_STATUS (*scan_q_msg_handler)(struct scheduler_msg *); + + if (NULL == msg) { + sched_err("Msg is NULL"); + return QDF_STATUS_E_FAILURE; + } + + scan_q_msg_handler = msg->callback; + + if (NULL == scan_q_msg_handler) { + sched_err("Msg callback is NULL"); + QDF_ASSERT(0); + return QDF_STATUS_E_FAILURE; + } + scan_q_msg_handler(msg); + + return QDF_STATUS_SUCCESS; +} + QDF_STATUS scheduler_register_wma_legacy_handler(scheduler_msg_process_fn_t wma_callback) { diff --git a/umac/scan/dispatcher/src/wlan_scan_tgt_api.c b/umac/scan/dispatcher/src/wlan_scan_tgt_api.c index db4c31b15b..d7703a1755 100644 --- a/umac/scan/dispatcher/src/wlan_scan_tgt_api.c +++ b/umac/scan/dispatcher/src/wlan_scan_tgt_api.c @@ -211,7 +211,7 @@ tgt_scan_event_handler(struct wlan_objmgr_psoc *psoc, msg.callback = scm_scan_event_handler; msg.flush_callback = scm_scan_event_flush_callback; - status = scheduler_post_msg(QDF_MODULE_ID_TARGET_IF, &msg); + status = scheduler_post_msg(QDF_MODULE_ID_SCAN, &msg); if (QDF_IS_STATUS_ERROR(status)) { wlan_objmgr_vdev_release_ref(event_info->vdev, WLAN_SCAN_ID); } @@ -272,11 +272,11 @@ QDF_STATUS tgt_scan_bcn_probe_rx_callback(struct wlan_objmgr_psoc *psoc, msg.callback = scm_handle_bcn_probe; msg.flush_callback = scm_bcn_probe_flush_callback; - status = scheduler_post_msg(QDF_MODULE_ID_TARGET_IF, &msg); + status = scheduler_post_msg(QDF_MODULE_ID_SCAN, &msg); if (!QDF_IS_STATUS_SUCCESS(status)) { wlan_objmgr_psoc_release_ref(psoc, WLAN_SCAN_ID); - scm_err("failed to post to QDF_MODULE_ID_TARGET_IF"); + scm_err("failed to post to QDF_MODULE_ID_SCAN"); qdf_mem_free(bcn->rx_data); qdf_mem_free(bcn); qdf_nbuf_free(buf);