Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 631c694f authored by Ernst Martin Witte's avatar Ernst Martin Witte Committed by Mauro Carvalho Chehab
Browse files

[media] af9013: cancel_delayed_work_sync before device removal / kfree



af9013_remove  was calling  kfree(state)  with  possibly still  active
schedule_delayed_work(&state->statistics_work).   A   similar  bug  in
si2157 caused kernel panics in call_timer_fn e.g. after rmmod cx23885.

Signed-off-by: default avatarErnst Martin Witte <emw-linux-kernel@nocabal.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 4c7cad4b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1344,6 +1344,10 @@ static int af9013_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
static void af9013_release(struct dvb_frontend *fe)
{
	struct af9013_state *state = fe->demodulator_priv;

	/* stop statistics polling */
	cancel_delayed_work_sync(&state->statistics_work);

	kfree(state);
}