Commit 7f03a585 authored by Alexey Klimov's avatar Alexey Klimov Committed by Mauro Carvalho Chehab

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: default avatarAlexey Klimov <klimov.linux@gmail.com>
Signed-off-by: default avatarDouglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 6d9f13c4
...@@ -194,10 +194,10 @@ static int amradio_start(struct amradio_device *radio) ...@@ -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) ...@@ -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) ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment