aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/hdpvr/hdpvr-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/usb/hdpvr/hdpvr-core.c')
-rw-r--r--drivers/media/usb/hdpvr/hdpvr-core.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/media/usb/hdpvr/hdpvr-core.c b/drivers/media/usb/hdpvr/hdpvr-core.c
index 6e5070774dc2..2f0c89cbac76 100644
--- a/drivers/media/usb/hdpvr/hdpvr-core.c
+++ b/drivers/media/usb/hdpvr/hdpvr-core.c
@@ -78,7 +78,8 @@ void hdpvr_delete(struct hdpvr_device *dev)
78 78
79static void challenge(u8 *bytes) 79static void challenge(u8 *bytes)
80{ 80{
81 u64 *i64P, tmp64; 81 __le64 *i64P;
82 u64 tmp64;
82 uint i, idx; 83 uint i, idx;
83 84
84 for (idx = 0; idx < 32; ++idx) { 85 for (idx = 0; idx < 32; ++idx) {
@@ -106,10 +107,10 @@ static void challenge(u8 *bytes)
106 for (i = 0; i < 3; i++) 107 for (i = 0; i < 3; i++)
107 bytes[1] *= bytes[6] + 1; 108 bytes[1] *= bytes[6] + 1;
108 for (i = 0; i < 3; i++) { 109 for (i = 0; i < 3; i++) {
109 i64P = (u64 *)bytes; 110 i64P = (__le64 *)bytes;
110 tmp64 = le64_to_cpup(i64P); 111 tmp64 = le64_to_cpup(i64P);
111 tmp64 <<= bytes[7] & 0x0f; 112 tmp64 = tmp64 + (tmp64 << (bytes[7] & 0x0f));
112 *i64P += cpu_to_le64(tmp64); 113 *i64P = cpu_to_le64(tmp64);
113 } 114 }
114 break; 115 break;
115 } 116 }
@@ -301,8 +302,6 @@ static int hdpvr_probe(struct usb_interface *interface,
301 goto error; 302 goto error;
302 } 303 }
303 304
304 dev->workqueue = 0;
305
306 /* init video transfer queues first of all */ 305 /* init video transfer queues first of all */
307 /* to prevent oops in hdpvr_delete() on error paths */ 306 /* to prevent oops in hdpvr_delete() on error paths */
308 INIT_LIST_HEAD(&dev->free_buff_list); 307 INIT_LIST_HEAD(&dev->free_buff_list);