Commit ebea76f5 authored by Linus Torvalds's avatar Linus Torvalds

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
parents d0747f10 d2a74581
...@@ -1828,7 +1828,7 @@ F: include/net/ax25.h ...@@ -1828,7 +1828,7 @@ F: include/net/ax25.h
F: net/ax25/ F: net/ax25/
AZ6007 DVB DRIVER AZ6007 DVB DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -2198,7 +2198,7 @@ F: Documentation/filesystems/btrfs.txt ...@@ -2198,7 +2198,7 @@ F: Documentation/filesystems/btrfs.txt
F: fs/btrfs/ F: fs/btrfs/
BTTV VIDEO4LINUX DRIVER BTTV VIDEO4LINUX DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -2719,7 +2719,7 @@ F: drivers/media/common/cx2341x* ...@@ -2719,7 +2719,7 @@ F: drivers/media/common/cx2341x*
F: include/media/cx2341x* F: include/media/cx2341x*
CX88 VIDEO4LINUX DRIVER CX88 VIDEO4LINUX DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -3402,7 +3402,7 @@ F: fs/ecryptfs/ ...@@ -3402,7 +3402,7 @@ F: fs/ecryptfs/
EDAC-CORE EDAC-CORE
M: Doug Thompson <dougthompson@xmission.com> M: Doug Thompson <dougthompson@xmission.com>
M: Borislav Petkov <bp@alien8.de> M: Borislav Petkov <bp@alien8.de>
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
W: bluesmoke.sourceforge.net W: bluesmoke.sourceforge.net
S: Supported S: Supported
...@@ -3451,7 +3451,7 @@ S: Maintained ...@@ -3451,7 +3451,7 @@ S: Maintained
F: drivers/edac/e7xxx_edac.c F: drivers/edac/e7xxx_edac.c
EDAC-GHES EDAC-GHES
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
W: bluesmoke.sourceforge.net W: bluesmoke.sourceforge.net
S: Maintained S: Maintained
...@@ -3479,21 +3479,21 @@ S: Maintained ...@@ -3479,21 +3479,21 @@ S: Maintained
F: drivers/edac/i5000_edac.c F: drivers/edac/i5000_edac.c
EDAC-I5400 EDAC-I5400
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
W: bluesmoke.sourceforge.net W: bluesmoke.sourceforge.net
S: Maintained S: Maintained
F: drivers/edac/i5400_edac.c F: drivers/edac/i5400_edac.c
EDAC-I7300 EDAC-I7300
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
W: bluesmoke.sourceforge.net W: bluesmoke.sourceforge.net
S: Maintained S: Maintained
F: drivers/edac/i7300_edac.c F: drivers/edac/i7300_edac.c
EDAC-I7CORE EDAC-I7CORE
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
W: bluesmoke.sourceforge.net W: bluesmoke.sourceforge.net
S: Maintained S: Maintained
...@@ -3536,7 +3536,7 @@ S: Maintained ...@@ -3536,7 +3536,7 @@ S: Maintained
F: drivers/edac/r82600_edac.c F: drivers/edac/r82600_edac.c
EDAC-SBRIDGE EDAC-SBRIDGE
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
W: bluesmoke.sourceforge.net W: bluesmoke.sourceforge.net
S: Maintained S: Maintained
...@@ -3596,7 +3596,7 @@ S: Maintained ...@@ -3596,7 +3596,7 @@ S: Maintained
F: drivers/net/ethernet/ibm/ehea/ F: drivers/net/ethernet/ibm/ehea/
EM28XX VIDEO4LINUX DRIVER EM28XX VIDEO4LINUX DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -5962,7 +5962,7 @@ S: Maintained ...@@ -5962,7 +5962,7 @@ S: Maintained
F: drivers/media/radio/radio-maxiradio* F: drivers/media/radio/radio-maxiradio*
MEDIA INPUT INFRASTRUCTURE (V4L/DVB) MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
P: LinuxTV.org Project P: LinuxTV.org Project
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
...@@ -8013,7 +8013,7 @@ S: Odd Fixes ...@@ -8013,7 +8013,7 @@ S: Odd Fixes
F: drivers/media/i2c/saa6588* F: drivers/media/i2c/saa6588*
SAA7134 VIDEO4LINUX DRIVER SAA7134 VIDEO4LINUX DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -8471,7 +8471,7 @@ S: Maintained ...@@ -8471,7 +8471,7 @@ S: Maintained
F: drivers/media/radio/si4713/radio-usb-si4713.c F: drivers/media/radio/si4713/radio-usb-si4713.c
SIANO DVB DRIVER SIANO DVB DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -8682,7 +8682,9 @@ S: Maintained ...@@ -8682,7 +8682,9 @@ S: Maintained
F: drivers/leds/leds-net48xx.c F: drivers/leds/leds-net48xx.c
SOFTLOGIC 6x10 MPEG CODEC SOFTLOGIC 6x10 MPEG CODEC
M: Ismael Luceno <ismael.luceno@corp.bluecherry.net> M: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
M: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
M: Andrey Utkin <andrey.krieger.utkin@gmail.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
S: Supported S: Supported
F: drivers/media/pci/solo6x10/ F: drivers/media/pci/solo6x10/
...@@ -9156,7 +9158,7 @@ S: Maintained ...@@ -9156,7 +9158,7 @@ S: Maintained
F: drivers/media/i2c/tda9840* F: drivers/media/i2c/tda9840*
TEA5761 TUNER DRIVER TEA5761 TUNER DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -9164,7 +9166,7 @@ S: Odd fixes ...@@ -9164,7 +9166,7 @@ S: Odd fixes
F: drivers/media/tuners/tea5761.* F: drivers/media/tuners/tea5761.*
TEA5767 TUNER DRIVER TEA5767 TUNER DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -9476,7 +9478,7 @@ F: include/linux/shmem_fs.h ...@@ -9476,7 +9478,7 @@ F: include/linux/shmem_fs.h
F: mm/shmem.c F: mm/shmem.c
TM6000 VIDEO4LINUX DRIVER TM6000 VIDEO4LINUX DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
...@@ -10297,7 +10299,7 @@ S: Maintained ...@@ -10297,7 +10299,7 @@ S: Maintained
F: arch/x86/kernel/cpu/mcheck/* F: arch/x86/kernel/cpu/mcheck/*
XC2028/3028 TUNER DRIVER XC2028/3028 TUNER DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com> M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
W: http://linuxtv.org W: http://linuxtv.org
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
......
...@@ -2190,7 +2190,7 @@ static int smiapp_set_selection(struct v4l2_subdev *subdev, ...@@ -2190,7 +2190,7 @@ static int smiapp_set_selection(struct v4l2_subdev *subdev,
ret = smiapp_set_compose(subdev, fh, sel); ret = smiapp_set_compose(subdev, fh, sel);
break; break;
default: default:
BUG(); ret = -EINVAL;
} }
mutex_unlock(&sensor->mutex); mutex_unlock(&sensor->mutex);
......
...@@ -1078,7 +1078,7 @@ static __le32 *cx23885_risc_field(__le32 *rp, struct scatterlist *sglist, ...@@ -1078,7 +1078,7 @@ static __le32 *cx23885_risc_field(__le32 *rp, struct scatterlist *sglist,
for (line = 0; line < lines; line++) { for (line = 0; line < lines; line++) {
while (offset && offset >= sg_dma_len(sg)) { while (offset && offset >= sg_dma_len(sg)) {
offset -= sg_dma_len(sg); offset -= sg_dma_len(sg);
sg++; sg = sg_next(sg);
} }
if (lpi && line > 0 && !(line % lpi)) if (lpi && line > 0 && !(line % lpi))
...@@ -1101,14 +1101,14 @@ static __le32 *cx23885_risc_field(__le32 *rp, struct scatterlist *sglist, ...@@ -1101,14 +1101,14 @@ static __le32 *cx23885_risc_field(__le32 *rp, struct scatterlist *sglist,
*(rp++) = cpu_to_le32(0); /* bits 63-32 */ *(rp++) = cpu_to_le32(0); /* bits 63-32 */
todo -= (sg_dma_len(sg)-offset); todo -= (sg_dma_len(sg)-offset);
offset = 0; offset = 0;
sg++; sg = sg_next(sg);
while (todo > sg_dma_len(sg)) { while (todo > sg_dma_len(sg)) {
*(rp++) = cpu_to_le32(RISC_WRITE| *(rp++) = cpu_to_le32(RISC_WRITE|
sg_dma_len(sg)); sg_dma_len(sg));
*(rp++) = cpu_to_le32(sg_dma_address(sg)); *(rp++) = cpu_to_le32(sg_dma_address(sg));
*(rp++) = cpu_to_le32(0); /* bits 63-32 */ *(rp++) = cpu_to_le32(0); /* bits 63-32 */
todo -= sg_dma_len(sg); todo -= sg_dma_len(sg);
sg++; sg = sg_next(sg);
} }
*(rp++) = cpu_to_le32(RISC_WRITE|RISC_EOL|todo); *(rp++) = cpu_to_le32(RISC_WRITE|RISC_EOL|todo);
*(rp++) = cpu_to_le32(sg_dma_address(sg)); *(rp++) = cpu_to_le32(sg_dma_address(sg));
......
...@@ -105,11 +105,8 @@ static irqreturn_t solo_isr(int irq, void *data) ...@@ -105,11 +105,8 @@ static irqreturn_t solo_isr(int irq, void *data)
if (!status) if (!status)
return IRQ_NONE; return IRQ_NONE;
if (status & ~solo_dev->irq_mask) { /* Acknowledge all interrupts immediately */
solo_reg_write(solo_dev, SOLO_IRQ_STAT, solo_reg_write(solo_dev, SOLO_IRQ_STAT, status);
status & ~solo_dev->irq_mask);
status &= solo_dev->irq_mask;
}
if (status & SOLO_IRQ_PCI_ERR) if (status & SOLO_IRQ_PCI_ERR)
solo_p2m_error_isr(solo_dev); solo_p2m_error_isr(solo_dev);
...@@ -132,9 +129,6 @@ static irqreturn_t solo_isr(int irq, void *data) ...@@ -132,9 +129,6 @@ static irqreturn_t solo_isr(int irq, void *data)
if (status & SOLO_IRQ_G723) if (status & SOLO_IRQ_G723)
solo_g723_isr(solo_dev); solo_g723_isr(solo_dev);
/* Clear all interrupts handled */
solo_reg_write(solo_dev, SOLO_IRQ_STAT, status);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
......
...@@ -259,8 +259,8 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev) ...@@ -259,8 +259,8 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
case 32: case 32:
if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) { if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) {
protocol = RC_TYPE_RC6_MCE; protocol = RC_TYPE_RC6_MCE;
scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK); toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK);
scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
} else { } else {
protocol = RC_BIT_RC6_6A_32; protocol = RC_BIT_RC6_6A_32;
toggle = 0; toggle = 0;
......
...@@ -632,7 +632,7 @@ static void s2255_fillbuff(struct s2255_vc *vc, ...@@ -632,7 +632,7 @@ static void s2255_fillbuff(struct s2255_vc *vc,
break; break;
case V4L2_PIX_FMT_JPEG: case V4L2_PIX_FMT_JPEG:
case V4L2_PIX_FMT_MJPEG: case V4L2_PIX_FMT_MJPEG:
buf->vb.v4l2_buf.length = jpgsize; vb2_set_plane_payload(&buf->vb, 0, jpgsize);
memcpy(vbuf, tmpbuf, jpgsize); memcpy(vbuf, tmpbuf, jpgsize);
break; break;
case V4L2_PIX_FMT_YUV422P: case V4L2_PIX_FMT_YUV422P:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment