diff options
-rw-r--r-- | drivers/media/dvb/frontends/nxt200x.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/media/dvb/frontends/nxt200x.c b/drivers/media/dvb/frontends/nxt200x.c index aee170805caf..4cffe7ad9710 100644 --- a/drivers/media/dvb/frontends/nxt200x.c +++ b/drivers/media/dvb/frontends/nxt200x.c | |||
@@ -239,26 +239,16 @@ static int nxt200x_readreg_multibyte (struct nxt200x_state* state, u8 reg, u8* d | |||
239 | buf = 0x80; | 239 | buf = 0x80; |
240 | nxt200x_writebytes(state, 0x21, &buf, 1); | 240 | nxt200x_writebytes(state, 0x21, &buf, 1); |
241 | 241 | ||
242 | /* read status */ | 242 | /* read the actual data */ |
243 | nxt200x_readbytes(state, 0x21, &buf, 1); | 243 | for(i = 0; i < len; i++) { |
244 | 244 | nxt200x_readbytes(state, 0x36 + i, &data[i], 1); | |
245 | if (buf == 0) | ||
246 | { | ||
247 | /* read the actual data */ | ||
248 | for(i = 0; i < len; i++) { | ||
249 | nxt200x_readbytes(state, 0x36 + i, &data[i], 1); | ||
250 | } | ||
251 | return 0; | ||
252 | } | 245 | } |
246 | return 0; | ||
253 | break; | 247 | break; |
254 | default: | 248 | default: |
255 | return -EINVAL; | 249 | return -EINVAL; |
256 | break; | 250 | break; |
257 | } | 251 | } |
258 | |||
259 | printk(KERN_WARNING "nxt200x: Error reading multireg register 0x%02X\n",reg); | ||
260 | |||
261 | return 0; | ||
262 | } | 252 | } |
263 | 253 | ||
264 | static void nxt200x_microcontroller_stop (struct nxt200x_state* state) | 254 | static void nxt200x_microcontroller_stop (struct nxt200x_state* state) |