summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/firesat/avc_api.c
diff options
context:
space:
mode:
authorHenrik Kurelid2008-12-04 22:40:52 +0100
committerStefan Richter2009-02-24 14:51:28 +0100
commit096edfbf167ab277608d26ba8b7978da116a4996 (patch)
tree46aaf081b22a7b9a588f8908187d35c24993c11b /drivers/media/dvb/firesat/avc_api.c
parentfiredtv: cleanups and minor fixes (diff)
downloadkernel-qcow2-linux-096edfbf167ab277608d26ba8b7978da116a4996.tar.gz
kernel-qcow2-linux-096edfbf167ab277608d26ba8b7978da116a4996.tar.xz
kernel-qcow2-linux-096edfbf167ab277608d26ba8b7978da116a4996.zip
firedtv: fix returned struct for ca_info
The SystemId of the ca_info message was filled with garbage. It now returns what the card returns. Signed-off-by: Henrik Kurelid <henrik@kurelid.se> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/media/dvb/firesat/avc_api.c')
-rw-r--r--drivers/media/dvb/firesat/avc_api.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/dvb/firesat/avc_api.c b/drivers/media/dvb/firesat/avc_api.c
index 56911f3df7f6..3a4da73f0798 100644
--- a/drivers/media/dvb/firesat/avc_api.c
+++ b/drivers/media/dvb/firesat/avc_api.c
@@ -763,7 +763,7 @@ int avc_ca_info(struct firesat *firesat, char *app_info, unsigned int *len)
{
AVCCmdFrm CmdFrm;
AVCRspFrm RspFrm;
- /* int pos; FIXME: unused */
+ int pos;
memset(&CmdFrm, 0, sizeof(AVCCmdFrm));
CmdFrm.cts = AVC;
@@ -783,13 +783,13 @@ int avc_ca_info(struct firesat *firesat, char *app_info, unsigned int *len)
if (avc_write(firesat, &CmdFrm, &RspFrm) < 0)
return -EIO;
- /* pos = get_ca_object_pos(&RspFrm); FIXME: unused */
+ pos = get_ca_object_pos(&RspFrm);
app_info[0] = (TAG_CA_INFO >> 16) & 0xFF;
app_info[1] = (TAG_CA_INFO >> 8) & 0xFF;
app_info[2] = (TAG_CA_INFO >> 0) & 0xFF;
app_info[3] = 2;
- app_info[4] = app_info[5];
- app_info[5] = app_info[6];
+ app_info[4] = RspFrm.operand[pos + 0];
+ app_info[5] = RspFrm.operand[pos + 1];
*len = app_info[3] + 4;
return 0;