2005-09-04 23:47:06

by Johannes Stezenbach

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

From: Ye Jianjun (Joey) <[email protected]>

Fix: copy frontend_ops before modifying

Signed-off-by: Ye Jianjun (Joey) <[email protected]>
Signed-off-by: Patrick Boettcher <[email protected]>
Signed-off-by: Johannes Stezenbach <[email protected]>

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;

--