소스 검색

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
Ajit Pal Singh 6 년 전
부모
커밋
6bc40004ea
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      hif/src/usb/hif_usb.c

+ 7 - 1
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;
+
+	qdf_spin_lock_irqsave(&pipe->device->cs_lock);
+	urb_cnt =  pipe->urb_cnt;
+	qdf_spin_unlock_irqrestore(&pipe->device->cs_lock);
 
-	return device->pipes[pipe_id].urb_cnt;
+	return urb_cnt;
 }
 
 /**