From a218ef21d384de09fa52b3cd8a5cf94b25937054 Mon Sep 17 00:00:00 2001 From: Nirav Shah Date: Mon, 4 May 2020 13:02:39 +0530 Subject: [PATCH] qcacld-3.0: Handle last msdu bit not set in partial reorder In case of partial reorder, handle scenario if last msdu bit is not set. Change-Id: I7d0a671886fe2c0f352769bf3e68e2d22408a978 CRs-Fixed: 2669907 --- core/dp/txrx/ol_txrx_internal.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/dp/txrx/ol_txrx_internal.h b/core/dp/txrx/ol_txrx_internal.h index dcd3e42ac56c..52b8ac59c23d 100644 --- a/core/dp/txrx/ol_txrx_internal.h +++ b/core/dp/txrx/ol_txrx_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2020 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 @@ -169,7 +169,12 @@ ol_rx_mpdu_list_next(struct ol_txrx_pdev_t *pdev, msdu = mpdu_list; while (!htt_rx_msdu_desc_completes_mpdu (htt_pdev, htt_rx_msdu_desc_retrieve(htt_pdev, msdu))) { - msdu = qdf_nbuf_next(msdu); + if (!qdf_nbuf_next(msdu)) { + qdf_err("last-msdu bit not set!"); + break; + } else { + msdu = qdf_nbuf_next(msdu); + } TXRX_ASSERT2(msdu); } /* msdu now points to the last MSDU within the first MPDU */