]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: ieee802154: ca8210: Fix lifs/sifs periods
authorMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 1 Feb 2022 18:06:26 +0000 (19:06 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Feb 2022 10:58:39 +0000 (11:58 +0100)
commit bdc120a2bcd834e571ce4115aaddf71ab34495de upstream.

These periods are expressed in time units (microseconds) while 40 and 12
are the number of symbol durations these periods will last. We need to
multiply them both with the symbol_duration in order to get these
values in microseconds.

Fixes: ded845a781a5 ("ieee802154: Add CA8210 IEEE 802.15.4 device driver")
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20220201180629.93410-2-miquel.raynal@bootlin.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ieee802154/ca8210.c

index 3169c174006ab8b28e30f574c92aa8da73502a90..7c5db4f73cce65036343f1dc69f927bbecc3b262 100644 (file)
@@ -2975,8 +2975,8 @@ static void ca8210_hw_setup(struct ieee802154_hw *ca8210_hw)
        ca8210_hw->phy->cca.opt = NL802154_CCA_OPT_ENERGY_CARRIER_AND;
        ca8210_hw->phy->cca_ed_level = -9800;
        ca8210_hw->phy->symbol_duration = 16;
-       ca8210_hw->phy->lifs_period = 40;
-       ca8210_hw->phy->sifs_period = 12;
+       ca8210_hw->phy->lifs_period = 40 * ca8210_hw->phy->symbol_duration;
+       ca8210_hw->phy->sifs_period = 12 * ca8210_hw->phy->symbol_duration;
        ca8210_hw->flags =
                IEEE802154_HW_AFILT |
                IEEE802154_HW_OMIT_CKSUM |