Subject: Re: [PATCH 1/2] gigaset: return -ENOSYS for unimplemented functions

From: Tilman Schmidt <[email-masked]>
Date: Sun, 08 Mar 2009 01:22:28 +0100

Am 07.03.2009 23:26 schrieb Arjan van de Ven:
> On Sat,  7 Mar 2009 23:10:57 +0100 (CET)
> Tilman Schmidt <[email-masked]> wrote:
> 
>> From: Paul Bolle <[email-masked]>
>>
>> A number of functions in the usb_gigaset module will return -EINVAL if
>> CONFIG_GIGASET_UNDOCREQ is not set. Make these return -ENOSYS as it's
>> more specific and it might make it easier to see (from userspace) why
>> these functions actually fail.
>>
>> Impact: some error return codes changed
> 
> ENODEV is what would be more appropriate.

Not at all. ENODEV means "no such device", which would be quite wrong.
The device does exist and is in all probability working perfectly fine.
It just doesn't implement that particular ioctl.

> ENOSYS shuoldn't be returned from drivers, only from unimplemented
> system calls!

There's precedent for using ENOSYS for that case, for example in
drivers/char/vt_ioctl.c. But I'm open for other suggestions.

Thanks,
Tilman

-- 
Tilman Schmidt                    E-Mail: [email-masked]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Ungeöffnet mindestens haltbar bis: (siehe Rückseite)