]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commit
media: tegra: nvavp: avoid racing in nvavp_uninit
authorAllen Yu <alleny@nvidia.com>
Wed, 20 Aug 2014 03:39:59 +0000 (11:39 +0800)
committerDhiren Parmar <dparmar@nvidia.com>
Mon, 29 Sep 2014 09:58:40 +0000 (02:58 -0700)
commit654c4a72ca8e1920e6e833c0b0fea466a6f0d3ed
treee4c0feff2429e499002233b57ec7d6080b9caf46
parent67c0dcc31b4e86dbfb63b75048384306c899f91e
media: tegra: nvavp: avoid racing in nvavp_uninit

nvavp_init() might be called when open_lock is dropped in nvavp_uninit(),
which will mess up the _init/_uninit sequence. To eliminate the racing,
removes the unnecessary cancel_work_sync() and also the _unlock/_lock
around it. It is safe to do so since nvavp_uninit() sets nvavp->pending
to false in nvavp_halt_vde(), and the work handler will do nothing if
nvavp->pending is false.

Bug 200013513

Change-Id: If0a84545815c61388ba351e6cd1cc78bd99f809e
Signed-off-by: Allen Yu <alleny@nvidia.com>
Reviewed-on: http://git-master/r/482340
(cherry picked from commit f9abd9e6de2092b0b98dbc1f01b17e4d49b61457)
Reviewed-on: http://git-master/r/542553
Reviewed-by: Dhiren Parmar <dparmar@nvidia.com>
Tested-by: Dhiren Parmar <dparmar@nvidia.com>
drivers/media/platform/tegra/nvavp/nvavp_dev.c