Преглед на файлове

qcacmn: Add protection for pkt_log ops with module stop

Packet log ops are protected against load-unload and SSR, but not
against module stop. Take care to add check for module stop.
Also takecare to NULLing of wdi_event_list and NULL check before accessing.

Change-Id: I20d49ff587719fc14f60a53e86092383de6ef5b8
CRs-Fixed: 2131044
Manjunathappa Prakash преди 7 години
родител
ревизия
2620760503
променени са 1 файла, в които са добавени 8 реда и са изтрити 8 реда
  1. 8 8
      utils/pktlog/linux_ac.c

+ 8 - 8
utils/pktlog/linux_ac.c

@@ -573,8 +573,8 @@ static int __pktlog_open(struct inode *i, struct file *f)
 		return -EBUSY;
 	}
 
-	if (cds_is_load_or_unload_in_progress() || cds_is_driver_recovering()) {
-		pr_info("%s: Load/Unload or recovery is in progress", __func__);
+	if (cds_is_module_state_transitioning()) {
+		pr_info("%s: module transition in progress", __func__);
 		return -EAGAIN;
 	}
 
@@ -639,8 +639,8 @@ static int __pktlog_release(struct inode *i, struct file *f)
 	if (!pl_info)
 		return -EINVAL;
 
-	if (cds_is_load_or_unload_in_progress() || cds_is_driver_recovering()) {
-		pr_info("%s: Load/Unload or recovery is in progress", __func__);
+	if (cds_is_module_state_transitioning()) {
+		pr_info("%s: module transition in progress", __func__);
 		return -EAGAIN;
 	}
 
@@ -860,8 +860,8 @@ __pktlog_read(struct file *file, char *buf, size_t nbytes, loff_t *ppos)
 	struct ath_pktlog_info *pl_info;
 	struct ath_pktlog_buf *log_buf;
 
-	if (cds_is_load_or_unload_in_progress() || cds_is_driver_recovering()) {
-		pr_info("%s: Load/Unload or recovery is in progress", __func__);
+	if (cds_is_module_state_transitioning()) {
+		pr_info("%s: module transition in progress", __func__);
 		return -EAGAIN;
 	}
 
@@ -1094,8 +1094,8 @@ static int __pktlog_mmap(struct file *file, struct vm_area_struct *vma)
 		return -ENOMEM;
 	}
 
-	if (cds_is_load_or_unload_in_progress() || cds_is_driver_recovering()) {
-		pr_info("%s: Load/Unload or recovery is in progress", __func__);
+	if (cds_is_module_state_transitioning()) {
+		pr_info("%s: module transition in progress", __func__);
 		return -EAGAIN;
 	}