From 6bc40004eac2ac39a98bc77a7f131041dbb7c2e3 Mon Sep 17 00:00:00 2001 From: Ajit Pal Singh Date: Fri, 10 May 2019 15:08:48 +0530 Subject: [PATCH] qcacmn: Protect read of urb_cnt with spin lock Protect read of device pipe urb count with spin lock. Change-Id: Ia5d3860e4030155bbc78f47ddda79ae0573465ec CRs-Fixed: 2451406 --- hif/src/usb/hif_usb.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hif/src/usb/hif_usb.c b/hif/src/usb/hif_usb.c index 4a129e3c5c75..b37df5b030c9 100644 --- a/hif/src/usb/hif_usb.c +++ b/hif/src/usb/hif_usb.c @@ -298,8 +298,14 @@ uint16_t hif_get_free_queue_number(struct hif_opaque_softc *scn, uint8_t pipe_id) { struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn); + struct HIF_USB_PIPE *pipe = &device->pipes[pipe_id]; + u16 urb_cnt; - return device->pipes[pipe_id].urb_cnt; + qdf_spin_lock_irqsave(&pipe->device->cs_lock); + urb_cnt = pipe->urb_cnt; + qdf_spin_unlock_irqrestore(&pipe->device->cs_lock); + + return urb_cnt; } /**