فهرست منبع

qcacld-3.0: Release spinlock if bypassing fisa

Spinlock recursion is occured as dp_rx_fisa_add_ft_entry() is
returning without releasing the spinlock and from another CPU,
same process is trying to acquire the spinlock.
To fix this, if fisa is being bypassed, release spinlock before
returning.

Change-Id: I93a59a727683e1235b0ead96df5cd30f6c56d5a1
CRs-Fixed: 3257174
Ananya Gupta 2 سال پیش
والد
کامیت
9b6a5c2bfc
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      core/dp/txrx3.0/dp_fisa_rx.c

+ 3 - 1
core/dp/txrx3.0/dp_fisa_rx.c

@@ -551,8 +551,10 @@ dp_rx_fisa_add_ft_entry(struct dp_vdev *vdev,
 		get_flow_tuple_from_nbuf(fisa_hdl->soc_hdl,
 					 &rx_flow_tuple_info,
 					 nbuf, rx_tlv_hdr);
-		if (rx_flow_tuple_info.bypass_fisa)
+		if (rx_flow_tuple_info.bypass_fisa) {
+			qdf_spin_unlock_bh(&fisa_hdl->dp_rx_fst_lock);
 			return NULL;
+		}
 	}
 
 	do {