[media] au0828: add pr_info to track au0828 suspend/resume code
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Sun, 10 Aug 2014 00:47:18 +0000 (21:47 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 21 Aug 2014 20:25:08 +0000 (15:25 -0500)
Suspend/resume conditions can be very tricky. Add some info
printk's to help tracking what's happening there.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/au0828/au0828-core.c
drivers/media/usb/au0828/au0828-dvb.c
drivers/media/usb/au0828/au0828-input.c
drivers/media/usb/au0828/au0828-video.c

index 452d14249348d399fbed68fe2dcf398e8f520d31..bc064803b6c7f6c2c6fb05b93c8fba7efb5cda22 100644 (file)
@@ -288,6 +288,8 @@ static int au0828_suspend(struct usb_interface *interface,
        if (!dev)
                return 0;
 
+       pr_info("Suspend\n");
+
        au0828_rc_suspend(dev);
        au0828_v4l2_suspend(dev);
        au0828_dvb_suspend(dev);
@@ -303,6 +305,8 @@ static int au0828_resume(struct usb_interface *interface)
        if (!dev)
                return 0;
 
+       pr_info("Resume\n");
+
        /* Power Up the bridge */
        au0828_write(dev, REG_600, 1 << 4);
 
index 99cf83bca0336a8b0df869aaaabf10ce28305b63..ee45990c0be18348bbf4728ae328c9f93152c7ac 100644 (file)
@@ -619,6 +619,8 @@ void au0828_dvb_suspend(struct au0828_dev *dev)
        struct au0828_dvb *dvb = &dev->dvb;
 
        if (dvb && dev->urb_streaming) {
+               pr_info("stopping DVB\n");
+
                cancel_work_sync(&dev->restart_streaming);
 
                /* Stop transport */
@@ -634,6 +636,8 @@ void au0828_dvb_resume(struct au0828_dev *dev)
        struct au0828_dvb *dvb = &dev->dvb;
 
        if (dvb && dev->urb_streaming) {
+               pr_info("resuming DVB\n");
+
                au0828_set_frontend(dvb->frontend);
 
                /* Start transport */
index 6db1ce8e09e1ba8fa4488b7eb2b8d0402f581441..63995f97dc653276abd5aaaab44e08c3dde0ba69 100644 (file)
@@ -378,6 +378,8 @@ int au0828_rc_suspend(struct au0828_dev *dev)
        if (!ir)
                return 0;
 
+       pr_info("Stopping RC\n");
+
        cancel_delayed_work_sync(&ir->work);
 
        /* Disable IR */
@@ -393,6 +395,8 @@ int au0828_rc_resume(struct au0828_dev *dev)
        if (!ir)
                return 0;
 
+       pr_info("Restarting RC\n");
+
        /* Enable IR */
        au8522_rc_set(ir, 0xe0, 1 << 4);
 
index 193b2e3642668c3d9c4c022d8a12bea3fd39b6c1..5f337b118bffe36e9969c3a8963e9871034ffce1 100644 (file)
@@ -1876,7 +1876,10 @@ void au0828_v4l2_suspend(struct au0828_dev *dev)
        struct urb *urb;
        int i;
 
+       pr_info("stopping V4L2\n");
+
        if (dev->stream_state == STREAM_ON) {
+               pr_info("stopping V4L2 active URBs\n");
                au0828_analog_stream_disable(dev);
                /* stop urbs */
                for (i = 0; i < dev->isoc_ctl.num_bufs; i++) {
@@ -1900,6 +1903,8 @@ void au0828_v4l2_resume(struct au0828_dev *dev)
 {
        int i, rc;
 
+       pr_info("restarting V4L2\n");
+
        if (dev->stream_state == STREAM_ON) {
                au0828_stream_interrupt(dev);
                au0828_init_tuner(dev);