[media] saa7134: fix WARN_ON during resume
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 7 Mar 2014 10:28:39 +0000 (07:28 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Fri, 28 Mar 2014 21:09:49 +0000 (18:09 -0300)
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>
Cc: stable@vger.kernel.org # for v3.9 and up
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/pci/saa7134/saa7134-cards.c

index c9b2350e92c863f87b329e8972d50fafa883dc90..6e4bdb90aa92e63c13d0d00c5bba90b4b4f09325 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,