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

Reply via email to