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