V4L/DVB (10317): radio-mr800: fix radio->muted and radio->stereo
Move radio->muted and radio->stereo in section where radio mutex is locked to avoid possible race condition problems or access to memory. Thanks to David Ellingsworth <david@identd.dyndns.org> for pointing to this weak place in driver. Signed-off-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6d9f13c47a
commit
7f03a5856c
|
@ -194,10 +194,10 @@ static int amradio_start(struct amradio_device *radio)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&radio->lock);
|
|
||||||
|
|
||||||
radio->muted = 0;
|
radio->muted = 0;
|
||||||
|
|
||||||
|
mutex_unlock(&radio->lock);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,10 +230,10 @@ static int amradio_stop(struct amradio_device *radio)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&radio->lock);
|
|
||||||
|
|
||||||
radio->muted = 1;
|
radio->muted = 1;
|
||||||
|
|
||||||
|
mutex_unlock(&radio->lock);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,10 +284,10 @@ static int amradio_setfreq(struct amradio_device *radio, int freq)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&radio->lock);
|
|
||||||
|
|
||||||
radio->stereo = 0;
|
radio->stereo = 0;
|
||||||
|
|
||||||
|
mutex_unlock(&radio->lock);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue