at86rf230: fix at86rf230_read_subreg succeed handling
authorAlexander Aring <alex.aring@gmail.com>
Tue, 17 Mar 2015 09:32:39 +0000 (10:32 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 17 Mar 2015 15:30:57 +0000 (16:30 +0100)
This patch fix an issue when at86rf230_read_subreg was successful. The
function at86rf230_read_subreg will directly call regmap_read which
returns zero on successful. Nobody figured out issues yet because it was
only necessary to evaluate dvdd state while probing. This could make
trouble because the stack variable could have an random value.

The function is also used by reset the irq line before requesting irq, but
the value isn't evaluated afterwards.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/net/ieee802154/at86rf230.c

index b64c5c7..cc5efa1 100644 (file)
@@ -325,7 +325,7 @@ at86rf230_read_subreg(struct at86rf230_local *lp,
        int rc;
 
        rc = __at86rf230_read(lp, addr, data);
-       if (rc > 0)
+       if (!rc)
                *data = (*data & mask) >> shift;
 
        return rc;