usbtuner: use bulk transfer mode
Terry Heo [Tue, 19 May 2015 07:18:42 +0000 (16:18 +0900)]
There is a TS packet loss issue on isochronous transfer mode of Nexus
Player. Change to use bulk transfer mode to avoid it.
In addition, fix a typo on cx231xx_uninit_bulk() function.

Bug 1736911

Change-Id: I1fac4b13bf006b4071ce5934a5b2dfa4aab6307a
Signed-off-by: Terry Heo <terryheo@google.com>
Reviewed-on: http://git-master/r/1029828
(cherry picked from commit 262f3337265125ec5f496bb6b4c65a925b73ffa5)
Reviewed-on: http://git-master/r/1311286
GVS: Gerrit_Virtual_Submit
Tested-by: Jean Huang <jeanh@nvidia.com>
Reviewed-by: Vinayak Pane <vpane@nvidia.com>
Reviewed-on: http://git-master/r/1456484
Tested-by: Patrick Horng <phorng@nvidia.com>
Reviewed-by: Manish Tuteja <mtuteja@nvidia.com>

drivers/media/usb/cx231xx/cx231xx-cards.c
drivers/media/usb/cx231xx/cx231xx-core.c

index e4653b9..6e4af9a 100644 (file)
@@ -42,7 +42,7 @@ static int tuner = -1;
 module_param(tuner, int, 0444);
 MODULE_PARM_DESC(tuner, "tuner type");
 
-static int transfer_mode = 1;
+static int transfer_mode = 0;
 module_param(transfer_mode, int, 0444);
 MODULE_PARM_DESC(transfer_mode, "transfer mode (1-ISO or 0-BULK)");
 
index 4ba3ce0..3a1aa86 100644 (file)
@@ -941,7 +941,7 @@ void cx231xx_uninit_bulk(struct cx231xx *dev)
                        if (dev->video_mode.bulk_ctl.transfer_buffer[i]) {
                                usb_free_coherent(dev->udev,
                                                urb->transfer_buffer_length,
-                                               dev->video_mode.isoc_ctl.
+                                               dev->video_mode.bulk_ctl.
                                                transfer_buffer[i],
                                                urb->transfer_dma);
                        }