mirror of
https://github.com/torvalds/linux.git
synced 2024-09-21 23:43:02 +00:00
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>
This commit is contained in:
parent
66a3297f6d
commit
641459ca33
|
@ -36,8 +36,8 @@ static int mac802154_mlme_start_req(struct net_device *dev,
|
||||||
u8 pan_coord, u8 blx,
|
u8 pan_coord, u8 blx,
|
||||||
u8 coord_realign)
|
u8 coord_realign)
|
||||||
{
|
{
|
||||||
struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev);
|
struct ieee802154_llsec_params params;
|
||||||
int rc = 0;
|
int changed = 0;
|
||||||
|
|
||||||
ASSERT_RTNL();
|
ASSERT_RTNL();
|
||||||
|
|
||||||
|
@ -47,26 +47,19 @@ static int mac802154_mlme_start_req(struct net_device *dev,
|
||||||
dev->ieee802154_ptr->short_addr = addr->short_addr;
|
dev->ieee802154_ptr->short_addr = addr->short_addr;
|
||||||
mac802154_dev_set_page_channel(dev, page, channel);
|
mac802154_dev_set_page_channel(dev, page, channel);
|
||||||
|
|
||||||
if (ops->llsec) {
|
params.pan_id = addr->pan_id;
|
||||||
struct ieee802154_llsec_params params;
|
changed |= IEEE802154_LLSEC_PARAM_PAN_ID;
|
||||||
int changed = 0;
|
|
||||||
|
|
||||||
params.coord_shortaddr = addr->short_addr;
|
params.hwaddr = ieee802154_devaddr_from_raw(dev->dev_addr);
|
||||||
changed |= IEEE802154_LLSEC_PARAM_COORD_SHORTADDR;
|
changed |= IEEE802154_LLSEC_PARAM_HWADDR;
|
||||||
|
|
||||||
params.pan_id = addr->pan_id;
|
params.coord_hwaddr = params.hwaddr;
|
||||||
changed |= IEEE802154_LLSEC_PARAM_PAN_ID;
|
changed |= IEEE802154_LLSEC_PARAM_COORD_HWADDR;
|
||||||
|
|
||||||
params.hwaddr = ieee802154_devaddr_from_raw(dev->dev_addr);
|
params.coord_shortaddr = addr->short_addr;
|
||||||
changed |= IEEE802154_LLSEC_PARAM_HWADDR;
|
changed |= IEEE802154_LLSEC_PARAM_COORD_SHORTADDR;
|
||||||
|
|
||||||
params.coord_hwaddr = params.hwaddr;
|
return mac802154_set_params(dev, ¶ms, changed);
|
||||||
changed |= IEEE802154_LLSEC_PARAM_COORD_HWADDR;
|
|
||||||
|
|
||||||
rc = ops->llsec->set_params(dev, ¶ms, changed);
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mac802154_set_mac_params(struct net_device *dev,
|
static int mac802154_set_mac_params(struct net_device *dev,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user