summary refs log tree commit diff
path: root/drivers
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2015-06-15 08:22:30 -0400
committerJon Mason <jdmason@kudzu.us>2015-07-04 14:09:30 -0400
commitfd839bf88485878ec602dbb3146fd44769eb3784 (patch)
treec19299e08d3b0d1ff0d4e69f99b53db0ef918d31 /drivers
parent7eb387813db6730a5793cd53077b4039d948d17f (diff)
downloadlinux-fd839bf88485878ec602dbb3146fd44769eb3784.tar.gz
NTB: Change WARN_ON_ONCE to pr_warn_once on unsafe
The unsafe doorbell and scratchpad access should display reason when
WARN is called.  Otherwise we get a stack dump without any explanation.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ntb/hw/intel/ntb_hw_intel.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c
index 70924e5c0c72..ba4dc0d7e1f3 100644
--- a/drivers/ntb/hw/intel/ntb_hw_intel.c
+++ b/drivers/ntb/hw/intel/ntb_hw_intel.c
@@ -246,7 +246,8 @@ static inline int ndev_db_addr(struct intel_ntb_dev *ndev,
 			       phys_addr_t *db_addr, resource_size_t *db_size,
 			       phys_addr_t reg_addr, unsigned long reg)
 {
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_DB));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_DB))
+		pr_warn_once("%s: NTB unsafe doorbell access", __func__);
 
 	if (db_addr) {
 		*db_addr = reg_addr + reg;
@@ -264,7 +265,8 @@ static inline int ndev_db_addr(struct intel_ntb_dev *ndev,
 static inline u64 ndev_db_read(struct intel_ntb_dev *ndev,
 			       void __iomem *mmio)
 {
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_DB));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_DB))
+		pr_warn_once("%s: NTB unsafe doorbell access", __func__);
 
 	return ndev->reg->db_ioread(mmio);
 }
@@ -272,7 +274,8 @@ static inline u64 ndev_db_read(struct intel_ntb_dev *ndev,
 static inline int ndev_db_write(struct intel_ntb_dev *ndev, u64 db_bits,
 				void __iomem *mmio)
 {
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_DB));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_DB))
+		pr_warn_once("%s: NTB unsafe doorbell access", __func__);
 
 	if (db_bits & ~ndev->db_valid_mask)
 		return -EINVAL;
@@ -287,7 +290,8 @@ static inline int ndev_db_set_mask(struct intel_ntb_dev *ndev, u64 db_bits,
 {
 	unsigned long irqflags;
 
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_DB));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_DB))
+		pr_warn_once("%s: NTB unsafe doorbell access", __func__);
 
 	if (db_bits & ~ndev->db_valid_mask)
 		return -EINVAL;
@@ -307,7 +311,8 @@ static inline int ndev_db_clear_mask(struct intel_ntb_dev *ndev, u64 db_bits,
 {
 	unsigned long irqflags;
 
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_DB));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_DB))
+		pr_warn_once("%s: NTB unsafe doorbell access", __func__);
 
 	if (db_bits & ~ndev->db_valid_mask)
 		return -EINVAL;
@@ -336,7 +341,8 @@ static inline int ndev_spad_addr(struct intel_ntb_dev *ndev, int idx,
 				 phys_addr_t *spad_addr, phys_addr_t reg_addr,
 				 unsigned long reg)
 {
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_SPAD));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_SPAD))
+		pr_warn_once("%s: NTB unsafe scratchpad access", __func__);
 
 	if (idx < 0 || idx >= ndev->spad_count)
 		return -EINVAL;
@@ -352,7 +358,8 @@ static inline int ndev_spad_addr(struct intel_ntb_dev *ndev, int idx,
 static inline u32 ndev_spad_read(struct intel_ntb_dev *ndev, int idx,
 				 void __iomem *mmio)
 {
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_SPAD));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_SPAD))
+		pr_warn_once("%s: NTB unsafe scratchpad access", __func__);
 
 	if (idx < 0 || idx >= ndev->spad_count)
 		return 0;
@@ -363,7 +370,8 @@ static inline u32 ndev_spad_read(struct intel_ntb_dev *ndev, int idx,
 static inline int ndev_spad_write(struct intel_ntb_dev *ndev, int idx, u32 val,
 				  void __iomem *mmio)
 {
-	WARN_ON_ONCE(ndev_is_unsafe(ndev, NTB_UNSAFE_SPAD));
+	if (ndev_is_unsafe(ndev, NTB_UNSAFE_SPAD))
+		pr_warn_once("%s: NTB unsafe scratchpad access", __func__);
 
 	if (idx < 0 || idx >= ndev->spad_count)
 		return -EINVAL;