Loading drivers/soc/qcom/qdss_bridge.c +4 −1 Original line number Diff line number Diff line Loading @@ -151,7 +151,8 @@ static int qdss_check_entry(struct qdss_bridge_drvdata *drvdata) int ret = 0; list_for_each_entry(entry, &drvdata->buf_tbl, link) { if (atomic_read(&entry->available) == 0) { if (atomic_read(&entry->available) == 0 && atomic_read(&entry->used) == 1) { ret = 1; return ret; } Loading Loading @@ -199,6 +200,7 @@ static void qdss_buf_tbl_remove(struct qdss_bridge_drvdata *drvdata, if (entry->buf != buf) continue; atomic_set(&entry->available, 1); atomic_set(&entry->used, 0); spin_unlock_bh(&drvdata->lock); return; } Loading Loading @@ -382,6 +384,7 @@ static int usb_write(struct qdss_bridge_drvdata *drvdata, entry->usb_req->buf = buf; entry->usb_req->length = len; atomic_set(&entry->used, 1); ret = usb_qdss_write(drvdata->usb_ch, entry->usb_req); return ret; Loading drivers/soc/qcom/qdss_bridge.h +2 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. */ #ifndef _QDSS_BRIDGE_H Loading @@ -11,6 +11,7 @@ struct qdss_buf_tbl_lst { unsigned char *buf; struct qdss_request *usb_req; atomic_t available; atomic_t used; }; struct qdss_mhi_buf_tbl_t { Loading Loading
drivers/soc/qcom/qdss_bridge.c +4 −1 Original line number Diff line number Diff line Loading @@ -151,7 +151,8 @@ static int qdss_check_entry(struct qdss_bridge_drvdata *drvdata) int ret = 0; list_for_each_entry(entry, &drvdata->buf_tbl, link) { if (atomic_read(&entry->available) == 0) { if (atomic_read(&entry->available) == 0 && atomic_read(&entry->used) == 1) { ret = 1; return ret; } Loading Loading @@ -199,6 +200,7 @@ static void qdss_buf_tbl_remove(struct qdss_bridge_drvdata *drvdata, if (entry->buf != buf) continue; atomic_set(&entry->available, 1); atomic_set(&entry->used, 0); spin_unlock_bh(&drvdata->lock); return; } Loading Loading @@ -382,6 +384,7 @@ static int usb_write(struct qdss_bridge_drvdata *drvdata, entry->usb_req->buf = buf; entry->usb_req->length = len; atomic_set(&entry->used, 1); ret = usb_qdss_write(drvdata->usb_ch, entry->usb_req); return ret; Loading
drivers/soc/qcom/qdss_bridge.h +2 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. */ #ifndef _QDSS_BRIDGE_H Loading @@ -11,6 +11,7 @@ struct qdss_buf_tbl_lst { unsigned char *buf; struct qdss_request *usb_req; atomic_t available; atomic_t used; }; struct qdss_mhi_buf_tbl_t { Loading