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;
|
||||
}
|
||||
|
||||
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 cx18_stream *s;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* 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 */
|
||||
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;
|
||||
}
|
||||
|
||||
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 ivtv_stream *s;
|
||||
|
|
|
@ -20,4 +20,4 @@
|
|||
* 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