ieee802154: default to AACK in at86rf230
authorPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Mon, 17 Feb 2014 10:34:07 +0000 (11:34 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Feb 2014 21:42:38 +0000 (16:42 -0500)
The current IEEE802.15.4 stack assumes that a radio will never deliver
packets with a bad CRC into the stack, as required by the standard.
at86rf230 driven radios violates this assumption because of another
incompatibility: devices are required to send ACKs if requested by a
sender, but RF2xx will only send ACKs from a special receive mode that
is currently not used by the driver.

Enable this receive mode to fix both bugs. Frames with bad CRCs will not
be received at all, and ACKs will be sent if so requested.

Signed-off-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ieee802154/at86rf230.c

index 6dd97829ff0811907414fc325f63eacf14b72d01..bd1ef0b3bee922113f778d8b1afe7fb8a6f66319 100644 (file)
@@ -567,7 +567,7 @@ at86rf230_start(struct ieee802154_dev *dev)
        if (rc)
                return rc;
 
-       return at86rf230_state(dev, STATE_RX_ON);
+       return at86rf230_state(dev, STATE_RX_AACK_ON);
 }
 
 static void