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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, 22 Dec 2021 at 10:57, Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:
>
> 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.
>

I see why this patch is necessary because in later patches the symbol
duration is set at ".set_channel()" callback like the at86rf230 driver
is doing it.
However there is an old TODO [0]. I think we should combine it and
implement it in ieee802154_set_channel() of "net/mac802154/cfg.c".
Also do the symbol duration setting according to the channel/page when
we call ieee802154_register_hw(), so we have it for the default
settings.

> 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;

sadly this patch doesn't apply on current net-next/master because
IEEE802154_HW_RX_DROP_BAD_CKSUM is not set.
I agree that it should be set, so we need a patch for it.

- Alex

[0] https://elixir.bootlin.com/linux/v5.16-rc7/source/drivers/net/ieee802154/at86rf230.c#L1059



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux