On Mon, 12 Jan 2009 15:35:19 +0100 Takashi Iwai tiwai@suse.de wrote:
Hi,
so far, we use snd_card_new() function to create a card instance. A known problem regarding this API is that it doesn't return a proper error code, thus the probe callback always returns -ENOMEM (or whatever the driver defines) no matter which error occurred actually. A typical case is the card slot conflict. Even in such a case, it returns -ENOMEM, which may mislead the user.
Another approach is PTR_ERR macro used already in the kernel (see include/linux/err.h). It encodes the error code in the returned pointer value. There are already hndy macros/inlines to get this code, test error, etc.
Regards, Krzysztof
---------------------------------------------------------------------- Speak Up. Angielski szybko i skutecznie. 3 miesiace nauki gratis. Sprawdz. >> http://link.interia.pl/f2019