aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-04 19:06:02 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-04 19:06:02 -0500
commitebea76f5b95caddb59f49a3e288da26358e6ab1f (patch)
treedffb2b1e13825e5a32f925c29b985460066394a2
parentd0747f10ed5fec3d1f40c4b350dc9673011fc8e2 (diff)
parentd2a74581390d8e5ed09b12c9d4736847d918dfa6 (diff)
Merge tag 'media/v3.18-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media fixes from Mauro Carvalho Chehab: "A core fix and some driver fixes: - regression fix in Remote Controller core affecting RC6 protocol handling - fix video buffer handling in cx23885 - race fix in solo6x10 - fix image selection in smiapp - fix reported payload size on s2255drv - two updates for MAINTAINERS file" * tag 'media/v3.18-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] rc-core: fix toggle handling in the rc6 decoder MAINTAINERS: Update mchehab's addresses [media] cx23885: use sg = sg_next(sg) instead of sg++ [media] s2255drv: fix payload size for JPG, MJPEG [media] Update MAINTAINERS for solo6x10 [media] solo6x10: fix a race in IRQ handler [media] smiapp: Only some selection targets are settable
-rw-r--r--MAINTAINERS38
-rw-r--r--drivers/media/i2c/smiapp/smiapp-core.c2
-rw-r--r--drivers/media/pci/cx23885/cx23885-core.c6
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-core.c10
-rw-r--r--drivers/media/rc/ir-rc6-decoder.c2
-rw-r--r--drivers/media/usb/s2255/s2255drv.c2
6 files changed, 28 insertions, 32 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 0ff630de8a6d..c721042e7e45 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1828,7 +1828,7 @@ F: include/net/ax25.h
1828F: net/ax25/ 1828F: net/ax25/
1829 1829
1830AZ6007 DVB DRIVER 1830AZ6007 DVB DRIVER
1831M: Mauro Carvalho Chehab <m.chehab@samsung.com> 1831M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
1832L: linux-media@vger.kernel.org 1832L: linux-media@vger.kernel.org
1833W: http://linuxtv.org 1833W: http://linuxtv.org
1834T: git git://linuxtv.org/media_tree.git 1834T: git git://linuxtv.org/media_tree.git
@@ -2198,7 +2198,7 @@ F: Documentation/filesystems/btrfs.txt
2198F: fs/btrfs/ 2198F: fs/btrfs/
2199 2199
2200BTTV VIDEO4LINUX DRIVER 2200BTTV VIDEO4LINUX DRIVER
2201M: Mauro Carvalho Chehab <m.chehab@samsung.com> 2201M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2202L: linux-media@vger.kernel.org 2202L: linux-media@vger.kernel.org
2203W: http://linuxtv.org 2203W: http://linuxtv.org
2204T: git git://linuxtv.org/media_tree.git 2204T: git git://linuxtv.org/media_tree.git
@@ -2719,7 +2719,7 @@ F: drivers/media/common/cx2341x*
2719F: include/media/cx2341x* 2719F: include/media/cx2341x*
2720 2720
2721CX88 VIDEO4LINUX DRIVER 2721CX88 VIDEO4LINUX DRIVER
2722M: Mauro Carvalho Chehab <m.chehab@samsung.com> 2722M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2723L: linux-media@vger.kernel.org 2723L: linux-media@vger.kernel.org
2724W: http://linuxtv.org 2724W: http://linuxtv.org
2725T: git git://linuxtv.org/media_tree.git 2725T: git git://linuxtv.org/media_tree.git
@@ -3402,7 +3402,7 @@ F: fs/ecryptfs/
3402EDAC-CORE 3402EDAC-CORE
3403M: Doug Thompson <dougthompson@xmission.com> 3403M: Doug Thompson <dougthompson@xmission.com>
3404M: Borislav Petkov <bp@alien8.de> 3404M: Borislav Petkov <bp@alien8.de>
3405M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3405M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3406L: linux-edac@vger.kernel.org 3406L: linux-edac@vger.kernel.org
3407W: bluesmoke.sourceforge.net 3407W: bluesmoke.sourceforge.net
3408S: Supported 3408S: Supported
@@ -3451,7 +3451,7 @@ S: Maintained
3451F: drivers/edac/e7xxx_edac.c 3451F: drivers/edac/e7xxx_edac.c
3452 3452
3453EDAC-GHES 3453EDAC-GHES
3454M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3454M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3455L: linux-edac@vger.kernel.org 3455L: linux-edac@vger.kernel.org
3456W: bluesmoke.sourceforge.net 3456W: bluesmoke.sourceforge.net
3457S: Maintained 3457S: Maintained
@@ -3479,21 +3479,21 @@ S: Maintained
3479F: drivers/edac/i5000_edac.c 3479F: drivers/edac/i5000_edac.c
3480 3480
3481EDAC-I5400 3481EDAC-I5400
3482M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3482M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3483L: linux-edac@vger.kernel.org 3483L: linux-edac@vger.kernel.org
3484W: bluesmoke.sourceforge.net 3484W: bluesmoke.sourceforge.net
3485S: Maintained 3485S: Maintained
3486F: drivers/edac/i5400_edac.c 3486F: drivers/edac/i5400_edac.c
3487 3487
3488EDAC-I7300 3488EDAC-I7300
3489M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3489M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3490L: linux-edac@vger.kernel.org 3490L: linux-edac@vger.kernel.org
3491W: bluesmoke.sourceforge.net 3491W: bluesmoke.sourceforge.net
3492S: Maintained 3492S: Maintained
3493F: drivers/edac/i7300_edac.c 3493F: drivers/edac/i7300_edac.c
3494 3494
3495EDAC-I7CORE 3495EDAC-I7CORE
3496M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3496M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3497L: linux-edac@vger.kernel.org 3497L: linux-edac@vger.kernel.org
3498W: bluesmoke.sourceforge.net 3498W: bluesmoke.sourceforge.net
3499S: Maintained 3499S: Maintained
@@ -3536,7 +3536,7 @@ S: Maintained
3536F: drivers/edac/r82600_edac.c 3536F: drivers/edac/r82600_edac.c
3537 3537
3538EDAC-SBRIDGE 3538EDAC-SBRIDGE
3539M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3539M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3540L: linux-edac@vger.kernel.org 3540L: linux-edac@vger.kernel.org
3541W: bluesmoke.sourceforge.net 3541W: bluesmoke.sourceforge.net
3542S: Maintained 3542S: Maintained
@@ -3596,7 +3596,7 @@ S: Maintained
3596F: drivers/net/ethernet/ibm/ehea/ 3596F: drivers/net/ethernet/ibm/ehea/
3597 3597
3598EM28XX VIDEO4LINUX DRIVER 3598EM28XX VIDEO4LINUX DRIVER
3599M: Mauro Carvalho Chehab <m.chehab@samsung.com> 3599M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3600L: linux-media@vger.kernel.org 3600L: linux-media@vger.kernel.org
3601W: http://linuxtv.org 3601W: http://linuxtv.org
3602T: git git://linuxtv.org/media_tree.git 3602T: git git://linuxtv.org/media_tree.git
@@ -5962,7 +5962,7 @@ S: Maintained
5962F: drivers/media/radio/radio-maxiradio* 5962F: drivers/media/radio/radio-maxiradio*
5963 5963
5964MEDIA INPUT INFRASTRUCTURE (V4L/DVB) 5964MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
5965M: Mauro Carvalho Chehab <m.chehab@samsung.com> 5965M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
5966P: LinuxTV.org Project 5966P: LinuxTV.org Project
5967L: linux-media@vger.kernel.org 5967L: linux-media@vger.kernel.org
5968W: http://linuxtv.org 5968W: http://linuxtv.org
@@ -8013,7 +8013,7 @@ S: Odd Fixes
8013F: drivers/media/i2c/saa6588* 8013F: drivers/media/i2c/saa6588*
8014 8014
8015SAA7134 VIDEO4LINUX DRIVER 8015SAA7134 VIDEO4LINUX DRIVER
8016M: Mauro Carvalho Chehab <m.chehab@samsung.com> 8016M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
8017L: linux-media@vger.kernel.org 8017L: linux-media@vger.kernel.org
8018W: http://linuxtv.org 8018W: http://linuxtv.org
8019T: git git://linuxtv.org/media_tree.git 8019T: git git://linuxtv.org/media_tree.git
@@ -8471,7 +8471,7 @@ S: Maintained
8471F: drivers/media/radio/si4713/radio-usb-si4713.c 8471F: drivers/media/radio/si4713/radio-usb-si4713.c
8472 8472
8473SIANO DVB DRIVER 8473SIANO DVB DRIVER
8474M: Mauro Carvalho Chehab <m.chehab@samsung.com> 8474M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
8475L: linux-media@vger.kernel.org 8475L: linux-media@vger.kernel.org
8476W: http://linuxtv.org 8476W: http://linuxtv.org
8477T: git git://linuxtv.org/media_tree.git 8477T: git git://linuxtv.org/media_tree.git
@@ -8682,7 +8682,9 @@ S: Maintained
8682F: drivers/leds/leds-net48xx.c 8682F: drivers/leds/leds-net48xx.c
8683 8683
8684SOFTLOGIC 6x10 MPEG CODEC 8684SOFTLOGIC 6x10 MPEG CODEC
8685M: Ismael Luceno <ismael.luceno@corp.bluecherry.net> 8685M: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
8686M: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
8687M: Andrey Utkin <andrey.krieger.utkin@gmail.com>
8686L: linux-media@vger.kernel.org 8688L: linux-media@vger.kernel.org
8687S: Supported 8689S: Supported
8688F: drivers/media/pci/solo6x10/ 8690F: drivers/media/pci/solo6x10/
@@ -9156,7 +9158,7 @@ S: Maintained
9156F: drivers/media/i2c/tda9840* 9158F: drivers/media/i2c/tda9840*
9157 9159
9158TEA5761 TUNER DRIVER 9160TEA5761 TUNER DRIVER
9159M: Mauro Carvalho Chehab <m.chehab@samsung.com> 9161M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
9160L: linux-media@vger.kernel.org 9162L: linux-media@vger.kernel.org
9161W: http://linuxtv.org 9163W: http://linuxtv.org
9162T: git git://linuxtv.org/media_tree.git 9164T: git git://linuxtv.org/media_tree.git
@@ -9164,7 +9166,7 @@ S: Odd fixes
9164F: drivers/media/tuners/tea5761.* 9166F: drivers/media/tuners/tea5761.*
9165 9167
9166TEA5767 TUNER DRIVER 9168TEA5767 TUNER DRIVER
9167M: Mauro Carvalho Chehab <m.chehab@samsung.com> 9169M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
9168L: linux-media@vger.kernel.org 9170L: linux-media@vger.kernel.org
9169W: http://linuxtv.org 9171W: http://linuxtv.org
9170T: git git://linuxtv.org/media_tree.git 9172T: git git://linuxtv.org/media_tree.git
@@ -9476,7 +9478,7 @@ F: include/linux/shmem_fs.h
9476F: mm/shmem.c 9478F: mm/shmem.c
9477 9479
9478TM6000 VIDEO4LINUX DRIVER 9480TM6000 VIDEO4LINUX DRIVER
9479M: Mauro Carvalho Chehab <m.chehab@samsung.com> 9481M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
9480L: linux-media@vger.kernel.org 9482L: linux-media@vger.kernel.org
9481W: http://linuxtv.org 9483W: http://linuxtv.org
9482T: git git://linuxtv.org/media_tree.git 9484T: git git://linuxtv.org/media_tree.git
@@ -10297,7 +10299,7 @@ S: Maintained
10297F: arch/x86/kernel/cpu/mcheck/* 10299F: arch/x86/kernel/cpu/mcheck/*
10298 10300
10299XC2028/3028 TUNER DRIVER 10301XC2028/3028 TUNER DRIVER
10300M: Mauro Carvalho Chehab <m.chehab@samsung.com> 10302M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
10301L: linux-media@vger.kernel.org 10303L: linux-media@vger.kernel.org
10302W: http://linuxtv.org 10304W: http://linuxtv.org
10303T: git git://linuxtv.org/media_tree.git 10305T: git git://linuxtv.org/media_tree.git
diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index 932ed9be9ff3..b10aaeda2bb4 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -2190,7 +2190,7 @@ static int smiapp_set_selection(struct v4l2_subdev *subdev,
2190 ret = smiapp_set_compose(subdev, fh, sel); 2190 ret = smiapp_set_compose(subdev, fh, sel);
2191 break; 2191 break;
2192 default: 2192 default:
2193 BUG(); 2193 ret = -EINVAL;
2194 } 2194 }
2195 2195
2196 mutex_unlock(&sensor->mutex); 2196 mutex_unlock(&sensor->mutex);
diff --git a/drivers/media/pci/cx23885/cx23885-core.c b/drivers/media/pci/cx23885/cx23885-core.c
index 331eddac7222..3bd386c371f7 100644
--- a/drivers/media/pci/cx23885/cx23885-core.c
+++ b/drivers/media/pci/cx23885/cx23885-core.c
@@ -1078,7 +1078,7 @@ static __le32 *cx23885_risc_field(__le32 *rp, struct scatterlist *sglist,
1078 for (line = 0; line < lines; line++) { 1078 for (line = 0; line < lines; line++) {
1079 while (offset && offset >= sg_dma_len(sg)) { 1079 while (offset && offset >= sg_dma_len(sg)) {
1080 offset -= sg_dma_len(sg); 1080 offset -= sg_dma_len(sg);
1081 sg++; 1081 sg = sg_next(sg);
1082 } 1082 }
1083 1083
1084 if (lpi && line > 0 && !(line % lpi)) 1084 if (lpi && line > 0 && !(line % lpi))
@@ -1101,14 +1101,14 @@ static __le32 *cx23885_risc_field(__le32 *rp, struct scatterlist *sglist,
1101 *(rp++) = cpu_to_le32(0); /* bits 63-32 */ 1101 *(rp++) = cpu_to_le32(0); /* bits 63-32 */
1102 todo -= (sg_dma_len(sg)-offset); 1102 todo -= (sg_dma_len(sg)-offset);
1103 offset = 0; 1103 offset = 0;
1104 sg++; 1104 sg = sg_next(sg);
1105 while (todo > sg_dma_len(sg)) { 1105 while (todo > sg_dma_len(sg)) {
1106 *(rp++) = cpu_to_le32(RISC_WRITE| 1106 *(rp++) = cpu_to_le32(RISC_WRITE|
1107 sg_dma_len(sg)); 1107 sg_dma_len(sg));
1108 *(rp++) = cpu_to_le32(sg_dma_address(sg)); 1108 *(rp++) = cpu_to_le32(sg_dma_address(sg));
1109 *(rp++) = cpu_to_le32(0); /* bits 63-32 */ 1109 *(rp++) = cpu_to_le32(0); /* bits 63-32 */
1110 todo -= sg_dma_len(sg); 1110 todo -= sg_dma_len(sg);
1111 sg++; 1111 sg = sg_next(sg);
1112 } 1112 }
1113 *(rp++) = cpu_to_le32(RISC_WRITE|RISC_EOL|todo); 1113 *(rp++) = cpu_to_le32(RISC_WRITE|RISC_EOL|todo);
1114 *(rp++) = cpu_to_le32(sg_dma_address(sg)); 1114 *(rp++) = cpu_to_le32(sg_dma_address(sg));
diff --git a/drivers/media/pci/solo6x10/solo6x10-core.c b/drivers/media/pci/solo6x10/solo6x10-core.c
index 172583d736fe..8cbe6b49f4c2 100644
--- a/drivers/media/pci/solo6x10/solo6x10-core.c
+++ b/drivers/media/pci/solo6x10/solo6x10-core.c
@@ -105,11 +105,8 @@ static irqreturn_t solo_isr(int irq, void *data)
105 if (!status) 105 if (!status)
106 return IRQ_NONE; 106 return IRQ_NONE;
107 107
108 if (status & ~solo_dev->irq_mask) { 108 /* Acknowledge all interrupts immediately */
109 solo_reg_write(solo_dev, SOLO_IRQ_STAT, 109 solo_reg_write(solo_dev, SOLO_IRQ_STAT, status);
110 status & ~solo_dev->irq_mask);
111 status &= solo_dev->irq_mask;
112 }
113 110
114 if (status & SOLO_IRQ_PCI_ERR) 111 if (status & SOLO_IRQ_PCI_ERR)
115 solo_p2m_error_isr(solo_dev); 112 solo_p2m_error_isr(solo_dev);
@@ -132,9 +129,6 @@ static irqreturn_t solo_isr(int irq, void *data)
132 if (status & SOLO_IRQ_G723) 129 if (status & SOLO_IRQ_G723)
133 solo_g723_isr(solo_dev); 130 solo_g723_isr(solo_dev);
134 131
135 /* Clear all interrupts handled */
136 solo_reg_write(solo_dev, SOLO_IRQ_STAT, status);
137
138 return IRQ_HANDLED; 132 return IRQ_HANDLED;
139} 133}
140 134
diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c
index f1f098e22f7e..d16bc67af732 100644
--- a/drivers/media/rc/ir-rc6-decoder.c
+++ b/drivers/media/rc/ir-rc6-decoder.c
@@ -259,8 +259,8 @@ again:
259 case 32: 259 case 32:
260 if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) { 260 if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) {
261 protocol = RC_TYPE_RC6_MCE; 261 protocol = RC_TYPE_RC6_MCE;
262 scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
263 toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK); 262 toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK);
263 scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
264 } else { 264 } else {
265 protocol = RC_BIT_RC6_6A_32; 265 protocol = RC_BIT_RC6_6A_32;
266 toggle = 0; 266 toggle = 0;
diff --git a/drivers/media/usb/s2255/s2255drv.c b/drivers/media/usb/s2255/s2255drv.c
index ccc00099b261..1c0dbf428a3a 100644
--- a/drivers/media/usb/s2255/s2255drv.c
+++ b/drivers/media/usb/s2255/s2255drv.c
@@ -632,7 +632,7 @@ static void s2255_fillbuff(struct s2255_vc *vc,
632 break; 632 break;
633 case V4L2_PIX_FMT_JPEG: 633 case V4L2_PIX_FMT_JPEG:
634 case V4L2_PIX_FMT_MJPEG: 634 case V4L2_PIX_FMT_MJPEG:
635 buf->vb.v4l2_buf.length = jpgsize; 635 vb2_set_plane_payload(&buf->vb, 0, jpgsize);
636 memcpy(vbuf, tmpbuf, jpgsize); 636 memcpy(vbuf, tmpbuf, jpgsize);
637 break; 637 break;
638 case V4L2_PIX_FMT_YUV422P: 638 case V4L2_PIX_FMT_YUV422P: