Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 096edfbf authored by Henrik Kurelid's avatar Henrik Kurelid Committed by Stefan Richter
Browse files

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: default avatarHenrik Kurelid <henrik@kurelid.se>
Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 8ae83cdf
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;