[media] dib0700: Return -EINTR and unlock mutex if locking attempts fails
authorSantosh Nayak <santoshprasadnayak@gmail.com>
Mon, 19 Mar 2012 10:27:37 +0000 (07:27 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 15 May 2012 12:32:31 +0000 (09:32 -0300)
commit26a11eb176bfd66442dd47f8aac6b8c4252bd6da
tree235fb860838850c2dd389acfafe33f02777ea390
parentb115f400946dba529cfa9a769c2327ae6dbe3694
[media] dib0700: Return -EINTR and unlock mutex if locking attempts fails

In 'dib0700_i2c_xfer_new()' and 'dib0700_i2c_xfer_legacy()'
we are taking two locks:
                1. i2c_mutex
                2. usb_mutex
If attempt to take 'usb_mutex' lock fails then the previously taken
lock 'i2c_mutex' should be unlocked and -EINTR should be returned so
that caller can take appropriate action.

If locking attempt was interrupted by a signal then
we should return -EINTR. At present we are returning '0' for
such scenarios  which is wrong.

Replace -EAGAIN by -EINTR as a return type for the the scenario
where locking attempt was interrupted by signal.

Signed-off-by: Santosh Nayak <santoshprasadnayak@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/dib0700_core.c