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

Commit 11f9b020 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (33 commits)
  V4L/DVB (9103): em28xx: HVR-900 B3C0 - fix audio clicking issue
  V4L/DVB (9099): em28xx: Add detection for K-WORLD DVB-T 310U
  V4L/DVB (9092): gspca: Bad init values for sonixj ov7660.
  V4L/DVB (9080): gspca: Add a delay after writing to the sonixj sensors.
  V4L/DVB (9075): gspca: Bad check of returned status in i2c_read() spca561.
  V4L/DVB (9053): fix buffer overflow in uvc-video
  V4L/DVB (9043): S5H1420: Fix size of shadow-array to avoid overflow
  V4L/DVB (9037): Fix support for Hauppauge Nova-S SE
  V4L/DVB (9029): Fix deadlock in demux code
  V4L/DVB (8979): sms1xxx: Add new USB product ID for Hauppauge WinTV MiniStick
  V4L/DVB (8978): sms1xxx: fix product name for Hauppauge WinTV MiniStick
  V4L/DVB (8967): Use correct XC3028L firmware for AMD ATI TV Wonder 600
  V4L/DVB (8963): s2255drv field count fix
  V4L/DVB (8961): zr36067: Fix RGBR pixel format
  V4L/DVB (8960): drivers/media/video/cafe_ccic.c needs mm.h
  V4L/DVB (8958): zr36067: Return proper bytes-per-line value
  V4L/DVB (8957): zr36067: Restore the default pixel format
  V4L/DVB (8955): bttv: Prevent NULL pointer dereference in radio_open
  V4L/DVB (8935): em28xx-cards: Remove duplicate entry (EM2800_BOARD_KWORLD_USB2800)
  V4L/DVB (8933): gspca: Disable light frquency for zc3xx cs2102 Kokom.
  ...
parents e683b423 db98fb8b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@
 45 -> Pinnacle PCTV DVB-T                      (em2870)
 46 -> Compro, VideoMate U3                     (em2870)        [185b:2870]
 47 -> KWorld DVB-T 305U                        (em2880)        [eb1a:e305]
 48 -> KWorld DVB-T 310U                        (em2880)
 48 -> KWorld DVB-T 310U                        (em2880)        [eb1a:e310]
 49 -> MSI DigiVox A/D                          (em2880)        [eb1a:e310]
 50 -> MSI DigiVox A/D II                       (em2880)        [eb1a:e320]
 51 -> Terratec Hybrid XS Secam                 (em2880)        [0ccd:004c]
+1 −0
Original line number Diff line number Diff line
@@ -190,6 +190,7 @@ pac7311 093a:260f SnakeCam
pac7311		093a:2621	PAC731x
pac7311		093a:2624	PAC7302
pac7311		093a:2626	Labtec 2200
pac7311		093a:262a	Webcam 300k
zc3xx		0ac8:0302	Z-star Vimicro zc0302
vc032x		0ac8:0321	Vimicro generic vc0321
vc032x		0ac8:0323	Vimicro Vc0323
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include "dvb_frontend.h"

#define XC2028_DEFAULT_FIRMWARE "xc3028-v27.fw"
#define XC3028L_DEFAULT_FIRMWARE "xc3028L-v36.fw"

/*      Dmoduler		IF (kHz) */
#define	XC3028_FE_DEFAULT	0		/* Don't load SCODE */
+1 −0
Original line number Diff line number Diff line
@@ -491,6 +491,7 @@ static struct s5h1420_config skystar2_rev2_7_s5h1420_config = {
	.demod_address = 0x53,
	.invert = 1,
	.repeated_start_workaround = 1,
	.serial_mpeg = 1,
};

static struct itd1000_config skystar2_rev2_7_itd1000_config = {
+9 −7
Original line number Diff line number Diff line
@@ -364,15 +364,16 @@ static int dvb_dmxdev_section_callback(const u8 *buffer1, size_t buffer1_len,
				       enum dmx_success success)
{
	struct dmxdev_filter *dmxdevfilter = filter->priv;
	unsigned long flags;
	int ret;

	if (dmxdevfilter->buffer.error) {
		wake_up(&dmxdevfilter->buffer.queue);
		return 0;
	}
	spin_lock(&dmxdevfilter->dev->lock);
	spin_lock_irqsave(&dmxdevfilter->dev->lock, flags);
	if (dmxdevfilter->state != DMXDEV_STATE_GO) {
		spin_unlock(&dmxdevfilter->dev->lock);
		spin_unlock_irqrestore(&dmxdevfilter->dev->lock, flags);
		return 0;
	}
	del_timer(&dmxdevfilter->timer);
@@ -391,7 +392,7 @@ static int dvb_dmxdev_section_callback(const u8 *buffer1, size_t buffer1_len,
	}
	if (dmxdevfilter->params.sec.flags & DMX_ONESHOT)
		dmxdevfilter->state = DMXDEV_STATE_DONE;
	spin_unlock(&dmxdevfilter->dev->lock);
	spin_unlock_irqrestore(&dmxdevfilter->dev->lock, flags);
	wake_up(&dmxdevfilter->buffer.queue);
	return 0;
}
@@ -403,11 +404,12 @@ static int dvb_dmxdev_ts_callback(const u8 *buffer1, size_t buffer1_len,
{
	struct dmxdev_filter *dmxdevfilter = feed->priv;
	struct dvb_ringbuffer *buffer;
	unsigned long flags;
	int ret;

	spin_lock(&dmxdevfilter->dev->lock);
	spin_lock_irqsave(&dmxdevfilter->dev->lock, flags);
	if (dmxdevfilter->params.pes.output == DMX_OUT_DECODER) {
		spin_unlock(&dmxdevfilter->dev->lock);
		spin_unlock_irqrestore(&dmxdevfilter->dev->lock, flags);
		return 0;
	}

@@ -417,7 +419,7 @@ static int dvb_dmxdev_ts_callback(const u8 *buffer1, size_t buffer1_len,
	else
		buffer = &dmxdevfilter->dev->dvr_buffer;
	if (buffer->error) {
		spin_unlock(&dmxdevfilter->dev->lock);
		spin_unlock_irqrestore(&dmxdevfilter->dev->lock, flags);
		wake_up(&buffer->queue);
		return 0;
	}
@@ -428,7 +430,7 @@ static int dvb_dmxdev_ts_callback(const u8 *buffer1, size_t buffer1_len,
		dvb_ringbuffer_flush(buffer);
		buffer->error = ret;
	}
	spin_unlock(&dmxdevfilter->dev->lock);
	spin_unlock_irqrestore(&dmxdevfilter->dev->lock, flags);
	wake_up(&buffer->queue);
	return 0;
}
Loading