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>
This commit is contained in:
Henrik Kurelid
2008-12-04 22:40:52 +01:00
committed by Stefan Richter
parent 8ae83cdf32
commit 096edfbf16

View File

@@ -763,7 +763,7 @@ int avc_ca_info(struct firesat *firesat, char *app_info, unsigned int *len)
{ {
AVCCmdFrm CmdFrm; AVCCmdFrm CmdFrm;
AVCRspFrm RspFrm; AVCRspFrm RspFrm;
/* int pos; FIXME: unused */ int pos;
memset(&CmdFrm, 0, sizeof(AVCCmdFrm)); memset(&CmdFrm, 0, sizeof(AVCCmdFrm));
CmdFrm.cts = AVC; 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) if (avc_write(firesat, &CmdFrm, &RspFrm) < 0)
return -EIO; 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[0] = (TAG_CA_INFO >> 16) & 0xFF;
app_info[1] = (TAG_CA_INFO >> 8) & 0xFF; app_info[1] = (TAG_CA_INFO >> 8) & 0xFF;
app_info[2] = (TAG_CA_INFO >> 0) & 0xFF; app_info[2] = (TAG_CA_INFO >> 0) & 0xFF;
app_info[3] = 2; app_info[3] = 2;
app_info[4] = app_info[5]; app_info[4] = RspFrm.operand[pos + 0];
app_info[5] = app_info[6]; app_info[5] = RspFrm.operand[pos + 1];
*len = app_info[3] + 4; *len = app_info[3] + 4;
return 0; return 0;