linux/drivers/media
Jasmin J e7080d4471 [media] media/dvb-core: Race condition when writing to CAM
It started with a sporadic message in syslog: "CAM tried to send a
buffer larger than the ecount size" This message is not the fault
itself, but a consecutive fault, after a read error from the CAM. This
happens only on several CAMs, several hardware, and of course sporadic.

It is a consecutive fault, if the last read from the CAM did fail. I
guess this will not happen on all CAMs, but at least it did on mine.
There was a write error to the CAM and during the re-initialization
procedure, the CAM finished the last read, although it got a RS.

The write error to the CAM happened because a race condition between HC
write, checking DA and FR.

This patch added an additional check for DA(RE), just after checking FR.
It is important to read the CAMs status register again, to give the CAM
the necessary time for a proper reaction to HC. Please note the
description within the source code (patch below).

[mchehab@s-opensource.com: make checkpatch happy]

Signed-off-by: Jasmin jessich <jasmin@anw.at>
Tested-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-04-17 17:20:23 -03:00
..
cec [media] cec: fix confusing CEC_CAP_RC and IS_REACHABLE(CONFIG_RC_CORE) code 2017-04-10 13:15:29 -03:00
common [media] b2c2: constify nxt200x_config structure 2017-04-17 12:18:18 -03:00
dvb-core [media] media/dvb-core: Race condition when writing to CAM 2017-04-17 17:20:23 -03:00
dvb-frontends [media] dvb-frontends/drxk: don't log errors on unsupported operation mode 2017-04-17 17:07:57 -03:00
firewire [media] firewire: don't break long lines 2016-10-21 10:06:00 -02:00
i2c [media] tc358743: Add OF device ID table 2017-04-17 13:11:06 -03:00
mmc
pci [media] media: pci: saa7164: remove dead code 2017-04-17 13:07:50 -03:00
platform [media] drivers/media: Convert remaining use of pr_warning to pr_warn 2017-04-17 10:39:59 -03:00
radio [media] wl128x: use setup_timer 2017-04-10 14:56:37 -03:00
rc [media] imon: use setup_timer 2017-04-10 14:56:57 -03:00
spi [media] gs1662: drop kfree for memory allocated with devm_kzalloc 2016-10-24 17:59:08 -02:00
tuners [media] si2157: Add support for Si2141-A10 2017-04-14 22:27:47 -03:00
usb [media] em28xx: Add new USB ID eb1a:5051 2017-04-17 13:13:01 -03:00
v4l2-core [media] v4l2-ctrls.c: set V4L2_CTRL_FLAG_MODIFY_LAYOUT for ROTATE 2017-04-14 22:54:35 -03:00
cec-edid.c [media] cec-edid: check for IEEE identifier 2016-08-22 14:04:51 -03:00
cec-notifier.c [media] media: add CEC notifier support 2017-04-10 12:48:28 -03:00
Kconfig [media] media: add CEC notifier support 2017-04-10 12:48:28 -03:00
Makefile [media] media: add CEC notifier support 2017-04-10 12:48:28 -03:00
media-device.c [media] media: Rename graph and pipeline structs and functions 2017-01-27 16:13:24 -02:00
media-devnode.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
media-entity.c [media] media: entity: Add debug information to graph walk 2017-01-30 11:33:26 -02:00