aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/dvb-usb/dw2102.c
Commit message (Collapse)AuthorAge
* dw2102: limit messages to buffer sizeAlyssa Milburn2017-05-25
| | | | | | | | | | | | commit 950e252cb469f323740d78e4907843acef89eedb upstream. Otherwise the i2c transfer functions can read or write beyond the end of stack or heap buffers. Signed-off-by: Alyssa Milburn <amilburn@zall.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* dw2102: don't do DMA on stackJonathan McDowell2017-03-18
| | | | | | | | | | | | | | | | | | | | | | | | commit 606142af57dad981b78707234cfbd15f9f7b7125 upstream. On Kernel 4.9, WARNINGs about doing DMA on stack are hit at the dw2102 driver: one in su3000_power_ctrl() and the other in tt_s2_4600_frontend_attach(). Both were due to the use of buffers on the stack as parameters to dvb_usb_generic_rw() and the resulting attempt to do DMA with them. The device was non-functional as a result. So, switch this driver over to use a buffer within the device state structure, as has been done with other DVB-USB drivers. Tested with TechnoTrend TT-connect S2-4600. [mchehab@osg.samsung.com: fixed a warning at su3000_i2c_transfer() that state var were dereferenced before check 'd'] Signed-off-by: Jonathan McDowell <noodles@earth.li> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* [media] dw2102: return error if su3000_power_ctrl() failsMauro Carvalho Chehab2016-10-14
| | | | | | Instead of silently ignoring the error, return it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
* [media] dw2102: add USB ID for Terratec Cinergy S2 Rev.3Olli Salonen2016-07-13
| | | | | | | | | | Add the USB ID for Terratec Cinergy S2 Rev.3 (0ccd:0102). Curiously dvb-usb-ids included already the USB ID for TERRATEC_CINERGY_S2_R3 even if the device was not supported. Reported-by: Christian Knippel <namerp@googlemail.com> Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
* [media] Remove spurious blank lines in dw2101 kernel messagesJonathan McDowell2016-07-13
| | | | | | | | | | The DW2102 DVB-S/S2 driver uses the info() logging function from dvb-usb.h. This function already appends a newline to the provided log message, causing the dmesg output from DW2102 to include blank lines. Fix this by removing the newline in the calls to info(). Signed-off-by: Jonathan McDowell <noodles@earth.li> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
* [media] dw2102: move USB IDs to dvb-usb-ids.hMauro Carvalho Chehab2016-05-06
| | | | | | | | | | Right now, dw2102 assumes that the USB IDs will be either at an external header or defined internally. That doesn't sound right. So, let's move the definitions to just one place. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: fix unreleased firmwareSudip Mukherjee2016-04-13
| | | | | | | | | On the particular case when the product id is 0x2101 we have requested for a firmware but after processing it we missed releasing it. Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: add support for TeVii S662Olli Salonen2016-03-03
| | | | | | | | TeVii S662 is a USB 2.0 DVB-S2 tuner that's identical to TechnoTrend S2-4600 tuner. Add the USB ID to dw2102 driver. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: ts2020 included twiceOlli Salonen2016-03-03
| | | | | | | ts2020.h was already included a few lines earlier. Remove the unnecessary entry. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: convert TechnoTrend S2-4600 to use I2C binding for demodOlli Salonen2016-03-03
| | | | | | | | Convert the TT S2-4600 USB tuner to use the I2C binding for attaching the demodulator instead of the old m88ds3103_attach method. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: Add support for Terratec Cinergy S2 USB BOXPhilipp Zabel2016-02-01
| | | | | | | | | The Terratec Cinergy S2 USB BOX uses a Montage M88TS2022 tuner and a M88DS3103 demodulator, same as Technotrend TT-connect S2-4600. This patch adds the missing USB Product ID to make it work. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: use the new USB ID Terratec Cinergy S2 macrosMauro Carvalho Chehab2016-01-25
| | | | | | | Now that this was defined at usb-id.h, update the values for USB_PID_TERRATEC_CINERGY_S2_R1 and USB_PID_TERRATEC_CINERGY_S2_R2. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dvb: Get rid of typedev usage for enumsMauro Carvalho Chehab2015-06-09
| | | | | | | | | | | | | | | | | The DVB API was originally defined using typedefs. This is against Kernel CodingStyle, and there's no good usage here. While we can't remove its usage on userspace, we can avoid its usage in Kernelspace. So, let's do it. This patch was generated by this shell script: for j in $(grep typedef include/uapi/linux/dvb/frontend.h |cut -d' ' -f 3); do for i in $(find drivers/media -name '*.[ch]' -type f) $(find drivers/staging/media -name '*.[ch]' -type f); do sed "s,${j}_t,enum $j," <$i >a && mv a $i; done; done While here, make CodingStyle fixes on the affected lines. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> # for drivers/media/firewire/*
* [media] dw2102: resync fifo when demod locksOlli Salonen2015-05-13
| | | | | | | | | | If the streaming_ctrl is called to enable TS before demod has locked the TS will be empty. Copied the solution from the dvbsky driver for the TechnoTrend S2-4600 device: when the state changes from unlock to lock, call su3000_streaming_ctrl again. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: remove unnecessary printing of MAC addressOlli Salonen2015-05-13
| | | | | | | | | | | | | | | | | | | | | | While reading the MAC address for SU3000-based devices the system was printing excessive debug information in the logs: Output before the patch: [ 1515.780692] bc 00 00 00 00 00 [ 1515.781440] bc ea 00 00 00 00 [ 1515.782251] bc ea 2b 00 00 00 [ 1515.783094] bc ea 2b 46 00 00 [ 1515.783816] bc ea 2b 46 12 00 [ 1515.784565] bc ea 2b 46 12 92 [ 1515.784571] dvb-usb: MAC address: bc:ea:2b:46:12:92 Output after the patch: [ 3803.495706] dvb-usb: MAC address: bc:ea:2b:46:12:92 Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: TeVii S482 supportOlli Salonen2015-05-12
| | | | | | | | | | | | | | | | | | TeVii S482 is a PCIe device with two tuners that actually contains two USB devices. The devices are visible in the lsusb printout. Bus 006 Device 002: ID 9022:d483 TeVii Technology Ltd. Bus 007 Device 002: ID 9022:d484 TeVii Technology Ltd. The device itself works exactly with the same settings as TechnoTrend TT-connect S2-4600. Firmware for DS3103 demodulator is required: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/ This patch should be applied on top of the TT S2-4600 patch: https://patchwork.linuxtv.org/patch/28818/ Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: fix bad indentingMauro Carvalho Chehab2015-05-01
| | | | | | drivers/media/usb/dvb-usb/dw2102.c:440 dw2104_i2c_transfer() warn: inconsistent indenting Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: switch ts2022 to ts2020 driverAntti Palosaari2015-04-02
| | | | | | | | | | | | Change ts2022 driver to ts2020 driver. ts2020 driver supports both tuner chip models. That affects TechnoTrend TT-connect S2-4600 DVB-S/S2 device, which Olli just added. Cc: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: TechnoTrend TT-connect S2-4600 DVB-S/S2 tunerOlli Salonen2015-04-02
| | | | | | | | | | | | | TechnoTrend TT-connect S2-4600 is a USB2.0 DVB-S/S2 tuner using the popular Montage M88DS3103/M88TS2022 demod/tuner. The demodulator needs a firmware. Antti posted a firmware when releasing support for PCTV 461e, available here: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/ Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: store i2c client for tuner into dw2102_stateOlli Salonen2015-04-02
| | | | | | | | | | Prepare the dw2102 driver for tuner drivers that are implemented as I2C drivers (such as m88ts2022). The I2C client is stored in to the state and released at disconnect. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: combine su3000_state and s6x0_state into dw2102_stateOlli Salonen2015-04-02
| | | | | | | | | | | Two separate state structs are defined for different devices inside the dw2102. Combine them, as both only contain one element. This will also make it easier to further cleanup the driver. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dw2102: fix sparse warningsHans Verkuil2014-09-03
| | | | | | | | | | | | | | | | | | drivers/media/usb/dvb-usb/dw2102.c:670:65: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1601:32: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1904:34: warning: symbol 'p1100' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1911:34: warning: symbol 's660' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1930:34: warning: symbol 'p7500' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1937:34: warning: symbol 's421' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] rc-core: document the protocol typeDavid Härdeman2014-07-23
| | | | | | | | | | | | | | | Right now the protocol information is not preserved, rc-core gets handed a scancode but has no idea which protocol it corresponds to. This patch (which required reading through the source/keymap for all drivers, not fun) makes the protocol information explicit which is important documentation and makes it easier to e.g. support multiple protocols with one decoder (think rc5 and rc-streamzap). The information isn't used yet so there should be no functional changes. [m.chehab@samsung.com: rebased, added cxusb and removed bad whitespacing] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] dw2102: Geniatech T220 init fixedCrazyCat2014-07-22
| | | | | | | Geniatech T220 init fixed - reset cmd from windows driver and fixed TS bus config for cxd2820r. Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] dw2102: some missing unlocks on errorDan Carpenter2013-12-10
| | | | | | | | We recently introduced some new error paths but the unlocks are missing. Fixes: 0065a79a8698 ('[media] dw2102: Don't use dynamic static allocation') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] dw2102: Use RC Core instead of the legacy RC (second edition)Evgeny Plehov2013-12-10
| | | | | | | | | | Use RC Core instead of the legacy RC. DVBWorld, TBS, TeVii, Prof hardware decode only NEC remotes (one byte code). Geniatech hardware decode only RC5 (two bytes). + New keymap for Geniatech HDStar (SU3000). Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] dw2102: Geniatech T220 supportEvgeny Plehov2013-12-10
| | | | | | | Support for Geniatech T220 DVB-T/T2/C USB stick. Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] dw2102: Don't use dynamic static allocationMauro Carvalho Chehab2013-11-08
| | | | | | | | | | | | | | | Dynamic static allocation is evil, as Kernel stack is too low, and compilation complains about it on some archs: drivers/media/usb/dvb-usb/dw2102.c:368:1: warning: 'dw2102_earda_i2c_transfer' uses dynamic stack allocation [enabled by default] drivers/media/usb/dvb-usb/dw2102.c:449:1: warning: 'dw2104_i2c_transfer' uses dynamic stack allocation [enabled by default] drivers/media/usb/dvb-usb/dw2102.c:512:1: warning: 'dw3101_i2c_transfer' uses dynamic stack allocation [enabled by default] drivers/media/usb/dvb-usb/dw2102.c:621:1: warning: 's6x0_i2c_transfer' uses dynamic stack allocation [enabled by default] Instead, let's enforce a limit for the buffer to be the max size of a control URB payload data (64 bytes). Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] media: dvb-frontends: ts2020: Added in a option for frequency ↵John Horan2013-10-02
| | | | | | | | | | | | | divider value for s600 devices When the tuner part of the ds3000 driver was split to share code with the m88rs2000 driver, the ts2020 driver used the frequency divider value from the m88rs2000 driver. However the ds3000 driver requires a different value, and this resulted in some frequecies being invisible to the tuner. This patch adds back in the value needed for the ds3000 driver and configured as an option in the dw2102 frontend driver. It may also apply to su3000 devices, which use the same ds3000 driver, but for now it is only applied to the s660 device. Signed-off-by: John Horan <knasher@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] dvb-usb/dw2102: Remove duplicate inclusion of ts2020.hSachin Kamat2013-03-23
| | | | | | | ts2020.h was included twice. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] [1/1,dvb-usb] GOTVIEW SatelliteHD card supportAndrey Pavlenko2013-03-19
| | | | | | | | Added support for the GOTVIEW SatelliteHD card which is based on Montage M88DS3000 and works very well with this driver. Signed-off-by: Andrey Pavlenko <andrey.a.pavlenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] media: Terratec Cinergy S2 USB HD Rev.2Igor M. Liplianin2013-03-14
| | | | | | | | | | Terratec Cinergy S2 USB HD Rev.2 support. This commit is a corrected cherry-pick of 03228792 which got reverted in b7e38636 because it was rebased incorrectly and introduced compilation errors. Signed-off-by: Stephan Hilb <stephan@ecshi.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] m88rs2000: make use ts2020Igor M. Liplianin2012-12-28
| | | | | | | | | | Tuner part of Montage rs2000 chip is similar to ts2020 tuner. Patch to use ts2020 code. [mchehab@redhat.com: a few CodingStyle fixes] Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] ds3000: lock led procedure addedIgor M. Liplianin2012-12-28
| | | | | | | | TeVii s660 and others have LED for lock indication. Let's use it in right order. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] TeVii DVB-S s421 and s632 cards supportIgor M. Liplianin2012-12-27
| | | | | | | DVB-S chip is Montage m88rs2000, so initial patch is simple. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] make the other drivers take use of the new ts2020 driverKonstantin Dimitrov2012-12-27
| | | | | | | make the other drivers take use of the separate ts2020 driver Signed-off-by: Konstantin Dimitrov <kosio.dimitrov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dw2102: Declare MODULE_FIRMWARE usageRémi Cardona2012-12-04
| | | | | | Signed-off-by: Rémi Cardona <remi.cardona@smartjog.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb-usb: move it to drivers/media/usb/dvb-usbMauro Carvalho Chehab2012-08-13
As media/dvb will be removed, move it to a proper place. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>