[net-next 01/18] ieee802154: hwsim: Ensure proper channel selection at probe time

From: Miquel Raynal
Date: Wed Dec 22 2021 - 10:57:54 EST


A default channel is selected by default (13), let's clarify that this
is page 0 channel 13. Call the right helper to ensure the necessary
configuration for this channel has been applied.

So far there is very little configuration done in this helper but we
will soon add more information (like the symbol duration which is
missing) and having this helper called at probe time will prevent us to
this type of initialization at two different locations.

So far there is very little configuration done in this helper but thanks
to this improvement, future enhancements in this area (like setting a
symbol duration, which is missing) will be reflected automatically in
the default probe state.

Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
---
drivers/net/ieee802154/mac802154_hwsim.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ieee802154/mac802154_hwsim.c b/drivers/net/ieee802154/mac802154_hwsim.c
index 62ced7a30d92..b1a4ee7dceda 100644
--- a/drivers/net/ieee802154/mac802154_hwsim.c
+++ b/drivers/net/ieee802154/mac802154_hwsim.c
@@ -778,8 +778,6 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev,

ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);

- /* hwsim phy channel 13 as default */
- hw->phy->current_channel = 13;
pib = kzalloc(sizeof(*pib), GFP_KERNEL);
if (!pib) {
err = -ENOMEM;
@@ -793,6 +791,11 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev,
hw->flags = IEEE802154_HW_PROMISCUOUS | IEEE802154_HW_RX_DROP_BAD_CKSUM;
hw->parent = dev;

+ /* Set page 0 / channel 13 as default */
+ hw->phy->current_page = 0;
+ hw->phy->current_channel = 13;
+ hwsim_hw_channel(hw, hw->phy->current_page, hw->phy->current_channel);
+
err = ieee802154_register_hw(hw);
if (err)
goto err_reg;
--
2.27.0