diff mbox

[2/2] em28xx: regression fix: use DRX-K sync firmware requests on em28xx

Message ID 1349204716-25971-2-git-send-email-mchehab@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mauro Carvalho Chehab Oct. 2, 2012, 7:05 p.m. UTC
As em28xx-dvb will always be initialized asynchronously, there's
no need anymore for a separate thread to load the DRX-K firmware.

Fixes a known regression with kernel 3.6 with tda18271 driver
and asynchronous DRX-K firmware load.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 drivers/media/usb/em28xx/em28xx-dvb.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Antti Palosaari Oct. 2, 2012, 7:26 p.m. UTC | #1
On 10/02/2012 10:05 PM, Mauro Carvalho Chehab wrote:
> As em28xx-dvb will always be initialized asynchronously, there's
> no need anymore for a separate thread to load the DRX-K firmware.
>
> Fixes a known regression with kernel 3.6 with tda18271 driver
> and asynchronous DRX-K firmware load.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

Tested-by: Antti Palosaari <crope@iki.fi>

Hauppauge WinTV HVR 930C
MaxMedia UB425-TC
PCTV QuatroStick nano (520e)


> ---
>   drivers/media/usb/em28xx/em28xx-dvb.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c
> index 1662b70..913e522 100644
> --- a/drivers/media/usb/em28xx/em28xx-dvb.c
> +++ b/drivers/media/usb/em28xx/em28xx-dvb.c
> @@ -318,6 +318,7 @@ static struct drxk_config terratec_h5_drxk = {
>   	.no_i2c_bridge = 1,
>   	.microcode_name = "dvb-usb-terratec-h5-drxk.fw",
>   	.qam_demod_parameter_count = 2,
> +	.load_firmware_sync = true,
>   };
>
>   static struct drxk_config hauppauge_930c_drxk = {
> @@ -327,6 +328,7 @@ static struct drxk_config hauppauge_930c_drxk = {
>   	.microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw",
>   	.chunk_size = 56,
>   	.qam_demod_parameter_count = 2,
> +	.load_firmware_sync = true,
>   };
>
>   struct drxk_config terratec_htc_stick_drxk = {
> @@ -340,12 +342,14 @@ struct drxk_config terratec_htc_stick_drxk = {
>   	.antenna_dvbt = true,
>   	/* The windows driver uses the same. This will disable LNA. */
>   	.antenna_gpio = 0x6,
> +	.load_firmware_sync = true,
>   };
>
>   static struct drxk_config maxmedia_ub425_tc_drxk = {
>   	.adr = 0x29,
>   	.single_master = 1,
>   	.no_i2c_bridge = 1,
> +	.load_firmware_sync = true,
>   };
>
>   static struct drxk_config pctv_520e_drxk = {
> @@ -356,6 +360,7 @@ static struct drxk_config pctv_520e_drxk = {
>   	.chunk_size = 58,
>   	.antenna_dvbt = true, /* disable LNA */
>   	.antenna_gpio = (1 << 2), /* disable LNA */
> +	.load_firmware_sync = true,
>   };
>
>   static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
>
diff mbox

Patch

diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c
index 1662b70..913e522 100644
--- a/drivers/media/usb/em28xx/em28xx-dvb.c
+++ b/drivers/media/usb/em28xx/em28xx-dvb.c
@@ -318,6 +318,7 @@  static struct drxk_config terratec_h5_drxk = {
 	.no_i2c_bridge = 1,
 	.microcode_name = "dvb-usb-terratec-h5-drxk.fw",
 	.qam_demod_parameter_count = 2,
+	.load_firmware_sync = true,
 };
 
 static struct drxk_config hauppauge_930c_drxk = {
@@ -327,6 +328,7 @@  static struct drxk_config hauppauge_930c_drxk = {
 	.microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw",
 	.chunk_size = 56,
 	.qam_demod_parameter_count = 2,
+	.load_firmware_sync = true,
 };
 
 struct drxk_config terratec_htc_stick_drxk = {
@@ -340,12 +342,14 @@  struct drxk_config terratec_htc_stick_drxk = {
 	.antenna_dvbt = true,
 	/* The windows driver uses the same. This will disable LNA. */
 	.antenna_gpio = 0x6,
+	.load_firmware_sync = true,
 };
 
 static struct drxk_config maxmedia_ub425_tc_drxk = {
 	.adr = 0x29,
 	.single_master = 1,
 	.no_i2c_bridge = 1,
+	.load_firmware_sync = true,
 };
 
 static struct drxk_config pctv_520e_drxk = {
@@ -356,6 +360,7 @@  static struct drxk_config pctv_520e_drxk = {
 	.chunk_size = 58,
 	.antenna_dvbt = true, /* disable LNA */
 	.antenna_gpio = (1 << 2), /* disable LNA */
+	.load_firmware_sync = true,
 };
 
 static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)