From 59353d7051d67ffe8bb6da6152074961eeb3eb6e Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Fri, 4 Aug 2023 12:59:41 +0200 Subject: [PATCH] media: firewire: firedtv-avc.c: replace BUG with proper, error return This resolves this smatch error: drivers/media/firewire/firedtv-avc.c:602 avc_tuner_dsd() error: uninitialized symbol 'pos'. Signed-off-by: Hans Verkuil --- drivers/media/firewire/firedtv-avc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/firewire/firedtv-avc.c b/drivers/media/firewire/firedtv-avc.c index 71991f8..a36c284 100644 --- a/drivers/media/firewire/firedtv-avc.c +++ b/drivers/media/firewire/firedtv-avc.c @@ -597,7 +597,8 @@ int avc_tuner_dsd(struct firedtv *fdtv, case FIREDTV_DVB_C: pos = avc_tuner_dsd_dvb_c(fdtv, p); break; case FIREDTV_DVB_T: pos = avc_tuner_dsd_dvb_t(fdtv, p); break; default: - BUG(); + ret = -EIO; + goto unlock; } pad_operands(c, pos); @@ -612,6 +613,7 @@ int avc_tuner_dsd(struct firedtv *fdtv, if (status) *status = r->operand[2]; #endif +unlock: mutex_unlock(&fdtv->avc_mutex); if (ret == 0) -- 2.7.4