Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebea76f5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
Loading
Loading
Loading
Loading
+20 −18
Original line number Original line Diff line number Diff line
@@ -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
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*
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
+1 −1
Original line number Original line Diff line number Diff line
@@ -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);
+3 −3
Original line number Original line Diff line number Diff line
@@ -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,
			*(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));
+2 −8
Original line number Original line Diff line number Diff line
@@ -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)
	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;
}
}


+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
Loading