diff --git a/core/dp/txrx/ol_txrx_event.c b/core/dp/txrx/ol_txrx_event.c index ab85532715fe..eef1e611dc1b 100644 --- a/core/dp/txrx/ol_txrx_event.c +++ b/core/dp/txrx/ol_txrx_event.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -44,6 +44,7 @@ static inline void wdi_event_del_subs(wdi_event_subscribe *wdi_sub, int event_index) { wdi_event_notify deallocate_sub; + while (wdi_sub) { wdi_event_subscribe *next = wdi_event_next_sub(wdi_sub); /* @@ -201,6 +202,7 @@ A_STATUS wdi_event_detach(struct ol_txrx_pdev_t *txrx_pdev) { int i; wdi_event_subscribe *wdi_sub; + if (!txrx_pdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "Invalid device in %s\nWDI detach failed",