aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-12-15 23:04:31 -0500
committerDan Williams <dan.j.williams@intel.com>2016-12-15 23:04:31 -0500
commit9cf8bd529c6ba81402ebf6b7a56307b0787e4f93 (patch)
treef53a27f54dbdec467905608fa1585a3e5b7b6e67
parentaf7d9f0c57941b465043681cb5c3410f7f3f1a41 (diff)
libnvdimm: replace mutex_is_locked() warnings with lockdep_assert_held
For warnings that should only ever trigger during development and testing replace WARN statements with lockdep_assert_held. The lockdep pattern is prevalent, and these paths are are well covered by libnvdimm unit tests. Reported-by: Johannes Thumshirn <jthumshirn@suse.de> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r--drivers/nvdimm/claim.c10
-rw-r--r--drivers/nvdimm/namespace_devs.c2
-rw-r--r--drivers/nvdimm/region_devs.c2
3 files changed, 6 insertions, 8 deletions
diff --git a/drivers/nvdimm/claim.c b/drivers/nvdimm/claim.c
index 3376da1fb263..97d1772774a8 100644
--- a/drivers/nvdimm/claim.c
+++ b/drivers/nvdimm/claim.c
@@ -22,9 +22,8 @@ void __nd_detach_ndns(struct device *dev, struct nd_namespace_common **_ndns)
22{ 22{
23 struct nd_namespace_common *ndns = *_ndns; 23 struct nd_namespace_common *ndns = *_ndns;
24 24
25 dev_WARN_ONCE(dev, !mutex_is_locked(&ndns->dev.mutex) 25 lockdep_assert_held(&ndns->dev.mutex);
26 || ndns->claim != dev, 26 dev_WARN_ONCE(dev, ndns->claim != dev, "%s: invalid claim\n", __func__);
27 "%s: invalid claim\n", __func__);
28 ndns->claim = NULL; 27 ndns->claim = NULL;
29 *_ndns = NULL; 28 *_ndns = NULL;
30 put_device(&ndns->dev); 29 put_device(&ndns->dev);
@@ -49,9 +48,8 @@ bool __nd_attach_ndns(struct device *dev, struct nd_namespace_common *attach,
49{ 48{
50 if (attach->claim) 49 if (attach->claim)
51 return false; 50 return false;
52 dev_WARN_ONCE(dev, !mutex_is_locked(&attach->dev.mutex) 51 lockdep_assert_held(&attach->dev.mutex);
53 || *_ndns, 52 dev_WARN_ONCE(dev, *_ndns, "%s: invalid claim\n", __func__);
54 "%s: invalid claim\n", __func__);
55 attach->claim = dev; 53 attach->claim = dev;
56 *_ndns = attach; 54 *_ndns = attach;
57 get_device(&attach->dev); 55 get_device(&attach->dev);
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index 8817f8a0cf38..de5809a88512 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -1653,7 +1653,7 @@ static int select_pmem_id(struct nd_region *nd_region, u8 *pmem_id)
1653 u64 hw_start, hw_end, pmem_start, pmem_end; 1653 u64 hw_start, hw_end, pmem_start, pmem_end;
1654 struct nd_label_ent *label_ent; 1654 struct nd_label_ent *label_ent;
1655 1655
1656 WARN_ON(!mutex_is_locked(&nd_mapping->lock)); 1656 lockdep_assert_held(&nd_mapping->lock);
1657 list_for_each_entry(label_ent, &nd_mapping->labels, list) { 1657 list_for_each_entry(label_ent, &nd_mapping->labels, list) {
1658 nd_label = label_ent->label; 1658 nd_label = label_ent->label;
1659 if (!nd_label) 1659 if (!nd_label)
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index 6af5e629140c..7cd705f3247c 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -509,7 +509,7 @@ void nd_mapping_free_labels(struct nd_mapping *nd_mapping)
509{ 509{
510 struct nd_label_ent *label_ent, *e; 510 struct nd_label_ent *label_ent, *e;
511 511
512 WARN_ON(!mutex_is_locked(&nd_mapping->lock)); 512 lockdep_assert_held(&nd_mapping->lock);
513 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { 513 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) {
514 list_del(&label_ent->list); 514 list_del(&label_ent->list);
515 kfree(label_ent); 515 kfree(label_ent);