Hi,
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.
Do you disagree with my reasoning? I guess that the best would be to make sure
that all unknown messages are always logged as warnings with their
full content.
Regarding your other comment, I will fix that in the next patch version.
Regards,
Henrik
> Henrik Kurelid wrote:
>> +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:
return 1;
>> + }
>> +
>> + if (length < 7 ||
>> + data[3] != SFE_VENDOR_DE_COMPANYID_0 ||
>> + data[4] != SFE_VENDOR_DE_COMPANYID_1 ||
>> + data[5] != SFE_VENDOR_DE_COMPANYID_2)
>> + return 1;
>> +
>> + 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; + }
>> + return 1;
>> +}
>> +
>> static void debug_fcp(const u8 *data, int length)
>> {
>> unsigned int subunit_type, subunit_id, op;
>> const char *prefix = data[0] > 7 ? "FCP <- " : "FCP -> ";
>> - if (avc_debug & AVC_DEBUG_FCP_SUBACTIONS) {
>> - subunit_type = data[1] >> 3;
>> - subunit_id = data[1] & 7;
>> - op = subunit_type == 0x1e || subunit_id == 5 ? ~0 : data[2];
>> + subunit_type = data[1] >> 3;
>> + subunit_id = data[1] & 7;
>> + op = subunit_type == 0x1e || subunit_id == 5 ? ~0 : data[2]; +
>> if (debug_fcp_opcode_flag_set(op, data, length)) {
>> printk(KERN_INFO "%ssu=%x.%x l=%d: %-8s - %s\n",
> [...]
>
> Shouldn't the three return statements in debug_fcp_opcode_flag_set be 'return
> 0' rather than one?
> --
> Stefan Richter
> -=====-==--= -=== =---=
> http://arcgraph.de/sr/
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in the
> body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html