[media] Fix regression in some dib0700 based devices
authorJames Harper <james.harper@ejbdigital.com.au>
Mon, 9 Jun 2014 00:24:20 +0000 (21:24 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sat, 26 Jul 2014 03:51:02 +0000 (00:51 -0300)
Fix regression in some dib0700 based devices.
Set size_of_priv, and don't call dvb_detach unnecessarily.
This resolves the oops(s) for my "Leadtek Winfast DTV Dongle (STK7700P based)"

Signed-off-by: James Harper <james.harper@ejbdigital.com.au>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/dvb-usb/dib0700_devices.c

index 91e5ebb0f2c7dea2edf9984d2049653c889da737..ce47d3f1c8502a1774a3eee1b518d0cd5821247d 100644 (file)
@@ -723,7 +723,6 @@ static int stk7700p_frontend_attach(struct dvb_usb_adapter *adap)
                adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 18, &stk7700p_dib7000p_config);
                st->is_dib7000pc = 1;
        } else {
-               dvb_detach(&state->dib7000p_ops);
                memset(&state->dib7000p_ops, 0, sizeof(state->dib7000p_ops));
                adap->fe_adap[0].fe = dvb_attach(dib7000m_attach, &adap->dev->i2c_adap, 18, &stk7700p_dib7000m_config);
        }
@@ -3804,6 +3803,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
 
                                DIB0700_DEFAULT_STREAMING_CONFIG(0x02),
                        }},
+                               .size_of_priv     = sizeof(struct dib0700_adapter_state),
                        },
                },