From a1c272e8b0407cc645a4893ecebf3e812a8b20b2 Mon Sep 17 00:00:00 2001 From: Alexander Lochmann Date: Thu, 2 May 2024 14:37:58 +0200 Subject: [PATCH] Locks are an unpleasant fact of life --- drivers/sst/sst_common.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/sst/sst_common.c b/drivers/sst/sst_common.c index 046ce2568cc5..987396c0cf28 100644 --- a/drivers/sst/sst_common.c +++ b/drivers/sst/sst_common.c @@ -113,9 +113,9 @@ EXPORT_SYMBOL(sst_init); int sst_produce_question(sst_info_t *info, char *value) { int err = 0; - spin_lock_bh(&info->lock_questions); + spin_lock(&info->lock_questions); err = produce(&info->questions, value); - spin_unlock_bh(&info->lock_questions); + spin_unlock(&info->lock_questions); if (!err) { wake_up_interruptible(&info->wait); } @@ -125,10 +125,9 @@ EXPORT_SYMBOL(sst_produce_question); int sst_produce_answer(sst_info_t *info, char *value) { int err = 0; - unsigned long flags; - spin_lock_irqsave(&info->lock_answers, flags); + spin_lock(&info->lock_answers); err = produce(&info->answers, value); - spin_unlock_irqrestore(&info->lock_answers, flags); + spin_unlock(&info->lock_answers); up(&info->answers_rdy); return err; } @@ -136,23 +135,22 @@ EXPORT_SYMBOL(sst_produce_answer); int sst_consume_question(sst_info_t *info, char **value) { int err = 0; - spin_lock_bh(&info->lock_questions); + spin_lock(&info->lock_questions); err = consume(&info->questions, value); - spin_unlock_bh(&info->lock_questions); + spin_unlock(&info->lock_questions); return err; } EXPORT_SYMBOL(sst_consume_question); int sst_consume_answer(sst_info_t *info, char **value) { int err = 0; - unsigned long flags; if (down_trylock(&info->answers_rdy)) { sst_debug("Sry. No answer for you!\n"); return -2; } - spin_lock_irqsave(&info->lock_answers, flags); + spin_lock(&info->lock_answers); err = consume(&info->answers, value); - spin_unlock_irqrestore(&info->lock_answers, flags); + spin_unlock(&info->lock_answers); return err; } EXPORT_SYMBOL(sst_consume_answer);