mbox

[GIT,PULL,FOR,v3.8] Regression fix: cx18/ivtv: remove __init from a non-init function.

Message ID 201302080940.27735.hverkuil@xs4all.nl (mailing list archive)
State Accepted, archived
Headers

Pull-request

git://linuxtv.org/hverkuil/media_tree.git ivtv

Message

Hans Verkuil Feb. 8, 2013, 8:40 a.m. UTC
Mauro,

Please fast-track this for 3.8. Yesterday I discovered that commits made earlier
for 3.8 kill ivtv and cx18 (as in: unable to boot, instant crash) since a
function was made __init that was actually called *after* initialization.

We are already at rc6 and this *must* make it for 3.8. Without this patch
anyone with a cx18/ivtv will crash immediately as soon as they upgrade to 3.8.

Regards,

	Hans

The following changes since commit 248ac368ce4b3cd36515122d888403909d7a2500:

  [media] s5p-fimc: Fix fimc-lite entities deregistration (2013-02-06 09:42:19 -0200)

are available in the git repository at:

  git://linuxtv.org/hverkuil/media_tree.git ivtv

for you to fetch changes up to ddf276062e68607323fca363b99bdf426dddad9b:

  cx18/ivtv: fix regression: remove __init from a non-init function. (2013-02-08 09:30:11 +0100)

----------------------------------------------------------------
Hans Verkuil (1):
      cx18/ivtv: fix regression: remove __init from a non-init function.

 drivers/media/pci/cx18/cx18-alsa-main.c |    2 +-
 drivers/media/pci/ivtv/ivtv-alsa-main.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Mauro Carvalho Chehab Feb. 9, 2013, 12:33 a.m. UTC | #1
Em Fri, 8 Feb 2013 09:40:27 +0100
Hans Verkuil <hverkuil@xs4all.nl> escreveu:

> Mauro,
> 
> Please fast-track this for 3.8. Yesterday I discovered that commits made earlier
> for 3.8 kill ivtv and cx18 (as in: unable to boot, instant crash) since a
> function was made __init that was actually called *after* initialization.
> 
> We are already at rc6 and this *must* make it for 3.8. Without this patch
> anyone with a cx18/ivtv will crash immediately as soon as they upgrade to 3.8.
> 
> Regards,
> 
> 	Hans
> 
> The following changes since commit 248ac368ce4b3cd36515122d888403909d7a2500:
> 
>   [media] s5p-fimc: Fix fimc-lite entities deregistration (2013-02-06 09:42:19 -0200)
> 
> are available in the git repository at:
> 
>   git://linuxtv.org/hverkuil/media_tree.git ivtv
> 
> for you to fetch changes up to ddf276062e68607323fca363b99bdf426dddad9b:
> 
>   cx18/ivtv: fix regression: remove __init from a non-init function. (2013-02-08 09:30:11 +0100)
> 
> ----------------------------------------------------------------
> Hans Verkuil (1):
>       cx18/ivtv: fix regression: remove __init from a non-init function.

Hmm... the patch seems to be broken/incomplete:


WARNING: drivers/media/pci/cx18/cx18-alsa.o(.text+0x449): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
The function cx18_alsa_load() references
the function __init snd_cx18_pcm_create().
This is often because cx18_alsa_load lacks a __init 
annotation or the annotation of snd_cx18_pcm_create is wrong.

WARNING: drivers/media/pci/cx18/built-in.o(.text+0x1be69): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
The function cx18_alsa_load() references
the function __init snd_cx18_pcm_create().
This is often because cx18_alsa_load lacks a __init 
annotation or the annotation of snd_cx18_pcm_create is wrong.

WARNING: drivers/media/pci/ivtv/ivtv-alsa.o(.text+0x454): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
The function ivtv_alsa_load() references
the function __init snd_ivtv_pcm_create().
This is often because ivtv_alsa_load lacks a __init 
annotation or the annotation of snd_ivtv_pcm_create is wrong.

WARNING: drivers/media/pci/ivtv/built-in.o(.text+0x20790): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
The function ivtv_alsa_load() references
the function __init snd_ivtv_pcm_create().
This is often because ivtv_alsa_load lacks a __init 
annotation or the annotation of snd_ivtv_pcm_create is wrong.

WARNING: drivers/media/pci/built-in.o(.text+0x6b958): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
The function ivtv_alsa_load() references
the function __init snd_ivtv_pcm_create().
This is often because ivtv_alsa_load lacks a __init 
annotation or the annotation of snd_ivtv_pcm_create is wrong.

WARNING: drivers/media/pci/built-in.o(.text+0x9fc21): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
The function cx18_alsa_load() references
the function __init snd_cx18_pcm_create().
This is often because cx18_alsa_load lacks a __init 
annotation or the annotation of snd_cx18_pcm_create is wrong.

WARNING: drivers/media/built-in.o(.text+0x289f48): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
The function ivtv_alsa_load() references
the function __init snd_ivtv_pcm_create().
This is often because ivtv_alsa_load lacks a __init 
annotation or the annotation of snd_ivtv_pcm_create is wrong.

