Message ID | 58b2384d-6f2a-7ee5-1ca3-5c5f24c85311@xs4all.nl |
---|---|
State | New |
Headers | show |
Series | media: firewire: firedtv-avc.c: replace BUG with proper, error return | expand |
diff --git a/drivers/media/firewire/firedtv-avc.c b/drivers/media/firewire/firedtv-avc.c index 71991f8638e6..a36c28412170 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)
This resolves this smatch error: drivers/media/firewire/firedtv-avc.c:602 avc_tuner_dsd() error: uninitialized symbol 'pos'. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> --- drivers/media/firewire/firedtv-avc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)