[alsa-devel] [PATCH v2] MIDI driver for Behringer BCD2000 USB device

Daniel Mack daniel at zonque.org
Thu Feb 6 17:16:41 CET 2014


On 02/06/2014 05:07 PM, Mario Kicherer wrote:
> On 05.02.2014 23:32, Daniel Mack wrote:

>> ERROR: DOS line endings
>>
>> Did you send the patch using git send-email?
> 
> Yes, I only get the two warnings as Takashi. I also moved the
> strings in one line as he suggested.

As Takashi pointed out, that might be my bad. I'm puzzled though, as I
didn't change my procedure.

>> You could add something like this:
>>
>> #ifdef CONFIG_SND_DEBUG
>> static void bcd2000_midi_hex_dump(const char *prefix,
>> 				  const unsigned char *buf, int len)
>> {
>> 	print_hex_dump(KERN_DEBUG, prefix,
>> 		       DUMP_PREFIX_NONE, 16, 1, buf, len, false);
>> }
>> #else
>> static inline void bcd2000_midi_hex_dump(const char *prefix,
>> 				  const unsigned char *buf, int len) {}
>> #endif
>>
>> And then just call the function from various places. That would safe you
>> the module parameter, the condition check, and an indentation level.
> 
> Hm, I removed the CONFIG_ part as the module parameter would allow
> me and possible users to debug things spontaneously. But I can use our
> approach if you think it would be better nonetheless?

I think so. Less debug conditionals in the code usually result in better
readability. But it's a nit really.

>>> +		/* safety check */
>>> +		if (bcd2k->midi_cmd_offset + tocopy < BUFSIZE &&
>>> +				buf_offset + tocopy < len) {
>>> +			memcpy(&bcd2k->midi_cmd_buf[bcd2k->midi_cmd_offset],
>>> +				&buf[buf_offset], tocopy);
>>> +		} else {
>>> +			snd_printk(KERN_ERR PREFIX "access violation in %s\n",
>>> +					__func__);
>>
>> You want to drop the entire packet here, right?
> 
> Hm, I'm not sure. A "return" after the snd_printk would do, right?

Yes, that should do.


Daniel




More information about the Alsa-devel mailing list