WARNING: drivers/media/built-in.o(.text+0x2be211): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
The function cx18_alsa_load() references
the function __init snd_cx18_pcm_create().
This is often because cx18_alsa_load lacks a __init 
annotation or the annotation of snd_cx18_pcm_create is wrong.
  
Hans Verkuil Feb. 9, 2013, 8:45 a.m. UTC | #2
On Sat February 9 2013 01:33:44 Mauro Carvalho Chehab wrote:
> Em Fri, 8 Feb 2013 09:40:27 +0100
> Hans Verkuil <hverkuil@xs4all.nl> escreveu:
> 
> > Mauro,
> > 
> > Please fast-track this for 3.8. Yesterday I discovered that commits made earlier
> > for 3.8 kill ivtv and cx18 (as in: unable to boot, instant crash) since a
> > function was made __init that was actually called *after* initialization.
> > 
> > We are already at rc6 and this *must* make it for 3.8. Without this patch
> > anyone with a cx18/ivtv will crash immediately as soon as they upgrade to 3.8.
> > 
> > Regards,
> > 
> > 	Hans
> > 
> > The following changes since commit 248ac368ce4b3cd36515122d888403909d7a2500:
> > 
> >   [media] s5p-fimc: Fix fimc-lite entities deregistration (2013-02-06 09:42:19 -0200)
> > 
> > are available in the git repository at:
> > 
> >   git://linuxtv.org/hverkuil/media_tree.git ivtv
> > 
> > for you to fetch changes up to ddf276062e68607323fca363b99bdf426dddad9b:
> > 
> >   cx18/ivtv: fix regression: remove __init from a non-init function. (2013-02-08 09:30:11 +0100)
> > 
> > ----------------------------------------------------------------
> > Hans Verkuil (1):
> >       cx18/ivtv: fix regression: remove __init from a non-init function.
> 
> Hmm... the patch seems to be broken/incomplete:

It turned out that the cx18/ivtv-alsa-pcm.h header had an __init annotation,
although the corresponding function in the c source didn't. And
CONFIG_DEBUG_SECTION_MISMATCH was turned off, so I didn't see the full warning
message (now corrected). The fact that __init wasn't present in the C source
is the reason why the fix worked.

I'll post a new pull request fixing the headers as well.

Regards,

	Hans



> 
> 
> WARNING: drivers/media/pci/cx18/cx18-alsa.o(.text+0x449): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
> The function cx18_alsa_load() references
> the function __init snd_cx18_pcm_create().
> This is often because cx18_alsa_load lacks a __init 
> annotation or the annotation of snd_cx18_pcm_create is wrong.
> 
> WARNING: drivers/media/pci/cx18/built-in.o(.text+0x1be69): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
> The function cx18_alsa_load() references
> the function __init snd_cx18_pcm_create().
> This is often because cx18_alsa_load lacks a __init 
> annotation or the annotation of snd_cx18_pcm_create is wrong.
> 
> WARNING: drivers/media/pci/ivtv/ivtv-alsa.o(.text+0x454): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
> The function ivtv_alsa_load() references
> the function __init snd_ivtv_pcm_create().
> This is often because ivtv_alsa_load lacks a __init 
> annotation or the annotation of snd_ivtv_pcm_create is wrong.
> 
> WARNING: drivers/media/pci/ivtv/built-in.o(.text+0x20790): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
> The function ivtv_alsa_load() references
> the function __init snd_ivtv_pcm_create().
> This is often because ivtv_alsa_load lacks a __init 
> annotation or the annotation of snd_ivtv_pcm_create is wrong.
> 
> WARNING: drivers/media/pci/built-in.o(.text+0x6b958): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
> The function ivtv_alsa_load() references
> the function __init snd_ivtv_pcm_create().
> This is often because ivtv_alsa_load lacks a __init 
> annotation or the annotation of snd_ivtv_pcm_create is wrong.
> 
> WARNING: drivers/media/pci/built-in.o(.text+0x9fc21): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
> The function cx18_alsa_load() references
> the function __init snd_cx18_pcm_create().
> This is often because cx18_alsa_load lacks a __init 
> annotation or the annotation of snd_cx18_pcm_create is wrong.
> 
> WARNING: drivers/media/built-in.o(.text+0x289f48): Section mismatch in reference from the function ivtv_alsa_load() to the function .init.text:snd_ivtv_pcm_create()
> The function ivtv_alsa_load() references
> the function __init snd_ivtv_pcm_create().
> This is often because ivtv_alsa_load lacks a __init 
> annotation or the annotation of snd_ivtv_pcm_create is wrong.
> 
> WARNING: drivers/media/built-in.o(.text+0x2be211): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_pcm_create()
> The function cx18_alsa_load() references
> the function __init snd_cx18_pcm_create().
> This is often because cx18_alsa_load lacks a __init 
> annotation or the annotation of snd_cx18_pcm_create is wrong.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html