From 47bb8d7be8401d042f5cb80097d8414750bc3b37 Mon Sep 17 00:00:00 2001 From: Karthik Kantamneni Date: Mon, 24 Feb 2020 18:05:09 +0530 Subject: [PATCH] qcacld-3.0: Fix completion timeout value in hdd vdev destroy In this change Ia6fe504e2a2d01f12c3d3446fffc2fc397566966 qdf event is replaced with linux completion timeout API. But linux completion API accepts timeout argument in jiffies, resulting timeout to set high value of 130 seconds greater than DSC module timeout 60 seconds. In some cases vdev destroy timer is taking more time than DSC timeout resulting DSC module to assert host crash. Fix is to convert timeout value from mill seconds to jiffies in completion handler and set proper value of 13 seconds. Change-Id: I9cfdcec02895747a883c00f6e2889d4f5ec3d7f2 --- core/hdd/src/wlan_hdd_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index a4d96444a1..aafc1377d9 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -4851,8 +4851,9 @@ int hdd_vdev_destroy(struct hdd_adapter *adapter) } /* block on a completion variable until sme session is closed */ - rc = wait_for_completion_timeout(&adapter->vdev_destroy_event, - SME_CMD_VDEV_CREATE_DELETE_TIMEOUT); + rc = wait_for_completion_timeout( + &adapter->vdev_destroy_event, + msecs_to_jiffies(SME_CMD_VDEV_CREATE_DELETE_TIMEOUT)); if (rc) { clear_bit(SME_SESSION_OPENED, &adapter->event_flags);