Re: [PATCH] firedtv: refine AVC debugging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17 Jul, Henrik Kurelid wrote:
[I wrote]
>> Shouldn't the three return statements in debug_fcp_opcode_flag_set be
>> 'return 0' rather than one?
> I gave this some thought when I implemented it. These are "should not
> happend"-situations where the drivers or hardware sends unknown/
> unimplemented commands. Rather than making sure that they are never
> seen in the logs I wanted them to always be logged (as long as some
> debug logging is turned on) since they indicate driver/hw problems.

Ah, that's why.  Could be documented:

static int debug_fcp_opcode_flag_set(unsigned int opcode,
				     const u8 *data, int length)
{
	switch (opcode) {
	case AVC_OPCODE_VENDOR:			break;
	case AVC_OPCODE_READ_DESCRIPTOR:	return avc_debug & AVC_DEBUG_READ_DESCRIPTOR;
	case AVC_OPCODE_DSIT:			return avc_debug & AVC_DEBUG_DSIT;
	case AVC_OPCODE_DSD:			return avc_debug & AVC_DEBUG_DSD;
	default:				goto unknown_opcode;
	}

	if (length < 7 ||
	    data[3] != SFE_VENDOR_DE_COMPANYID_0 ||
	    data[4] != SFE_VENDOR_DE_COMPANYID_1 ||
	    data[5] != SFE_VENDOR_DE_COMPANYID_2)
		goto unknown_opcode;

	switch (data[6]) {
	case SFE_VENDOR_OPCODE_REGISTER_REMOTE_CONTROL:	return avc_debug & AVC_DEBUG_REGISTER_REMOTE_CONTROL;
	case SFE_VENDOR_OPCODE_LNB_CONTROL:		return avc_debug & AVC_DEBUG_LNB_CONTROL;
	case SFE_VENDOR_OPCODE_TUNE_QPSK:		return avc_debug & AVC_DEBUG_TUNE_QPSK;
	case SFE_VENDOR_OPCODE_TUNE_QPSK2:		return avc_debug & AVC_DEBUG_TUNE_QPSK2;
	case SFE_VENDOR_OPCODE_HOST2CA:			return avc_debug & AVC_DEBUG_HOST2CA;
	case SFE_VENDOR_OPCODE_CA2HOST:			return avc_debug & AVC_DEBUG_CA2HOST;
	}

unknown_opcode:  /* should never happen, log it */
	return 1;
}


By the way, from here it looks as if your MUA converted tabs to spaces.
In your other patch too.
-- 
Stefan Richter
-=====-==--= -=== =---=
http://arcgraph.de/sr/

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux