media: saa7134: fix WARN_ON during resume
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 7 Mar 2014 10:28:39 +0000 (07:28 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 May 2014 14:59:32 +0000 (07:59 -0700)
commit 30d652823de5fd7907d40e969a2d8e23938d8d03 upstream.

Do not attempt to reload the tuner modules when resuming after a suspend.
This triggers a WARN_ON in kernel/kmod.c:148 __request_module.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=69581.

This has always been wrong, but it was never noticed until the WARN_ON
was added in 3.9.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/pci/saa7134/saa7134-cards.c

index c9b2350..6e4bdb9 100644 (file)
@@ -8045,8 +8045,8 @@ int saa7134_board_init2(struct saa7134_dev *dev)
                break;
        } /* switch() */
 
-       /* initialize tuner */
-       if (TUNER_ABSENT != dev->tuner_type) {
+       /* initialize tuner (don't do this when resuming) */
+       if (!dev->insuspend && TUNER_ABSENT != dev->tuner_type) {
                int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);
 
                /* Note: radio tuner address is always filled in,