diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index ee30e61dca97..1dbe57fd07db 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -1851,12 +1851,14 @@ struct hdd_channel_info { * @eHDD_DRV_OP_REMOVE: Refers to .remove operation * @eHDD_DRV_OP_SHUTDOWN: Refers to .shutdown operation * @eHDD_DRV_OP_REINIT: Refers to .reinit operation + * @eHDD_DRV_OP_IFF_UP: Refers to IFF_UP operation */ enum { eHDD_DRV_OP_PROBE = 0, eHDD_DRV_OP_REMOVE, eHDD_DRV_OP_SHUTDOWN, - eHDD_DRV_OP_REINIT + eHDD_DRV_OP_REINIT, + eHDD_DRV_OP_IFF_UP }; /* diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index a210cabff507..c2c6d56c1174 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -2625,7 +2625,9 @@ static int hdd_open(struct net_device *dev) int ret; cds_ssr_protect(__func__); + hdd_start_driver_ops_timer(eHDD_DRV_OP_IFF_UP); ret = __hdd_open(dev); + hdd_stop_driver_ops_timer(); cds_ssr_unprotect(__func__); return ret; @@ -12783,6 +12785,9 @@ void hdd_start_driver_ops_timer(int drv_op) case eHDD_DRV_OP_REINIT: memcpy(drv_ops_string, "reinit", sizeof("reinit")); break; + case eHDD_DRV_OP_IFF_UP: + memcpy(drv_ops_string, "iff_up", sizeof("iff_up")); + break; } qdf_timer_start(&hdd_drv_ops_inactivity_timer,