Thread (6 messages) flat view 6 messages, 5 authors, 2014-01-13

Re: Use of ENOTSUPP in drivers?

From: Ben Hutchings <hidden>
Date: 2014-01-12 20:47:06

On Sun, 2014-01-12 at 19:57 +0100, Sabrina Dubroca wrote:
Thu, 2 Jan 2014 12:01:31 +0000, Ben Hutchings wrote:
quoted
Never return error code ENOTSUPP; it's *not* the same thing as ENOTSUP
in userland and is not part of the userland ABI.  I would use EINVAL
here.

I've found a few ethernet drivers that return -ENOTSUPP in various
functions. In particular, some ethtool functions or ioctl's.
Ben's message makes me think that the ethtool functions and ioctl's
should be modified.

There are other occurences, mostly in functions related to device
initialization. I didn't manage to track down exactly from where some
of them are called, and I don't know if ENOTSUPP is okay in these.

I've included the complete list of occurences (based on net-next) from
drivers/net/ethernet in patch form at the end, if that's more
convenient than the file/function list. This is not meant to be
applied.


Do these (or part of them) need to be patched? Or is there something
I'm missing?
[...]

I believe they should all be patched.  According to
include/linux/errno.h, ENOTSUPP is meant for use in the NFSv3 code only.
(But it's apparently erroneously used *all over* the tree, not just in
net drivers!)

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help