[lkml]   [2011]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH][WAS:bcmai,axi] bcma: add Broadcom specific AMBA bus driver
    On Sun, May 08, 2011 at 12:37:15PM +0200, Rafał Miłecki wrote:
    > 2011/5/8 Russell King - ARM Linux <>:
    > > On Sat, May 07, 2011 at 08:48:10PM +0200, Rafał Miłecki wrote:
    > >> Really, what's wrong with that? Does it kill anyone's pet we print
    > >> this? We also do:
    > >> pr_err("Scanning failed because of wrong CID\n");
    > >> return -1;
    > >> While we could drop pr_err. Why to do this? Advanced used can always
    > >> check what -1 means.
    > >
    > > And why return -1 when we have a system of error codes?  I _really_ wish
    > > people would stop returning -1 for "some random error occurred".
    > You commented on imagined code, but we actually do sth similar in code.
    > I did this because:
    > 1) I had no idea what err code would be valid for invalid EPROM layout
    > (content). Nothing from include/asm-generic/errno-base.h sounds
    > reasonable.
    > 2) I wanted to use different error codes for different EPROM layout
    > issues. Sometimes we don't get CIA block. Sometimes we don't get CIB
    > block. Sometimes there is problem with master port (not found in EPROM
    > when expected). They all would probably use the same errno.
    > Could you help me with this?

    The problem is if you start using -1 and mixing it with stuff which does
    return negative errno codes, you end up hitting one of two bugs:

    1. you interpret -1 as being -EPERM when actually you meant something else.
    2. you check the function's return value for -1 rather than < 0, and you
    unintentionally ignore valid -errno codes.

    So it's normally far better to find something in the errno stuff which
    approximates the error you have rather than using -1. Eg, if something
    is invalid and you can't find something which fits, -EINVAL is probably
    a good idea.

    If you can't access the eeprom because its not responding, maybe -EIO
    or -ETIMEDOUT would be better than -1?

    Maybe for CRC errors, or unexpected data -EILSEQ would be appropriate?

    Maybe if something being requested isn't found, -ENOENT would be better
    (may not be a file or directory, but it approximates the error as being
    'error no entry').
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2011-05-08 12:53    [W:0.025 / U:8.724 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site