[PATCH] sgi-xp: convert BUG_ONs to WARN_ONs... sheesh

From: Davidlohr Bueso
Date: Fri Jun 30 2017 - 13:02:11 EST


While going through the driver wake code, I found the
abuse of BUG_ON to be quite disturbing.

Drivers (particularly misc!!!) should not be bringing
the kernel to a halt... *sheesh*. Blindly convert
them to warnings and let the sgi-xp self-destruct.
While WARNs are still abusive, I have no plans on
going further than this to cleanup the mess.

Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
---
drivers/misc/sgi-xp/xp_sn2.c | 4 ++--
drivers/misc/sgi-xp/xp_uv.c | 8 ++++----
drivers/misc/sgi-xp/xpc_main.c | 4 ++--
drivers/misc/sgi-xp/xpc_partition.c | 2 +-
drivers/misc/sgi-xp/xpc_uv.c | 14 +++++++-------
5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/misc/sgi-xp/xp_sn2.c b/drivers/misc/sgi-xp/xp_sn2.c
index d8e463f87241..c70ee81347e2 100644
--- a/drivers/misc/sgi-xp/xp_sn2.c
+++ b/drivers/misc/sgi-xp/xp_sn2.c
@@ -164,7 +164,7 @@ xp_restrict_memprotect_sn2(unsigned long phys_addr, unsigned long size)
enum xp_retval
xp_init_sn2(void)
{
- BUG_ON(!is_shub());
+ WARN_ON(!is_shub());

xp_max_npartitions = XP_MAX_NPARTITIONS_SN2;
xp_partition_id = sn_partition_id;
@@ -183,7 +183,7 @@ xp_init_sn2(void)
void
xp_exit_sn2(void)
{
- BUG_ON(!is_shub());
+ WARN_ON(!is_shub());

xp_unregister_nofault_code_sn2();
}
diff --git a/drivers/misc/sgi-xp/xp_uv.c b/drivers/misc/sgi-xp/xp_uv.c
index a0d093274dc0..819d2fcef3b5 100644
--- a/drivers/misc/sgi-xp/xp_uv.c
+++ b/drivers/misc/sgi-xp/xp_uv.c
@@ -48,8 +48,8 @@ xp_remote_mmr_read(unsigned long dst_gpa, const unsigned long src_gpa,
int ret;
unsigned long *dst_va = __va(uv_gpa_to_soc_phys_ram(dst_gpa));

- BUG_ON(!uv_gpa_in_mmr_space(src_gpa));
- BUG_ON(len != 8);
+ WARN_ON(!uv_gpa_in_mmr_space(src_gpa));
+ WARN_ON(len != 8);

ret = gru_read_gpa(dst_va, src_gpa);
if (ret == 0)
@@ -148,7 +148,7 @@ xp_restrict_memprotect_uv(unsigned long phys_addr, unsigned long size)
enum xp_retval
xp_init_uv(void)
{
- BUG_ON(!is_uv());
+ WARN_ON(!is_uv());

xp_max_npartitions = XP_MAX_NPARTITIONS_UV;
xp_partition_id = sn_partition_id;
@@ -167,5 +167,5 @@ xp_init_uv(void)
void
xp_exit_uv(void)
{
- BUG_ON(!is_uv());
+ WARN_ON(!is_uv());
}
diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c
index 7f327121e6d7..5f23b2d8e6a0 100644
--- a/drivers/misc/sgi-xp/xpc_main.c
+++ b/drivers/misc/sgi-xp/xpc_main.c
@@ -796,8 +796,8 @@ xpc_create_kthreads(struct xpc_channel *ch, int needed,
if (ignore_disconnecting) {
if (!atomic_inc_not_zero(&ch->kthreads_assigned)) {
/* kthreads assigned had gone to zero */
- BUG_ON(!(ch->flags &
- XPC_C_DISCONNECTINGCALLOUT_MADE));
+ WARN_ON(!(ch->flags &
+ XPC_C_DISCONNECTINGCALLOUT_MADE));
break;
}

diff --git a/drivers/misc/sgi-xp/xpc_partition.c b/drivers/misc/sgi-xp/xpc_partition.c
index 6956f7e7d439..ff2419441e40 100644
--- a/drivers/misc/sgi-xp/xpc_partition.c
+++ b/drivers/misc/sgi-xp/xpc_partition.c
@@ -155,7 +155,7 @@ xpc_setup_rsvd_page(void)
/* SAL_versions < 3 had a SAL_partid defined as a u8 */
rp->SAL_partid &= 0xff;
}
- BUG_ON(rp->SAL_partid != xp_partition_id);
+ WARN_ON(rp->SAL_partid != xp_partition_id);

if (rp->SAL_partid < 0 || rp->SAL_partid >= xp_max_npartitions) {
dev_err(xpc_part, "the reserved page's partid of %d is outside "
diff --git a/drivers/misc/sgi-xp/xpc_uv.c b/drivers/misc/sgi-xp/xpc_uv.c
index 340b44d9e8cf..23ff09c7c455 100644
--- a/drivers/misc/sgi-xp/xpc_uv.c
+++ b/drivers/misc/sgi-xp/xpc_uv.c
@@ -193,10 +193,10 @@ xpc_gru_mq_watchlist_free_uv(struct xpc_gru_mq_uv *mq)

#if defined CONFIG_X86_64
ret = uv_bios_mq_watchlist_free(mmr_pnode, mq->watchlist_num);
- BUG_ON(ret != BIOS_STATUS_SUCCESS);
+ WARN_ON(ret != BIOS_STATUS_SUCCESS);
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
ret = sn_mq_watchlist_free(mmr_pnode, mq->watchlist_num);
- BUG_ON(ret != SALRET_OK);
+ WARN_ON(ret != SALRET_OK);
#else
#error not a supported configuration
#endif
@@ -314,7 +314,7 @@ xpc_destroy_gru_mq_uv(struct xpc_gru_mq_uv *mq)
/* disallow other partitions to access GRU mq */
mq_size = 1UL << mq->order;
ret = xp_restrict_memprotect(xp_pa(mq->address), mq_size);
- BUG_ON(ret != xpSuccess);
+ WARN_ON(ret != xpSuccess);

/* unregister irq handler and release mq irq/vector mapping */
free_irq(mq->irq, NULL);
@@ -383,7 +383,7 @@ xpc_process_activate_IRQ_rcvd_uv(void)
continue;

xpc_activate_IRQ_rcvd--;
- BUG_ON(xpc_activate_IRQ_rcvd < 0);
+ WARN_ON(xpc_activate_IRQ_rcvd < 0);

act_state_req = part->sn.uv.act_state_req;
part->sn.uv.act_state_req = 0;
@@ -974,7 +974,7 @@ xpc_get_fifo_entry_uv(struct xpc_fifo_head_uv *head)
head->last = NULL;

head->n_entries--;
- BUG_ON(head->n_entries < 0);
+ WARN_ON(head->n_entries < 0);

first->next = NULL;
}
@@ -1393,7 +1393,7 @@ xpc_handle_notify_mq_ack_uv(struct xpc_channel *ch,

msg_slot = &ch->sn.uv.send_msg_slots[entry];

- BUG_ON(msg_slot->msg_slot_number != msg->hdr.msg_slot_number);
+ WARN_ON(msg_slot->msg_slot_number != msg->hdr.msg_slot_number);
msg_slot->msg_slot_number += ch->local_nentries;

if (msg_slot->func != NULL)
@@ -1451,7 +1451,7 @@ xpc_handle_notify_mq_msg_uv(struct xpc_partition *part,
msg_slot = ch_uv->recv_msg_slots +
(msg->hdr.msg_slot_number % ch->remote_nentries) * ch->entry_size;

- BUG_ON(msg_slot->hdr.size != 0);
+ WARN_ON(msg_slot->hdr.size != 0);

memcpy(msg_slot, msg, msg->hdr.size);

--
2.12.0