diff options
Diffstat (limited to 'net/mac802154/mac_cmd.c')
-rw-r--r-- | net/mac802154/mac_cmd.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/net/mac802154/mac_cmd.c b/net/mac802154/mac_cmd.c index 00b2b214770e..b8bd95263aab 100644 --- a/net/mac802154/mac_cmd.c +++ b/net/mac802154/mac_cmd.c | |||
@@ -72,10 +72,21 @@ static int mac802154_set_mac_params(struct net_device *dev, | |||
72 | { | 72 | { |
73 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); | 73 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
74 | struct ieee802154_local *local = sdata->local; | 74 | struct ieee802154_local *local = sdata->local; |
75 | struct wpan_dev *wpan_dev = &sdata->wpan_dev; | ||
75 | int ret; | 76 | int ret; |
76 | 77 | ||
77 | mutex_lock(&sdata->local->iflist_mtx); | 78 | mutex_lock(&sdata->local->iflist_mtx); |
78 | sdata->mac_params = *params; | 79 | /* PHY */ |
80 | wpan_dev->wpan_phy->transmit_power = params->transmit_power; | ||
81 | wpan_dev->wpan_phy->cca_mode = params->cca_mode; | ||
82 | wpan_dev->wpan_phy->cca_ed_level = params->cca_ed_level; | ||
83 | |||
84 | /* MAC */ | ||
85 | wpan_dev->min_be = params->min_be; | ||
86 | wpan_dev->max_be = params->max_be; | ||
87 | wpan_dev->csma_retries = params->csma_retries; | ||
88 | wpan_dev->frame_retries = params->frame_retries; | ||
89 | wpan_dev->lbt = params->lbt; | ||
79 | mutex_unlock(&sdata->local->iflist_mtx); | 90 | mutex_unlock(&sdata->local->iflist_mtx); |
80 | 91 | ||
81 | if (local->hw.flags & IEEE802154_HW_TXPOWER) { | 92 | if (local->hw.flags & IEEE802154_HW_TXPOWER) { |
@@ -103,9 +114,20 @@ static void mac802154_get_mac_params(struct net_device *dev, | |||
103 | struct ieee802154_mac_params *params) | 114 | struct ieee802154_mac_params *params) |
104 | { | 115 | { |
105 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); | 116 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
117 | struct wpan_dev *wpan_dev = &sdata->wpan_dev; | ||
106 | 118 | ||
107 | mutex_lock(&sdata->local->iflist_mtx); | 119 | mutex_lock(&sdata->local->iflist_mtx); |
108 | *params = sdata->mac_params; | 120 | /* PHY */ |
121 | params->transmit_power = wpan_dev->wpan_phy->transmit_power; | ||
122 | params->cca_mode = wpan_dev->wpan_phy->cca_mode; | ||
123 | params->cca_ed_level = wpan_dev->wpan_phy->cca_ed_level; | ||
124 | |||
125 | /* MAC */ | ||
126 | params->min_be = wpan_dev->min_be; | ||
127 | params->max_be = wpan_dev->max_be; | ||
128 | params->csma_retries = wpan_dev->csma_retries; | ||
129 | params->frame_retries = wpan_dev->frame_retries; | ||
130 | params->lbt = wpan_dev->lbt; | ||
109 | mutex_unlock(&sdata->local->iflist_mtx); | 131 | mutex_unlock(&sdata->local->iflist_mtx); |
110 | } | 132 | } |
111 | 133 | ||