Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mac802154: mac802154_mlme_start_req() optimisation.

mac802154_mlme_start_req() calls
ieee802154_mlme_ops(dev)->llsec->set_params() on the net_device
passed into it, however, this net_device will always be a mac802154
net_device, so just call mac802154_set_params() directly instead.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Acked-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

authored by

Lennert Buytenhek and committed by
Marcel Holtmann
641459ca 66a3297f

+11 -18
+11 -18
net/mac802154/mac_cmd.c
··· 36 36 u8 pan_coord, u8 blx, 37 37 u8 coord_realign) 38 38 { 39 - struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev); 40 - int rc = 0; 39 + struct ieee802154_llsec_params params; 40 + int changed = 0; 41 41 42 42 ASSERT_RTNL(); 43 43 ··· 47 47 dev->ieee802154_ptr->short_addr = addr->short_addr; 48 48 mac802154_dev_set_page_channel(dev, page, channel); 49 49 50 - if (ops->llsec) { 51 - struct ieee802154_llsec_params params; 52 - int changed = 0; 50 + params.pan_id = addr->pan_id; 51 + changed |= IEEE802154_LLSEC_PARAM_PAN_ID; 53 52 54 - params.coord_shortaddr = addr->short_addr; 55 - changed |= IEEE802154_LLSEC_PARAM_COORD_SHORTADDR; 53 + params.hwaddr = ieee802154_devaddr_from_raw(dev->dev_addr); 54 + changed |= IEEE802154_LLSEC_PARAM_HWADDR; 56 55 57 - params.pan_id = addr->pan_id; 58 - changed |= IEEE802154_LLSEC_PARAM_PAN_ID; 56 + params.coord_hwaddr = params.hwaddr; 57 + changed |= IEEE802154_LLSEC_PARAM_COORD_HWADDR; 59 58 60 - params.hwaddr = ieee802154_devaddr_from_raw(dev->dev_addr); 61 - changed |= IEEE802154_LLSEC_PARAM_HWADDR; 59 + params.coord_shortaddr = addr->short_addr; 60 + changed |= IEEE802154_LLSEC_PARAM_COORD_SHORTADDR; 62 61 63 - params.coord_hwaddr = params.hwaddr; 64 - changed |= IEEE802154_LLSEC_PARAM_COORD_HWADDR; 65 - 66 - rc = ops->llsec->set_params(dev, &params, changed); 67 - } 68 - 69 - return rc; 62 + return mac802154_set_params(dev, &params, changed); 70 63 } 71 64 72 65 static int mac802154_set_mac_params(struct net_device *dev,