diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-04 19:06:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-04 19:06:02 -0500 |
commit | ebea76f5b95caddb59f49a3e288da26358e6ab1f (patch) | |
tree | dffb2b1e13825e5a32f925c29b985460066394a2 | |
parent | d0747f10ed5fec3d1f40c4b350dc9673011fc8e2 (diff) | |
parent | d2a74581390d8e5ed09b12c9d4736847d918dfa6 (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-- | MAINTAINERS | 38 | ||||
-rw-r--r-- | drivers/media/i2c/smiapp/smiapp-core.c | 2 | ||||
-rw-r--r-- | drivers/media/pci/cx23885/cx23885-core.c | 6 | ||||
-rw-r--r-- | drivers/media/pci/solo6x10/solo6x10-core.c | 10 | ||||
-rw-r--r-- | drivers/media/rc/ir-rc6-decoder.c | 2 | ||||
-rw-r--r-- | drivers/media/usb/s2255/s2255drv.c | 2 |
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 | |||
1828 | F: net/ax25/ | 1828 | F: net/ax25/ |
1829 | 1829 | ||
1830 | AZ6007 DVB DRIVER | 1830 | AZ6007 DVB DRIVER |
1831 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 1831 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
1832 | L: linux-media@vger.kernel.org | 1832 | L: linux-media@vger.kernel.org |
1833 | W: http://linuxtv.org | 1833 | W: http://linuxtv.org |
1834 | T: git git://linuxtv.org/media_tree.git | 1834 | T: git git://linuxtv.org/media_tree.git |
@@ -2198,7 +2198,7 @@ F: Documentation/filesystems/btrfs.txt | |||
2198 | F: fs/btrfs/ | 2198 | F: fs/btrfs/ |
2199 | 2199 | ||
2200 | BTTV VIDEO4LINUX DRIVER | 2200 | BTTV VIDEO4LINUX DRIVER |
2201 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 2201 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
2202 | L: linux-media@vger.kernel.org | 2202 | L: linux-media@vger.kernel.org |
2203 | W: http://linuxtv.org | 2203 | W: http://linuxtv.org |
2204 | T: git git://linuxtv.org/media_tree.git | 2204 | T: git git://linuxtv.org/media_tree.git |
@@ -2719,7 +2719,7 @@ F: drivers/media/common/cx2341x* | |||
2719 | F: include/media/cx2341x* | 2719 | F: include/media/cx2341x* |
2720 | 2720 | ||
2721 | CX88 VIDEO4LINUX DRIVER | 2721 | CX88 VIDEO4LINUX DRIVER |
2722 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 2722 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
2723 | L: linux-media@vger.kernel.org | 2723 | L: linux-media@vger.kernel.org |
2724 | W: http://linuxtv.org | 2724 | W: http://linuxtv.org |
2725 | T: git git://linuxtv.org/media_tree.git | 2725 | T: git git://linuxtv.org/media_tree.git |
@@ -3402,7 +3402,7 @@ F: fs/ecryptfs/ | |||
3402 | EDAC-CORE | 3402 | EDAC-CORE |
3403 | M: Doug Thompson <dougthompson@xmission.com> | 3403 | M: Doug Thompson <dougthompson@xmission.com> |
3404 | M: Borislav Petkov <bp@alien8.de> | 3404 | M: Borislav Petkov <bp@alien8.de> |
3405 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3405 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3406 | L: linux-edac@vger.kernel.org | 3406 | L: linux-edac@vger.kernel.org |
3407 | W: bluesmoke.sourceforge.net | 3407 | W: bluesmoke.sourceforge.net |
3408 | S: Supported | 3408 | S: Supported |
@@ -3451,7 +3451,7 @@ S: Maintained | |||
3451 | F: drivers/edac/e7xxx_edac.c | 3451 | F: drivers/edac/e7xxx_edac.c |
3452 | 3452 | ||
3453 | EDAC-GHES | 3453 | EDAC-GHES |
3454 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3454 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3455 | L: linux-edac@vger.kernel.org | 3455 | L: linux-edac@vger.kernel.org |
3456 | W: bluesmoke.sourceforge.net | 3456 | W: bluesmoke.sourceforge.net |
3457 | S: Maintained | 3457 | S: Maintained |
@@ -3479,21 +3479,21 @@ S: Maintained | |||
3479 | F: drivers/edac/i5000_edac.c | 3479 | F: drivers/edac/i5000_edac.c |
3480 | 3480 | ||
3481 | EDAC-I5400 | 3481 | EDAC-I5400 |
3482 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3482 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3483 | L: linux-edac@vger.kernel.org | 3483 | L: linux-edac@vger.kernel.org |
3484 | W: bluesmoke.sourceforge.net | 3484 | W: bluesmoke.sourceforge.net |
3485 | S: Maintained | 3485 | S: Maintained |
3486 | F: drivers/edac/i5400_edac.c | 3486 | F: drivers/edac/i5400_edac.c |
3487 | 3487 | ||
3488 | EDAC-I7300 | 3488 | EDAC-I7300 |
3489 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3489 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3490 | L: linux-edac@vger.kernel.org | 3490 | L: linux-edac@vger.kernel.org |
3491 | W: bluesmoke.sourceforge.net | 3491 | W: bluesmoke.sourceforge.net |
3492 | S: Maintained | 3492 | S: Maintained |
3493 | F: drivers/edac/i7300_edac.c | 3493 | F: drivers/edac/i7300_edac.c |
3494 | 3494 | ||
3495 | EDAC-I7CORE | 3495 | EDAC-I7CORE |
3496 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3496 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3497 | L: linux-edac@vger.kernel.org | 3497 | L: linux-edac@vger.kernel.org |
3498 | W: bluesmoke.sourceforge.net | 3498 | W: bluesmoke.sourceforge.net |
3499 | S: Maintained | 3499 | S: Maintained |
@@ -3536,7 +3536,7 @@ S: Maintained | |||
3536 | F: drivers/edac/r82600_edac.c | 3536 | F: drivers/edac/r82600_edac.c |
3537 | 3537 | ||
3538 | EDAC-SBRIDGE | 3538 | EDAC-SBRIDGE |
3539 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3539 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3540 | L: linux-edac@vger.kernel.org | 3540 | L: linux-edac@vger.kernel.org |
3541 | W: bluesmoke.sourceforge.net | 3541 | W: bluesmoke.sourceforge.net |
3542 | S: Maintained | 3542 | S: Maintained |
@@ -3596,7 +3596,7 @@ S: Maintained | |||
3596 | F: drivers/net/ethernet/ibm/ehea/ | 3596 | F: drivers/net/ethernet/ibm/ehea/ |
3597 | 3597 | ||
3598 | EM28XX VIDEO4LINUX DRIVER | 3598 | EM28XX VIDEO4LINUX DRIVER |
3599 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 3599 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
3600 | L: linux-media@vger.kernel.org | 3600 | L: linux-media@vger.kernel.org |
3601 | W: http://linuxtv.org | 3601 | W: http://linuxtv.org |
3602 | T: git git://linuxtv.org/media_tree.git | 3602 | T: git git://linuxtv.org/media_tree.git |
@@ -5962,7 +5962,7 @@ S: Maintained | |||
5962 | F: drivers/media/radio/radio-maxiradio* | 5962 | F: drivers/media/radio/radio-maxiradio* |
5963 | 5963 | ||
5964 | MEDIA INPUT INFRASTRUCTURE (V4L/DVB) | 5964 | MEDIA INPUT INFRASTRUCTURE (V4L/DVB) |
5965 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 5965 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
5966 | P: LinuxTV.org Project | 5966 | P: LinuxTV.org Project |
5967 | L: linux-media@vger.kernel.org | 5967 | L: linux-media@vger.kernel.org |
5968 | W: http://linuxtv.org | 5968 | W: http://linuxtv.org |
@@ -8013,7 +8013,7 @@ S: Odd Fixes | |||
8013 | F: drivers/media/i2c/saa6588* | 8013 | F: drivers/media/i2c/saa6588* |
8014 | 8014 | ||
8015 | SAA7134 VIDEO4LINUX DRIVER | 8015 | SAA7134 VIDEO4LINUX DRIVER |
8016 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 8016 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
8017 | L: linux-media@vger.kernel.org | 8017 | L: linux-media@vger.kernel.org |
8018 | W: http://linuxtv.org | 8018 | W: http://linuxtv.org |
8019 | T: git git://linuxtv.org/media_tree.git | 8019 | T: git git://linuxtv.org/media_tree.git |
@@ -8471,7 +8471,7 @@ S: Maintained | |||
8471 | F: drivers/media/radio/si4713/radio-usb-si4713.c | 8471 | F: drivers/media/radio/si4713/radio-usb-si4713.c |
8472 | 8472 | ||
8473 | SIANO DVB DRIVER | 8473 | SIANO DVB DRIVER |
8474 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 8474 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
8475 | L: linux-media@vger.kernel.org | 8475 | L: linux-media@vger.kernel.org |
8476 | W: http://linuxtv.org | 8476 | W: http://linuxtv.org |
8477 | T: git git://linuxtv.org/media_tree.git | 8477 | T: git git://linuxtv.org/media_tree.git |
@@ -8682,7 +8682,9 @@ S: Maintained | |||
8682 | F: drivers/leds/leds-net48xx.c | 8682 | F: drivers/leds/leds-net48xx.c |
8683 | 8683 | ||
8684 | SOFTLOGIC 6x10 MPEG CODEC | 8684 | SOFTLOGIC 6x10 MPEG CODEC |
8685 | M: Ismael Luceno <ismael.luceno@corp.bluecherry.net> | 8685 | M: Bluecherry Maintainers <maintainers@bluecherrydvr.com> |
8686 | M: Andrey Utkin <andrey.utkin@corp.bluecherry.net> | ||
8687 | M: Andrey Utkin <andrey.krieger.utkin@gmail.com> | ||
8686 | L: linux-media@vger.kernel.org | 8688 | L: linux-media@vger.kernel.org |
8687 | S: Supported | 8689 | S: Supported |
8688 | F: drivers/media/pci/solo6x10/ | 8690 | F: drivers/media/pci/solo6x10/ |
@@ -9156,7 +9158,7 @@ S: Maintained | |||
9156 | F: drivers/media/i2c/tda9840* | 9158 | F: drivers/media/i2c/tda9840* |
9157 | 9159 | ||
9158 | TEA5761 TUNER DRIVER | 9160 | TEA5761 TUNER DRIVER |
9159 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 9161 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
9160 | L: linux-media@vger.kernel.org | 9162 | L: linux-media@vger.kernel.org |
9161 | W: http://linuxtv.org | 9163 | W: http://linuxtv.org |
9162 | T: git git://linuxtv.org/media_tree.git | 9164 | T: git git://linuxtv.org/media_tree.git |
@@ -9164,7 +9166,7 @@ S: Odd fixes | |||
9164 | F: drivers/media/tuners/tea5761.* | 9166 | F: drivers/media/tuners/tea5761.* |
9165 | 9167 | ||
9166 | TEA5767 TUNER DRIVER | 9168 | TEA5767 TUNER DRIVER |
9167 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 9169 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
9168 | L: linux-media@vger.kernel.org | 9170 | L: linux-media@vger.kernel.org |
9169 | W: http://linuxtv.org | 9171 | W: http://linuxtv.org |
9170 | T: git git://linuxtv.org/media_tree.git | 9172 | T: git git://linuxtv.org/media_tree.git |
@@ -9476,7 +9478,7 @@ F: include/linux/shmem_fs.h | |||
9476 | F: mm/shmem.c | 9478 | F: mm/shmem.c |
9477 | 9479 | ||
9478 | TM6000 VIDEO4LINUX DRIVER | 9480 | TM6000 VIDEO4LINUX DRIVER |
9479 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 9481 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
9480 | L: linux-media@vger.kernel.org | 9482 | L: linux-media@vger.kernel.org |
9481 | W: http://linuxtv.org | 9483 | W: http://linuxtv.org |
9482 | T: git git://linuxtv.org/media_tree.git | 9484 | T: git git://linuxtv.org/media_tree.git |
@@ -10297,7 +10299,7 @@ S: Maintained | |||
10297 | F: arch/x86/kernel/cpu/mcheck/* | 10299 | F: arch/x86/kernel/cpu/mcheck/* |
10298 | 10300 | ||
10299 | XC2028/3028 TUNER DRIVER | 10301 | XC2028/3028 TUNER DRIVER |
10300 | M: Mauro Carvalho Chehab <m.chehab@samsung.com> | 10302 | M: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
10301 | L: linux-media@vger.kernel.org | 10303 | L: linux-media@vger.kernel.org |
10302 | W: http://linuxtv.org | 10304 | W: http://linuxtv.org |
10303 | T: git git://linuxtv.org/media_tree.git | 10305 | T: 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: |