mac820154: don't set monitor dev_addr
authorAlexander Aring <alex.aring@gmail.com>
Sun, 9 Nov 2014 07:36:56 +0000 (08:36 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 9 Nov 2014 18:50:29 +0000 (19:50 +0100)
This patch removes the setting of dev_addr on a monitor device. This
address should be zero. A monitor should only sniff and send raw frames
out. The address should be never used by upper layers and receiving
frame parsing.

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

index 4630ceb25ad2280f606ebcdb69d647b60472083c..d635f367b03fc2fb6752ca3da7465edf98ba3273 100644 (file)
@@ -416,12 +416,14 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata, int type)
        /* for compatibility, actual default is 3 */
        wpan_dev->frame_retries = -1;
 
-       ieee802154_be64_to_le64(&wpan_dev->extended_addr, sdata->dev->dev_addr);
        wpan_dev->pan_id = cpu_to_le16(IEEE802154_PANID_BROADCAST);
        wpan_dev->short_addr = cpu_to_le16(IEEE802154_ADDR_BROADCAST);
 
        switch (type) {
        case IEEE802154_DEV_WPAN:
+               ieee802154_be64_to_le64(&wpan_dev->extended_addr,
+                                       sdata->dev->dev_addr);
+
                sdata->dev->header_ops = &mac802154_header_ops;
                sdata->dev->destructor = mac802154_wpan_free;
                sdata->dev->netdev_ops = &mac802154_wpan_ops;