History log of /drivers/media/dvb/frontends/dib9000.c
Revision Date Author Comments
f3033aecf2341a4e2669c63ed78a190a1c3e7a3a 06-Mar-2012 Alexey Khoroshilov <khoroshilov@ispras.ru> [media] dib9000: implement error handling for DibAcquireLock

DibAcquireLock() is implemented as mutex_lock_interruptible()
but the driver does not handle unsuccessful locking.
As a result it may lead to unlock of an unheld mutex.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
9bb24a7e49c33c16c4d9d7d3496f46626e573d02 06-Mar-2012 Alexey Khoroshilov <khoroshilov@ispras.ru> [media] dib9000: fix explicit lock mismatches

There are several error paths, where &state->platform.risc.mem_mbx_lock
is not unlocked. The patch fixes it.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
7581e61d8d7a3ed89a3fdac2235231cd36548f78 01-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb: Remove ops->info.type from frontends

Now that this field is deprecated, and core generates it for
DVBv3 calls, remove it from the drivers.

It also adds .delsys on the few drivers where this were missed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
7c61d80a9bcfc3fdec8ffd75756cad6a64678229 30-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb: don't require a parameter for get_frontend

Just like set_frontend, use the dvb cache properties for get_frontend.
This is more consistent, as both functions are now symetric. Also,
at the places get_frontend is called, it makes sense to update the
cache.

Most of this patch were generated by this small perl script:

while (<>) { $file .= $_; }
if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) {
my $get = $1;
$file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g;
}
print $file;

Of course, the changes at dvb_frontend.[ch] were made by hand,
as well as the changes on a few other places, where get_frontend()
is called internally inside the driver.

On some places, get_frontend() were just a void function. Those
occurrences were removed, as the DVB core handles such cases.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f20b12ecb44d0f07f0cbc36016f089274b387969 23-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dib9000: get rid of unused dvb_frontend_parameters

This parameter is passed as NULL, and it is never used. Just
remove it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
9e9c5bf73ffa8bbd870139589e5e490f1b02a283 23-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dib9000: Get rid of the remaining DVBv3 legacy stuff

dib9000 is almost ok, with regards to the usage of DVBv5 parameters.
It has just a few stuff using the old way, at set_frontend.

Replace them by the DVBv5 way, and add the delivery system.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
759e236c5f58dcf72ebc722e5241c01da2918a61 22-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dib9000: remove unused parameters

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
a689e3657d7e82c2271008553c709fc79fb2e038 22-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb-core: add support for a DVBv5 get_frontend() callback

Creates a DVBv5 get_frontend call, renaming the DVBv3 one to
get_frontend_legacy(), while not all frontends are converted.

After the conversion for all drivers, get_frontend_legacy()
will be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
bc9cd2736b34619b58961d506210fe0e6dfaa27d 20-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Rename set_frontend fops to set_frontend_legacy

Passing DVBv3 parameters to set_frontend is not fun, as the
core doesn't have any way to know if the driver is using the
v3 or v5 parameters. So, rename the callback and add a new
one to allow distinguish between a mixed v3/v5 paramenter call
from a pure v5 call.

After having all frontends to use the new way, the legacy
call can be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2f4cf2c3a971c4d5154def8ef9ce4811d702852d 29-Sep-2011 Dan Carpenter <dan.carpenter@oracle.com> [media] dib9000: release a lock on error

This lock should be released as well on the error path.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Patrick Boettcher <Patrick.Boettcher@dibcom.fr>
Cc: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2f098cb1c8b226a99595512e1029c8d1680f69cd 06-Aug-2011 Dan Carpenter <error27@gmail.com> [media] dib9000: return error code on failure

The ret = -EIO needs to be before the goto.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
79fcce3230b140f7675f8529ee53fe2f9644f902 03-Aug-2011 Patrick Boettcher <Patrick.Boettcher@dibcom.fr> [media] DiBcom: protect the I2C bufer access

This patch protects the I2C buffer access in order to manage concurrent
access. This protection is done using mutex.
Furthermore, for the dib9000, if a pid filtering command is
received during the tuning, this pid filtering command is delayed to
avoid any concurrent access issue.

Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Florian Mickler <florian@mickler.org>
Cc: stable@kernel.org
Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <Patrick.Boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
5a0deeed5741117ee8625d6305d0034e219f102c 03-May-2011 Olivier Grenie <olivier.grenie@dibcom.fr> [media] DiBxxxx: get rid of DMA buffer on stack

This patch removes the remaining on-stack buffer for USB DMA transfer.
This patch also reduces the stack memory usage.

Cc: stable@kernel.org
Cc: Florian Mickler <florian@mickler.org>
Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
451a51b218df9a3a93af9fd71a356cc6043df52a 07-Apr-2011 Jesper Juhl <jj@chaosbits.net> [media] DVB, DiB9000: Fix leak in dib9000_attach()

If the second memory allocation in dib9000_attach() fails, we'll leak the
memory allocated by the first.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
b00aff6a36aeafc68cf9044751041ba432ab4495 19-Jan-2011 Dan Carpenter <error27@gmail.com> [media] dib9000: fix return type in dib9000_mbx_send_attr()

dib9000_mbx_send_attr() returns an int. It doesn't work to save
negative error codes in an unsigned char, so I've made "ret" an int
type.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
b4d6046e841955be9cc49164b03b91c9524f9c2e 04-Jan-2011 Olivier Grenie <olivier.grenie@dibcom.fr> [media] DiBxxxx: Codingstype updates

This patchs fix several conding-style violations.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
dd316c6bacc2bdb22288507fd479bd2181eb7a7b 04-Jan-2011 Olivier Grenie <olivier.grenie@dibcom.fr> [media] DIB9000: initial support added

This patchs add initial support for the DiB9000-device. This
demodulator is firmware-driven.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>