[PATCH v2] staging: media: davinci_vpfe: add error handling on kmalloc failure
There is no failure checking on the param value which will be allocated memory by kmalloc. Add a null pointer checking statement. Then goto error: and return -ENOMEM error code when kmalloc is failed. Signed-off-by: Ji-Hun Kim --- Changes since v1: - Return with -ENOMEM directly, instead of goto error: then return. drivers/staging/media/davinci_vpfe/dm365_ipipe.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c index 6a3434c..ffcd86d 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c @@ -1280,6 +1280,9 @@ static int ipipe_s_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg) params = kmalloc(sizeof(struct ipipe_module_params), GFP_KERNEL); + if (!params) + return -ENOMEM; + to = (void *)params + module_if->param_offset; size = module_if->param_size; @@ -1323,6 +1326,9 @@ static int ipipe_g_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg) params = kmalloc(sizeof(struct ipipe_module_params), GFP_KERNEL); + if (!params) + return -ENOMEM; + from = (void *)params + module_if->param_offset; size = module_if->param_size; -- 1.9.1
RE: [PATCH v2 10/21] lightnvm: Remove depends on HAS_DMA in case of platform dependency
> -Original Message- > From: netdev-ow...@vger.kernel.org [mailto:netdev-ow...@vger.kernel.org] > On Behalf Of Geert Uytterhoeven > Sent: Friday, March 16, 2018 3:52 PM > To: Christoph Hellwig ; Marek Szyprowski > ; Robin Murphy ; > Felipe Balbi ; Greg Kroah-Hartman > ; James E . J . Bottomley > ; Martin K . Petersen > ; Andrew Morton foundation.org>; Mark Brown ; Liam Girdwood > ; Tejun Heo ; Herbert Xu > ; David S . Miller ; > Bartlomiej Zolnierkiewicz ; Stefan Richter > ; Alan Tull ; Moritz Fischer > ; Wolfram Sang ; Jonathan Cameron > ; Joerg Roedel ; Matias Bjorling > ; Jassi Brar ; Mauro Carvalho > Chehab ; Ulf Hansson ; David > Woodhouse ; Brian Norris > ; Marek Vasut ; > Cyrille Pitchen ; Boris Brezillon > ; Richard Weinberger ; > Kalle Valo ; Ohad Ben-Cohen ; > Bjorn Andersson ; Eric Anholt ; > Stefan Wahren > Cc: io...@lists.linux-foundation.org; linux-...@vger.kernel.org; linux- > s...@vger.kernel.org; alsa-de...@alsa-project.org; linux-...@vger.kernel.org; > linux-cry...@vger.kernel.org; linux-fb...@vger.kernel.org; linux1394- > de...@lists.sourceforge.net; linux-f...@vger.kernel.org; linux- > i...@vger.kernel.org; linux-...@vger.kernel.org; linux-bl...@vger.kernel.org; > linux-media@vger.kernel.org; linux-...@vger.kernel.org; linux- > m...@lists.infradead.org; net...@vger.kernel.org; linux- > remotep...@vger.kernel.org; linux-ser...@vger.kernel.org; linux- > s...@vger.kernel.org; de...@driverdev.osuosl.org; linux- > ker...@vger.kernel.org; Geert Uytterhoeven > Subject: [PATCH v2 10/21] lightnvm: Remove depends on HAS_DMA in case of > platform dependency > > Remove dependencies on HAS_DMA where a Kconfig symbol depends on > another > symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST". > In most cases this other symbol is an architecture or platform specific > symbol, or PCI. > > Generic symbols and drivers without platform dependencies keep their > dependencies on HAS_DMA, to prevent compiling subsystems or drivers that > cannot work anyway. > > This simplifies the dependencies, and allows to improve compile-testing. > > Notes: > - FSL_FMAN keeps its dependency on HAS_DMA, as it calls set_dma_ops(), > which does not exist if HAS_DMA=n (Do we need a dummy? The use of > set_dma_ops() in this driver is questionable), Hi, The set_dma_ops() is no longer required in the fsl/fman, I'll send a patch to remove it. Thanks > - SND_SOC_LPASS_IPQ806X and SND_SOC_LPASS_PLATFORM loose their > dependency on HAS_DMA, as they are selected from > SND_SOC_APQ8016_SBC. > > Signed-off-by: Geert Uytterhoeven > Reviewed-by: Mark Brown > Acked-by: Robin Murphy > --- > v2: > - Add Reviewed-by, Acked-by, > - Drop RFC state, > - Split per subsystem. > --- > drivers/lightnvm/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/lightnvm/Kconfig b/drivers/lightnvm/Kconfig > index 10c08982185a572f..9c03f35d9df113c6 100644 > --- a/drivers/lightnvm/Kconfig > +++ b/drivers/lightnvm/Kconfig > @@ -4,7 +4,7 @@ > > menuconfig NVM > bool "Open-Channel SSD target support" > - depends on BLOCK && HAS_DMA && PCI > + depends on BLOCK && PCI > select BLK_DEV_NVME > help > Say Y here to get to enable Open-channel SSDs. > -- > 2.7.4
cron job: media_tree daily build: WARNINGS
This message is generated daily by a cron job that builds media_tree for the kernels and architectures in the list below. Results of the daily build of media_tree: date: Mon Mar 19 05:00:10 CET 2018 media-tree git hash:e68854a2588a923b31eebce348f8020374843f8e media_build git hash: e95b7e6bfea396f9dfb1ff7d4d6b95ecacd53d3d v4l-utils git hash: 14ce03c18ef67aa7a3d5781f015be855fd43839c gcc version:i686-linux-gcc (GCC) 7.3.0 sparse version: v0.5.0-3994-g45eb2282 smatch version: v0.5.0-3994-g45eb2282 host hardware: x86_64 host os:4.14.0-3-amd64 linux-git-arm-at91: OK linux-git-arm-davinci: OK linux-git-arm-multi: WARNINGS linux-git-arm-pxa: OK linux-git-arm-stm32: OK linux-git-arm64: OK linux-git-blackfin-bf561: OK linux-git-i686: OK linux-git-m32r: OK linux-git-mips: OK linux-git-powerpc64: OK linux-git-sh: OK linux-git-x86_64: OK linux-2.6.36.4-i686: WARNINGS linux-2.6.36.4-x86_64: WARNINGS linux-2.6.37.6-i686: WARNINGS linux-2.6.37.6-x86_64: WARNINGS linux-2.6.38.8-i686: WARNINGS linux-2.6.38.8-x86_64: WARNINGS linux-2.6.39.4-i686: WARNINGS linux-2.6.39.4-x86_64: WARNINGS linux-3.0.60-i686: WARNINGS linux-3.0.60-x86_64: WARNINGS linux-3.1.10-i686: WARNINGS linux-3.1.10-x86_64: WARNINGS linux-3.2.98-i686: WARNINGS linux-3.2.98-x86_64: WARNINGS linux-3.3.8-i686: WARNINGS linux-3.3.8-x86_64: WARNINGS linux-3.4.27-i686: WARNINGS linux-3.4.27-x86_64: WARNINGS linux-3.5.7-i686: WARNINGS linux-3.5.7-x86_64: WARNINGS linux-3.6.11-i686: WARNINGS linux-3.6.11-x86_64: WARNINGS linux-3.7.4-i686: WARNINGS linux-3.7.4-x86_64: WARNINGS linux-3.8-i686: WARNINGS linux-3.8-x86_64: WARNINGS linux-3.9.2-i686: WARNINGS linux-3.9.2-x86_64: WARNINGS linux-3.10.1-i686: WARNINGS linux-3.10.1-x86_64: WARNINGS linux-3.11.1-i686: WARNINGS linux-3.11.1-x86_64: WARNINGS linux-3.12.67-i686: WARNINGS linux-3.12.67-x86_64: WARNINGS linux-3.13.11-i686: WARNINGS linux-3.13.11-x86_64: WARNINGS linux-3.14.9-i686: WARNINGS linux-3.14.9-x86_64: WARNINGS linux-3.15.2-i686: WARNINGS linux-3.15.2-x86_64: WARNINGS linux-3.16.53-i686: WARNINGS linux-3.16.53-x86_64: WARNINGS linux-3.17.8-i686: WARNINGS linux-3.17.8-x86_64: WARNINGS linux-3.18.93-i686: WARNINGS linux-3.18.93-x86_64: WARNINGS linux-3.19-i686: WARNINGS linux-3.19-x86_64: WARNINGS linux-4.0.9-i686: WARNINGS linux-4.0.9-x86_64: WARNINGS linux-4.1.49-i686: WARNINGS linux-4.1.49-x86_64: WARNINGS linux-4.2.8-i686: WARNINGS linux-4.2.8-x86_64: WARNINGS linux-4.3.6-i686: WARNINGS linux-4.3.6-x86_64: WARNINGS linux-4.4.115-i686: OK linux-4.4.115-x86_64: OK linux-4.5.7-i686: WARNINGS linux-4.5.7-x86_64: WARNINGS linux-4.6.7-i686: OK linux-4.6.7-x86_64: WARNINGS linux-4.7.5-i686: OK linux-4.7.5-x86_64: WARNINGS linux-4.8-i686: OK linux-4.8-x86_64: WARNINGS linux-4.9.80-i686: OK linux-4.9.80-x86_64: OK linux-4.10.14-i686: OK linux-4.10.14-x86_64: WARNINGS linux-4.11-i686: OK linux-4.11-x86_64: WARNINGS linux-4.12.1-i686: OK linux-4.12.1-x86_64: WARNINGS linux-4.13-i686: OK linux-4.13-x86_64: OK linux-4.14.17-i686: OK linux-4.14.17-x86_64: OK linux-4.15.2-i686: WARNINGS linux-4.15.2-x86_64: WARNINGS linux-4.16-rc1-i686: WARNINGS linux-4.16-rc1-x86_64: WARNINGS apps: WARNINGS spec-git: OK sparse: WARNINGS smatch: OK Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.tar.bz2 The Media Infrastructure API from this daily build is here: http://www.xs4all.nl/~hverkuil/spec/index.html
Re: Re: [PATCH] staging: media: davinci_vpfe: add error handling on kmalloc failure
On Fri, Mar 16, 2018 at 11:32:34AM +0300, Dan Carpenter wrote: > On Fri, Mar 16, 2018 at 01:58:23PM +0900, Ji-Hun Kim wrote: > > There is no failure checking on the param value which will be allocated > > memory by kmalloc. Add a null pointer checking statement. Then goto error: > > and return -ENOMEM error code when kmalloc is failed. > > > > Signed-off-by: Ji-Hun Kim > > --- > > drivers/staging/media/davinci_vpfe/dm365_ipipe.c | 8 > > 1 file changed, 8 insertions(+) > > > > diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c > > b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c > > index 6a3434c..55a922c 100644 > > --- a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c > > +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c > > @@ -1280,6 +1280,10 @@ static int ipipe_s_config(struct v4l2_subdev *sd, > > struct vpfe_ipipe_config *cfg) > > > > params = kmalloc(sizeof(struct ipipe_module_params), > > GFP_KERNEL); > > + if (!params) { > > + rval = -ENOMEM; > > + goto error; > ^^ > > What does "goto error" do, do you think? It's not clear from the name. > When you have an unclear goto like this it often means the error > handling is going to be buggy. > > In this case, it does nothing so a direct "return -ENOMEM;" would be > more clear. But the rest of the error handling is buggy. Hi Dan, I appreciate for your specific feedbacks. It looks more clear. And I'd like you to see my question below. I will send the patch v2. > > 1263 static int ipipe_s_config(struct v4l2_subdev *sd, struct > vpfe_ipipe_config *cfg) > 1264 { > 1265 struct vpfe_ipipe_device *ipipe = v4l2_get_subdevdata(sd); > 1266 unsigned int i; > 1267 int rval = 0; > 1268 > 1269 for (i = 0; i < ARRAY_SIZE(ipipe_modules); i++) { > 1270 unsigned int bit = 1 << i; > 1271 > 1272 if (cfg->flag & bit) { > 1273 const struct ipipe_module_if *module_if = > 1274 &ipipe_modules[i]; > 1275 struct ipipe_module_params *params; > 1276 void __user *from = *(void * __user *) > 1277 ((void *)cfg + > module_if->config_offset); > 1278 size_t size; > 1279 void *to; > 1280 > 1281 params = kmalloc(sizeof(struct > ipipe_module_params), > 1282 GFP_KERNEL); > > Do a direct return: > > if (!params) > return -ENOMEM; > > 1283 to = (void *)params + module_if->param_offset; > 1284 size = module_if->param_size; > 1285 > 1286 if (to && from && size) { > 1287 if (copy_from_user(to, from, size)) { > 1288 rval = -EFAULT; > 1289 break; > > The most recent thing we allocated is "params" so lets do a > "goto free_params;". We'll have to declare "params" at the start of the > function instead inside this block. > > 1290 } > 1291 rval = module_if->set(ipipe, to); > 1292 if (rval) > 1293 goto error; > > goto free_params again since params is still the most recent thing we > allocated. > > 1294 } else if (to && !from && size) { > 1295 rval = module_if->set(ipipe, NULL); > 1296 if (rval) > 1297 goto error; > > And here again goto free_params. > > 1298 } > 1299 kfree(params); > 1300 } > 1301 } > 1302 error: > 1303 return rval; > > > Change this to: > > return 0; Instead of returning rval, returning 0 would be fine? It looks that should return rval in normal case. > > free_params: > kfree(params); > return rval; > > 1304 } > > regards, > dan carpenter > > Thanks, Ji-Hun
Hi Pretty,
Hi Dear, my name is Jack and i am seeking for a relationship in which i will feel loved after a series of failed relationships. I am hoping that you would be interested and we could possibly get to know each other more if you do not mind. I am open to answering questions from you as i think my approach is a little inappropriate. Hope to hear back from you. Jack.
Re: [PATCH v2 10/21] lightnvm: Remove depends on HAS_DMA in case of platform dependency
On 03/16/2018 02:51 PM, Geert Uytterhoeven wrote: Remove dependencies on HAS_DMA where a Kconfig symbol depends on another symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST". In most cases this other symbol is an architecture or platform specific symbol, or PCI. Generic symbols and drivers without platform dependencies keep their dependencies on HAS_DMA, to prevent compiling subsystems or drivers that cannot work anyway. This simplifies the dependencies, and allows to improve compile-testing. Notes: - FSL_FMAN keeps its dependency on HAS_DMA, as it calls set_dma_ops(), which does not exist if HAS_DMA=n (Do we need a dummy? The use of set_dma_ops() in this driver is questionable), - SND_SOC_LPASS_IPQ806X and SND_SOC_LPASS_PLATFORM loose their dependency on HAS_DMA, as they are selected from SND_SOC_APQ8016_SBC. Signed-off-by: Geert Uytterhoeven Reviewed-by: Mark Brown Acked-by: Robin Murphy --- v2: - Add Reviewed-by, Acked-by, - Drop RFC state, - Split per subsystem. --- drivers/lightnvm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/lightnvm/Kconfig b/drivers/lightnvm/Kconfig index 10c08982185a572f..9c03f35d9df113c6 100644 --- a/drivers/lightnvm/Kconfig +++ b/drivers/lightnvm/Kconfig @@ -4,7 +4,7 @@ menuconfig NVM bool "Open-Channel SSD target support" - depends on BLOCK && HAS_DMA && PCI + depends on BLOCK && PCI select BLK_DEV_NVME help Say Y here to get to enable Open-channel SSDs. Looks good. Reviewed-by: Matias Bjørling
NICE TO MEET YOU,
Hi Dear, my name is Jack and i am seeking for a relationship in which i will feel loved after a series of failed relationships. I am hoping that you would be interested and we could possibly get to know each other more if you do not mind. I am open to answering questions from you as i think my approach is a little inappropriate. Hope to hear back from you. Jack.
[PATCH] media: dvb: add alternative USB PID for Hauppauge WinTV-soloHD
Newer DVB receivers of this type have a different USB PID. Signed-off-by: Rainer Keller --- drivers/media/usb/em28xx/em28xx-cards.c | 2 ++ include/media/dvb-usb-ids.h | 1 + 2 files changed, 3 insertions(+) diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c index 34e16f6ab4ac..adb0d6b2e8a3 100644 --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c @@ -2611,6 +2611,8 @@ struct usb_device_id em28xx_id_table[] = { .driver_info = EM28178_BOARD_PCTV_292E }, { USB_DEVICE(0x2040, 0x0264), /* Hauppauge WinTV-soloHD */ .driver_info = EM28178_BOARD_PCTV_292E }, + { USB_DEVICE(0x2040, 0x8268), /* Hauppauge WinTV-soloHD alt. PID */ + .driver_info = EM28178_BOARD_PCTV_292E }, { USB_DEVICE(0x0413, 0x6f07), .driver_info = EM2861_BOARD_LEADTEK_VC100 }, { USB_DEVICE(0xeb1a, 0x8179), diff --git a/include/media/dvb-usb-ids.h b/include/media/dvb-usb-ids.h index 28e2be5c8a98..f9e73b4a6e89 100644 --- a/include/media/dvb-usb-ids.h +++ b/include/media/dvb-usb-ids.h @@ -418,6 +418,7 @@ #define USB_PID_SVEON_STV27 0xd3af #define USB_PID_TURBOX_DTT_2000 0xd3a4 #define USB_PID_WINTV_SOLOHD0x0264 +#define USB_PID_WINTV_SOLOHD_2 0x8268 #define USB_PID_EVOLVEO_XTRATV_STICK 0xa115 #define USB_PID_HAMA_DVBT_HYBRID 0x2758 #define USB_PID_XBOX_ONE_TUNER 0x02d5 -- 2.16.1
Re: [PATCH 6/9] sunxi-cedrus: Add device tree binding document
On Fri, Mar 09, 2018 at 11:14:42AM +0100, Paul Kocialkowski wrote: > From: Florent Revest "device tree binding document" can all be summarized with the subject prefix "dt-bindings: media: ". Also, email should be updated to @bootlin.com? > > Device Tree bindings for the Allwinner's video engine > > Signed-off-by: Florent Revest > --- > .../devicetree/bindings/media/sunxi-cedrus.txt | 44 > ++ > 1 file changed, 44 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/sunxi-cedrus.txt > > diff --git a/Documentation/devicetree/bindings/media/sunxi-cedrus.txt > b/Documentation/devicetree/bindings/media/sunxi-cedrus.txt > new file mode 100644 > index ..138581113c49 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/sunxi-cedrus.txt > @@ -0,0 +1,44 @@ > +Device-Tree bindings for SUNXI video engine found in sunXi SoC family > + > +Required properties: > +- compatible : "allwinner,sun4i-a10-video-engine"; > +- memory-region : DMA pool for buffers allocation; Why do you need this linkage? Many drivers use CMA and don't need this. > +- clocks : list of clock specifiers, corresponding to > + entries in clock-names property; > +- clock-names: should contain "ahb", "mod" and "ram" entries; > +- resets : phandle for reset; > +- interrupts : should contain VE interrupt number; > +- reg: should contain register base and length of VE. > + > +Example: > + > +reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + ve_reserved: cma { > + compatible = "shared-dma-pool"; > + reg = <0x43d0 0x900>; > + no-map; > + linux,cma-default; > + }; > +}; > + > +video-engine { > + compatible = "allwinner,sun4i-a10-video-engine"; > + memory-region = <&ve_reserved>; > + > + clocks = <&ahb_gates 32>, <&ccu CLK_VE>, > + <&dram_gates 0>; > + clock-names = "ahb", "mod", "ram"; > + > + assigned-clocks = <&ccu CLK_VE>; > + assigned-clock-rates = <32000>; Not documented. > + > + resets = <&ccu RST_VE>; > + > + interrupts = <53>; > + > + reg = <0x01c0e000 4096>; > +}; > -- > 2.16.2 > > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Re: [PATCH] dt-bindings: media: rcar_vin: Use status "okay"
On Fri, Mar 09, 2018 at 10:34:40AM +0100, Geert Uytterhoeven wrote: > According to the Devicetree Specification, "ok" is not a valid status. Correct. > Fixes: 47c71bd61b772cd7 ("[media] rcar_vin: add devicetree support") > Signed-off-by: Geert Uytterhoeven > --- > For the checkpatch TODO list? > https://www.devicetree.org/ > > Documentation/devicetree/bindings/media/rcar_vin.txt | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt > b/Documentation/devicetree/bindings/media/rcar_vin.txt > index 68c5c497b7fa5551..a19517e1c669eb35 100644 > --- a/Documentation/devicetree/bindings/media/rcar_vin.txt > +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt > @@ -81,7 +81,7 @@ Board setup example for Gen2 platforms (vin1 composite > video input) > --- > > &i2c2 { > -status = "ok"; > +status = "okay"; However, I prefer that status not be in examples as it applies to any node and the SoC/board split is not relevant to binding docs. I'd cleaned all these up except for the cases with SoC/board split. > pinctrl-0 = <&i2c2_pins>; > pinctrl-names = "default"; > > @@ -104,7 +104,7 @@ Board setup example for Gen2 platforms (vin1 composite > video input) > pinctrl-0 = <&vin1_pins>; > pinctrl-names = "default"; > > -status = "ok"; > +status = "okay"; > > port { > #address-cells = <1>; > -- > 2.7.4 >
[GIT PULL FOR v4.17] RC meson-ir and mceusb fixes
Hi Mauro, Just two fixes for meson-ir timeout handling, and teaching mceusb how to do learning mode. Thanks, Sean The following changes since commit 3f127ce11353fd1071cae9b65bc13add6aec6b90: media: em28xx-cards: fix em28xx_duplicate_dev() (2018-03-08 06:06:51 -0500) are available in the Git repository at: git://linuxtv.org/syoung/media_tree.git for-v4.17d for you to fetch changes up to fe0ed203181e0cd62d1340bc1165e76534c4dddc: media: rc: mceusb: pid 0x0609 vid 0x031d does not under report carrier cycles (2018-03-18 10:48:49 +) A Sun (1): media: mceusb: add IR learning support features (IR carrier frequency measurement and wide-band/short-range receiver) Sean Young (3): media: rc: meson-ir: add timeout on idle media: rc: meson-ir: lower timeout and make configurable media: rc: mceusb: pid 0x0609 vid 0x031d does not under report carrier cycles drivers/media/rc/mceusb.c| 160 +++ drivers/media/rc/meson-ir.c | 7 +- drivers/media/rc/rc-ir-raw.c | 30 +++- include/media/rc-core.h | 4 +- 4 files changed, 181 insertions(+), 20 deletions(-)
[PATCH] media: rc: mceusb: pid 0x0609 vid 0x031d does not under report carrier cycles
This mceusb does not need the carrier count quirk, with it set it reports the carrier higher than it is. Signed-off-by: Sean Young --- drivers/media/rc/mceusb.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c index f8c23d577493..69ba57372c05 100644 --- a/drivers/media/rc/mceusb.c +++ b/drivers/media/rc/mceusb.c @@ -182,6 +182,7 @@ enum mceusb_model_type { MCE_GEN1, MCE_GEN3, MCE_GEN2_TX_INV, + MCE_GEN2_TX_INV_RX_GOOD, POLARIS_EVK, CX_HYBRID_TV, MULTIFUNCTION, @@ -231,6 +232,11 @@ static const struct mceusb_model mceusb_model[] = { .tx_mask_normal = 1, .rx2 = 1, }, + [MCE_GEN2_TX_INV_RX_GOOD] = { + .mce_gen2 = 1, + .tx_mask_normal = 1, + .rx2 = 2, + }, [MCE_GEN3] = { .mce_gen3 = 1, .tx_mask_normal = 1, @@ -304,7 +310,7 @@ static const struct usb_device_id mceusb_dev_table[] = { .driver_info = MULTIFUNCTION }, /* SMK/Toshiba G83C0004D410 */ { USB_DEVICE(VENDOR_SMK, 0x031d), - .driver_info = MCE_GEN2_TX_INV }, + .driver_info = MCE_GEN2_TX_INV_RX_GOOD }, /* SMK eHome Infrared Transceiver (Sony VAIO) */ { USB_DEVICE(VENDOR_SMK, 0x0322), .driver_info = MCE_GEN2_TX_INV }, -- 2.14.3