summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-01-26 15:30:53 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-04 14:36:59 -0300
commitc76286bafc682740a3c83aebeacb2d304bd39184 (patch)
treeca800cbaf21583240da5a61bff4cd197df39538b
parent7abc7a54dad585311252a07c8edfa3840537a3e9 (diff)
downloadop-kernel-dev-c76286bafc682740a3c83aebeacb2d304bd39184.zip
op-kernel-dev-c76286bafc682740a3c83aebeacb2d304bd39184.tar.gz
[media] drx-j: avoid calling power_down_foo twice
When switching from one video standard to another one, power_down_vsb is called twice. Well, as the device is already in power_down mode, the second call always fail. This causes that any subsequent frontend set to fail as well: [145074.501243] drx39xyj:power_down_vsb: called [145089.195396] drx39xyj:power_down_vsb: error -5 [145089.195404] drx39xyj:ctrl_set_standard: error -5 [145089.195417] drx39xyj:drx39xxj_set_frontend: Failed to set standard! result=fffffffb [145089.195470] drx39xyj:ctrl_sig_quality: error -5 [145089.195473] drx39xyj:drx39xxj_read_ber: drx39xxj: could not get ber! [145089.195475] drx39xyj:ctrl_sig_quality: error -5 [145089.195477] drx39xyj:drx39xxj_read_signal_strength: drx39xxj: could not get signal strength! [145089.195479] drx39xyj:ctrl_sig_quality: error -5 [145089.195480] drx39xyj:drx39xxj_read_snr: drx39xxj: could not read snr! [145089.195482] drx39xyj:ctrl_sig_quality: error -5 [145089.195484] drx39xyj:drx39xxj_read_ucblocks: drx39xxj: could not get uc blocks! [145089.195498] drx39xyj:ctrl_sig_quality: error -5 [145089.195500] drx39xyj:drx39xxj_read_ber: drx39xxj: could not get ber! [145089.195502] drx39xyj:ctrl_sig_quality: error -5 [145089.195503] drx39xyj:drx39xxj_read_signal_strength: drx39xxj: could not get signal strength! [145089.195505] drx39xyj:ctrl_sig_quality: error -5 [145089.195506] drx39xyj:drx39xxj_read_snr: drx39xxj: could not read snr! [145089.195508] drx39xyj:ctrl_sig_quality: error -5 [145089.195510] drx39xyj:drx39xxj_read_ucblocks: drx39xxj: could not get uc blocks! [145090.196291] drx39xyj:drx39xxj_read_status: drx39xxj: could not get lock status! [145090.196508] drx39xyj:ctrl_sig_quality: error -5 [145090.196511] drx39xyj:drx39xxj_read_ber: drx39xxj: could not get ber! [145090.196514] drx39xyj:ctrl_sig_quality: error -5 [145090.196515] drx39xyj:drx39xxj_read_signal_strength: drx39xxj: could not get signal strength! [145090.196518] drx39xyj:ctrl_sig_quality: error -5 [145090.196519] drx39xyj:drx39xxj_read_snr: drx39xxj: could not read snr! [145090.196522] drx39xyj:ctrl_sig_quality: error -5 [145090.196523] drx39xyj:drx39xxj_read_ucblocks: drx39xxj: could not get uc blocks! [145090.196553] drx39xyj:ctrl_sig_quality: error -5 [145090.196554] drx39xyj:drx39xxj_read_ber: drx39xxj: could not get ber! [145090.196557] drx39xyj:ctrl_sig_quality: error -5 [145090.196558] drx39xyj:drx39xxj_read_signal_strength: drx39xxj: could not get signal strength! [145090.196560] drx39xyj:ctrl_sig_quality: error -5 [145090.196562] drx39xyj:drx39xxj_read_snr: drx39xxj: could not read snr! [145090.196564] drx39xyj:ctrl_sig_quality: error -5 [145090.196565] drx39xyj:drx39xxj_read_ucblocks: drx39xxj: could not get uc blocks! [145091.119265] drx39xyj:ctrl_sig_quality: error -5 [145091.119271] drx39xyj:drx39xxj_read_ber: drx39xxj: could not get ber! [145091.119274] drx39xyj:ctrl_sig_quality: error -5 [145091.119276] drx39xyj:drx39xxj_read_signal_strength: drx39xxj: could not get signal strength! [145091.119278] drx39xyj:ctrl_sig_quality: error -5 [145091.119280] drx39xyj:drx39xxj_read_snr: drx39xxj: could not read snr! [145091.119282] drx39xyj:ctrl_sig_quality: error -5 [145091.119283] drx39xyj:drx39xxj_read_ucblocks: drx39xxj: could not get uc blocks! Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/dvb-frontends/drx39xyj/drxj.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c
index ccd847e1..7f17cd1 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drxj.c
+++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c
@@ -18264,6 +18264,7 @@ ctrl_power_mode(struct drx_demod_instance *demod, enum drx_power_mode *mode)
goto rw_error;
}
}
+ ext_attr->standard = DRX_STANDARD_UNKNOWN;
}
common_attr->current_power_mode = *mode;
OpenPOWER on IntegriCloud