mirror of https://gitee.com/openkylin/linux.git
[media] cx18/ivtv: fix regression: remove __init from a non-init function
Commits5e6e81b289
(cx18) and2aebbf6737
(ivtv) added an __init annotation to the cx18-alsa-load and ivtv-alsa-load functions. However, these functions are called *after* initialization by the main cx18/ivtv driver. By that time the memory containing those functions is already freed and your machine goes BOOM. Cc: stable@vger.kernel.org # for 3.8 Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
33f6984ece
commit
cfb046cb80
|
@ -197,7 +197,7 @@ static int snd_cx18_init(struct v4l2_device *v4l2_dev)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init cx18_alsa_load(struct cx18 *cx)
|
static int cx18_alsa_load(struct cx18 *cx)
|
||||||
{
|
{
|
||||||
struct v4l2_device *v4l2_dev = &cx->v4l2_dev;
|
struct v4l2_device *v4l2_dev = &cx->v4l2_dev;
|
||||||
struct cx18_stream *s;
|
struct cx18_stream *s;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
* 02111-1307 USA
|
* 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int __init snd_cx18_pcm_create(struct snd_cx18_card *cxsc);
|
int snd_cx18_pcm_create(struct snd_cx18_card *cxsc);
|
||||||
|
|
||||||
/* Used by cx18-mailbox to announce the PCM data to the module */
|
/* Used by cx18-mailbox to announce the PCM data to the module */
|
||||||
void cx18_alsa_announce_pcm_data(struct snd_cx18_card *card, u8 *pcm_data,
|
void cx18_alsa_announce_pcm_data(struct snd_cx18_card *card, u8 *pcm_data,
|
||||||
|
|
|
@ -205,7 +205,7 @@ static int snd_ivtv_init(struct v4l2_device *v4l2_dev)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init ivtv_alsa_load(struct ivtv *itv)
|
static int ivtv_alsa_load(struct ivtv *itv)
|
||||||
{
|
{
|
||||||
struct v4l2_device *v4l2_dev = &itv->v4l2_dev;
|
struct v4l2_device *v4l2_dev = &itv->v4l2_dev;
|
||||||
struct ivtv_stream *s;
|
struct ivtv_stream *s;
|
||||||
|
|
|
@ -20,4 +20,4 @@
|
||||||
* 02111-1307 USA
|
* 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int __init snd_ivtv_pcm_create(struct snd_ivtv_card *itvsc);
|
int snd_ivtv_pcm_create(struct snd_ivtv_card *itvsc);
|
||||||
|
|
Loading…
Reference in New Issue