[DVB patch 26/54] usb: dtt200u: copy frontend_ops before modifying

Johannes Stezenbach
2005-09-04T23:47:06Z

[-- Attachment #1: dvb-usb-dtt200u-frontend-fix.patch --]
[-- Type: text/plain, Size: 1123 bytes --]

From: Ye Jianjun (Joey) <joeyye@trident.com.cn>

Fix: copy frontend_ops before modifying

Signed-off-by: Ye Jianjun (Joey) <joeyye@trident.com.cn>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>

drivers/media/dvb/dvb-usb/dtt200u-fe.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- linux-2.6.13-git4.orig/drivers/media/dvb/dvb-usb/dtt200u-fe.c 2005-09-04 22:24:23.000000000 +0200
+++ linux-2.6.13-git4/drivers/media/dvb/dvb-usb/dtt200u-fe.c 2005-09-04 22:28:19.000000000 +0200
@@ -18,6 +18,7 @@ struct dtt200u_fe_state {

struct dvb_frontend_parameters fep;
struct dvb_frontend frontend;
+ struct dvb_frontend_ops ops;
};

static int dtt200u_fe_read_status(struct dvb_frontend* fe, fe_status_t *stat)
@@ -163,8 +164,9 @@ struct dvb_frontend* dtt200u_fe_attach(s
deb_info("attaching frontend dtt200u\n");

state->d = d;
+ memcpy(&state->ops,&dtt200u_fe_ops,sizeof(struct dvb_frontend_ops));

- state->frontend.ops = &dtt200u_fe_ops;
+ state->frontend.ops = &state->ops;
state->frontend.demodulator_priv = state;

goto success;

--