[media] dib8000: make 32 bits read atomic
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Fri, 13 Dec 2013 13:35:03 +0000 (10:35 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 19 Dec 2013 10:17:43 +0000 (08:17 -0200)
commit5ac64ba12aca3bef18e61c866583155a3bbf81c4
tree7154001c62fce0f307ff43d1a5c02fa3dd7958ed
parentd67350f8c4e67f5eba627e1fd111f16257ca9c95
[media] dib8000: make 32 bits read atomic

As the dvb-frontend kthread can be called anytime, it can race
with some get status ioctl. So, it seems better to avoid one to
race with the other while reading a 32 bits register.
I can't see any other reason for having a mutex there at I2C, except
to provide such kind of protection, as the I2C core already has a
mutex to protect I2C transfers.

Note: instead of this approach, it could eventually remove the dib8000
specific mutex for it, and either group the 4 ops into one xfer or
to manually control the I2C mutex. The main advantage of the current
approach is that the changes are smaller and more puntual.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Acked-by: Patrick Boettcher <pboettcher@kernellabs.com>
drivers/media/dvb-frontends/dib8000.c