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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html