aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-core
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb-core')
-rw-r--r--drivers/media/dvb-core/dvb_frontend.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index 479a5e52cb0d..1f3b16db2036 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -2131,27 +2131,43 @@ static int dvb_frontend_ioctl_legacy(struct file *file,
2131 err = fe->ops.read_status(fe, status); 2131 err = fe->ops.read_status(fe, status);
2132 break; 2132 break;
2133 } 2133 }
2134
2134 case FE_READ_BER: 2135 case FE_READ_BER:
2135 if (fe->ops.read_ber) 2136 if (fe->ops.read_ber) {
2136 err = fe->ops.read_ber(fe, (__u32*) parg); 2137 if (fepriv->thread)
2138 err = fe->ops.read_ber(fe, (__u32 *) parg);
2139 else
2140 err = -EAGAIN;
2141 }
2137 break; 2142 break;
2138 2143
2139 case FE_READ_SIGNAL_STRENGTH: 2144 case FE_READ_SIGNAL_STRENGTH:
2140 if (fe->ops.read_signal_strength) 2145 if (fe->ops.read_signal_strength) {
2141 err = fe->ops.read_signal_strength(fe, (__u16*) parg); 2146 if (fepriv->thread)
2147 err = fe->ops.read_signal_strength(fe, (__u16 *) parg);
2148 else
2149 err = -EAGAIN;
2150 }
2142 break; 2151 break;
2143 2152
2144 case FE_READ_SNR: 2153 case FE_READ_SNR:
2145 if (fe->ops.read_snr) 2154 if (fe->ops.read_snr) {
2146 err = fe->ops.read_snr(fe, (__u16*) parg); 2155 if (fepriv->thread)
2156 err = fe->ops.read_snr(fe, (__u16 *) parg);
2157 else
2158 err = -EAGAIN;
2159 }
2147 break; 2160 break;
2148 2161
2149 case FE_READ_UNCORRECTED_BLOCKS: 2162 case FE_READ_UNCORRECTED_BLOCKS:
2150 if (fe->ops.read_ucblocks) 2163 if (fe->ops.read_ucblocks) {
2151 err = fe->ops.read_ucblocks(fe, (__u32*) parg); 2164 if (fepriv->thread)
2165 err = fe->ops.read_ucblocks(fe, (__u32 *) parg);
2166 else
2167 err = -EAGAIN;
2168 }
2152 break; 2169 break;
2153 2170
2154
2155 case FE_DISEQC_RESET_OVERLOAD: 2171 case FE_DISEQC_RESET_OVERLOAD:
2156 if (fe->ops.diseqc_reset_overload) { 2172 if (fe->ops.diseqc_reset_overload) {
2157 err = fe->ops.diseqc_reset_overload(fe); 2173 err = fe->ops.diseqc_reset_overload(fe);