From: Ye Jianjun (Joey) Fix: copy frontend_ops before modifying Signed-off-by: Ye Jianjun (Joey) Signed-off-by: Patrick Boettcher Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton --- drivers/media/dvb/dvb-usb/dtt200u-fe.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN drivers/media/dvb/dvb-usb/dtt200u-fe.c~dvb-usb-dtt200u-copy-frontend_ops-before-modifying drivers/media/dvb/dvb-usb/dtt200u-fe.c --- devel/drivers/media/dvb/dvb-usb/dtt200u-fe.c~dvb-usb-dtt200u-copy-frontend_ops-before-modifying 2005-09-04 16:51:34.000000000 -0700 +++ devel-akpm/drivers/media/dvb/dvb-usb/dtt200u-fe.c 2005-09-04 16:51:34.000000000 -0700 @@ -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; _