Parcourir la source

qcacmn: Remove QDF_BUG of qdf_spin_is_locked

spin_is_locked() provided by kernel has statement that we should not
rely heavily on the return value, it only tells that the spinlock is
seen to be locked, not that it is locked on your CPU.
Further, on CONFIG_SMP=n builds with CONFIG_DEBUG_SPINLOCK=n, the
return value is always 0.

So we should not use QDF_BUG to test/assert its return value, only be
used for debugging purpose.

Change-Id: I76765f567abf333ab6fa0d7c7c73f7c263e18495
CRs-Fixed: 2846186
Will Huang il y a 4 ans
Parent
commit
c761e3e208
2 fichiers modifiés avec 2 ajouts et 16 suppressions
  1. 1 13
      qdf/src/qdf_talloc.c
  2. 1 3
      qdf/src/qdf_tracker.c

+ 1 - 13
qdf/src/qdf_talloc.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018, 2021 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -112,8 +112,6 @@ qdf_talloc_parent_meta_alloc(const void *parent,
 {
 	struct qdf_talloc_parent_meta *pmeta;
 
-	QDF_BUG(qdf_spin_is_locked(&__qdf_talloc_meta_lock));
-
 	pmeta = __qdf_zalloc_atomic(sizeof(*pmeta), func, line);
 	if (!pmeta)
 		return NULL;
@@ -127,8 +125,6 @@ qdf_talloc_parent_meta_alloc(const void *parent,
 
 static void qdf_talloc_parent_meta_free(struct qdf_talloc_parent_meta *pmeta)
 {
-	QDF_BUG(qdf_spin_is_locked(&__qdf_talloc_meta_lock));
-
 	qdf_ht_remove(&pmeta->entry);
 	qdf_list_destroy(&pmeta->children);
 	__free(pmeta);
@@ -140,8 +136,6 @@ qdf_talloc_parent_meta_lookup(const void *parent)
 	struct qdf_talloc_parent_meta *pmeta;
 	uintptr_t key = (uintptr_t)parent;
 
-	QDF_BUG(qdf_spin_is_locked(&__qdf_talloc_meta_lock));
-
 	qdf_ht_get(__qdf_talloc_meta_ht, pmeta, entry, key, key);
 
 	return pmeta;
@@ -323,8 +317,6 @@ static QDF_STATUS qdf_talloc_meta_insert(struct qdf_talloc_header *header,
 	struct qdf_talloc_child_meta *cmeta = &header->meta;
 	struct qdf_talloc_parent_meta *pmeta;
 
-	QDF_BUG(qdf_spin_is_locked(&__qdf_talloc_meta_lock));
-
 	pmeta = qdf_talloc_parent_meta_lookup(cmeta->parent);
 	if (!pmeta)
 		pmeta = qdf_talloc_parent_meta_alloc(cmeta->parent, func, line);
@@ -376,8 +368,6 @@ __qdf_talloc_assert_no_children(const void *parent,
 	struct qdf_talloc_parent_meta *pmeta;
 	uint32_t count;
 
-	QDF_BUG(qdf_spin_is_locked(&__qdf_talloc_meta_lock));
-
 	pmeta = qdf_talloc_parent_meta_lookup(parent);
 	if (!pmeta)
 		return;
@@ -393,8 +383,6 @@ static void qdf_talloc_meta_remove(struct qdf_talloc_header *header,
 	struct qdf_talloc_child_meta *cmeta = &header->meta;
 	struct qdf_talloc_parent_meta *pmeta;
 
-	QDF_BUG(qdf_spin_is_locked(&__qdf_talloc_meta_lock));
-
 	__qdf_talloc_assert_no_children(qdf_talloc_ptr(header), func, line);
 
 	pmeta = qdf_talloc_parent_meta_lookup(cmeta->parent);

+ 1 - 3
qdf/src/qdf_tracker.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019, 2021 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -66,8 +66,6 @@ static uint32_t qdf_tracker_leaks_print(struct qdf_tracker *tracker,
 	bool print_header = true;
 	uint32_t count = 0;
 
-	QDF_BUG(qdf_spin_is_locked(&tracker->lock));
-
 	qdf_ptr_hash_for_each(tracker->ht, bucket, node, entry) {
 		if (node->domain != domain)
 			continue;