summaryrefslogtreecommitdiff
path: root/drivers/media/firewire/firedtv-avc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/firewire/firedtv-avc.c')
-rw-r--r--drivers/media/firewire/firedtv-avc.c4
1 files changed, 3 insertions, 1 deletions
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)