Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ba7bdc9 authored by Gilad Ben-Yossef's avatar Gilad Ben-Yossef Committed by Greg Kroah-Hartman
Browse files

staging: ccree: remove BUG macro usage



Replace BUG() macro usage that crash the kernel with alternatives
that signal error and/or try to recover.

Signed-off-by: default avatarGilad Ben-Yossef <gilad@benyossef.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3b2eb379
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -81,11 +81,6 @@ static unsigned int ssi_buffer_mgr_get_sgl_nents(
	unsigned int nents = 0;

	while (nbytes != 0) {
		if (sg_is_chain(sg_list)) {
			SSI_LOG_ERR("Unexpected chained entry "
				   "in sg (entry =0x%X)\n", nents);
			BUG();
		}
		if (sg_list->length != 0) {
			nents++;
			/* get the number of bytes in the last entry */
@@ -854,7 +849,7 @@ static inline int ssi_buffer_mgr_aead_chain_assoc(
			//if have reached the end of the sgl, then this is unexpected
			if (!current_sg) {
				SSI_LOG_ERR("reached end of sg list. unexpected\n");
				BUG();
				return -EINVAL;
			}
			sg_index += current_sg->length;
			mapped_nents++;
@@ -1134,10 +1129,9 @@ static inline int ssi_buffer_mgr_aead_chain_data(

	offset = size_to_skip;

	if (!sg_data) {
		rc = -EINVAL;
		goto chain_data_exit;
	}
	if (!sg_data)
		return -EINVAL;

	areq_ctx->src_sgl = req->src;
	areq_ctx->dst_sgl = req->dst;

@@ -1154,7 +1148,7 @@ static inline int ssi_buffer_mgr_aead_chain_data(
		//if have reached the end of the sgl, then this is unexpected
		if (!areq_ctx->src_sgl) {
			SSI_LOG_ERR("reached end of sg list. unexpected\n");
			BUG();
			return -EINVAL;
		}
		sg_index += areq_ctx->src_sgl->length;
		src_mapped_nents--;
@@ -1198,7 +1192,7 @@ static inline int ssi_buffer_mgr_aead_chain_data(
		//if have reached the end of the sgl, then this is unexpected
		if (!areq_ctx->dst_sgl) {
			SSI_LOG_ERR("reached end of sg list. unexpected\n");
			BUG();
			return -EINVAL;
		}
		sg_index += areq_ctx->dst_sgl->length;
		dst_mapped_nents--;
+0 −1
Original line number Diff line number Diff line
@@ -541,7 +541,6 @@ ssi_blkcipher_create_setup_desc(
		break;
	default:
		SSI_LOG_ERR("Unsupported cipher mode (%d)\n", cipher_mode);
		BUG();
	}
}

+2 −1
Original line number Diff line number Diff line
@@ -109,7 +109,8 @@ int ssi_power_mgr_runtime_put_suspend(struct device *dev)
		rc = pm_runtime_put_autosuspend(dev);
	} else {
		/* Something wrong happens*/
		BUG();
		SSI_LOG_ERR("request to suspend already suspended queue");
		rc = -EBUSY;
	}
	return rc;
}
+16 −6
Original line number Diff line number Diff line
@@ -369,11 +369,16 @@ int send_request(
	enqueue_seq(cc_base, &req_mgr_h->compl_desc, (is_dout ? 0 : 1));

	if (unlikely(req_mgr_h->q_free_slots < total_seq_len)) {
		/*This means that there was a problem with the resume*/
		BUG();
	}
		/* This situation should never occur. Maybe indicating problem
		 * with resuming power. Set the free slot count to 0 and hope
		 * for the best.
		 */
		SSI_LOG_ERR("HW free slot count mismatch.");
		req_mgr_h->q_free_slots = 0;
	} else {
		/* Update the free slots in HW queue */
		req_mgr_h->q_free_slots -= total_seq_len;
	}

	spin_unlock_bh(&req_mgr_h->hw_lock);

@@ -460,8 +465,13 @@ static void proc_completions(struct ssi_drvdata *drvdata)

		/* Dequeue request */
		if (unlikely(request_mgr_handle->req_queue_head == request_mgr_handle->req_queue_tail)) {
			SSI_LOG_ERR("Request queue is empty req_queue_head==req_queue_tail==%u\n", request_mgr_handle->req_queue_head);
			BUG();
			/* We are supposed to handle a completion but our
			 * queue is empty. This is not normal. Return and
			 * hope for the best.
			 */
			SSI_LOG_ERR("Request queue is empty head == tail %u\n",
				    request_mgr_handle->req_queue_head);
			break;
		}

		ssi_req = &request_mgr_handle->req_queue[request_mgr_handle->req_queue_tail];