* [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines
@ 2015-03-04 11:24 Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
0 siblings, 2 replies; 4+ messages in thread
From: Alexander Aring @ 2015-03-04 11:24 UTC (permalink / raw)
To: linux-wpan; +Cc: kernel, mkl, Alexander Aring
Hi,
this series corrects the interframe spacing time when
IEEE802154_HW_TX_OMIT_CKSUM phy flag is set. This flag is set when the
transceiver sets the crc on his own.
Also I add some defines from 802.15.4 standard. There is still some magic
values for IEEE802154_FCS_LEN everywhere in mac802154 implementation. We
should replace these values with IEEE802154_FCS_LEN later.
- Alex
changes since v2:
- squash patch 3 into 2, which was suggested by Marc Kleine-Budde.
Alexander Aring (2):
mac802154: correct max sifs size handling
ieee802154: replace magic numbers by standard defines
include/linux/ieee802154.h | 2 ++
net/mac802154/util.c | 13 ++++++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
--
2.3.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling
2015-03-04 11:24 [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines Alexander Aring
@ 2015-03-04 11:24 ` Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
1 sibling, 0 replies; 4+ messages in thread
From: Alexander Aring @ 2015-03-04 11:24 UTC (permalink / raw)
To: linux-wpan; +Cc: kernel, mkl, Alexander Aring
This patch fix the max sifs size correction when the
IEEE802154_HW_TX_OMIT_CKSUM flag is set. With this flag the sk_buff
doesn't contain the CRC, because the transceiver will add the CRC
while transmit.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
net/mac802154/util.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/net/mac802154/util.c b/net/mac802154/util.c
index 5fc9790..04e13d9 100644
--- a/net/mac802154/util.c
+++ b/net/mac802154/util.c
@@ -65,8 +65,18 @@ void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
{
if (ifs_handling) {
struct ieee802154_local *local = hw_to_local(hw);
+ u8 max_sifs_size;
- if (skb->len > 18)
+ /* If transceiver sets CRC on his own we need to use lifs
+ * threshold len above 16 otherwise 18, because it's not
+ * part of skb->len.
+ */
+ if (hw->flags & IEEE802154_HW_TX_OMIT_CKSUM)
+ max_sifs_size = 16;
+ else
+ max_sifs_size = 18;
+
+ if (skb->len > max_sifs_size)
hrtimer_start(&local->ifs_timer,
ktime_set(0, hw->phy->lifs_period * NSEC_PER_USEC),
HRTIMER_MODE_REL);
--
2.3.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines
2015-03-04 11:24 [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling Alexander Aring
@ 2015-03-04 11:24 ` Alexander Aring
2015-03-04 11:31 ` Marc Kleine-Budde
1 sibling, 1 reply; 4+ messages in thread
From: Alexander Aring @ 2015-03-04 11:24 UTC (permalink / raw)
To: linux-wpan; +Cc: kernel, mkl, Alexander Aring
This patch adds a define for the max sifs frame size value and frame check
sequence according to 802.15.4 standard.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
include/linux/ieee802154.h | 2 ++
net/mac802154/util.c | 5 +++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/linux/ieee802154.h b/include/linux/ieee802154.h
index 40b0ab9..8872ca1 100644
--- a/include/linux/ieee802154.h
+++ b/include/linux/ieee802154.h
@@ -30,6 +30,7 @@
#define IEEE802154_MTU 127
#define IEEE802154_ACK_PSDU_LEN 5
#define IEEE802154_MIN_PSDU_LEN 9
+#define IEEE802154_FCS_LEN 2
#define IEEE802154_PAN_ID_BROADCAST 0xffff
#define IEEE802154_ADDR_SHORT_BROADCAST 0xffff
@@ -39,6 +40,7 @@
#define IEEE802154_LIFS_PERIOD 40
#define IEEE802154_SIFS_PERIOD 12
+#define IEEE802154_MAX_SIFS_FRAME_SIZE 18
#define IEEE802154_MAX_CHANNEL 26
#define IEEE802154_MAX_PAGE 31
diff --git a/net/mac802154/util.c b/net/mac802154/util.c
index 04e13d9..150bf80 100644
--- a/net/mac802154/util.c
+++ b/net/mac802154/util.c
@@ -72,9 +72,10 @@ void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
* part of skb->len.
*/
if (hw->flags & IEEE802154_HW_TX_OMIT_CKSUM)
- max_sifs_size = 16;
+ max_sifs_size = IEEE802154_MAX_SIFS_FRAME_SIZE -
+ IEEE802154_FCS_LEN;
else
- max_sifs_size = 18;
+ max_sifs_size = IEEE802154_MAX_SIFS_FRAME_SIZE;
if (skb->len > max_sifs_size)
hrtimer_start(&local->ifs_timer,
--
2.3.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
@ 2015-03-04 11:31 ` Marc Kleine-Budde
0 siblings, 0 replies; 4+ messages in thread
From: Marc Kleine-Budde @ 2015-03-04 11:31 UTC (permalink / raw)
To: Alexander Aring, linux-wpan; +Cc: kernel
[-- Attachment #1: Type: text/plain, Size: 553 bytes --]
On 03/04/2015 12:24 PM, Alexander Aring wrote:
> This patch adds a define for the max sifs frame size value and frame check
> sequence according to 802.15.4 standard.
and now squash 2 into 1 :) It make no sense to first add magic numbers
and then replace them.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-03-04 11:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-04 11:24 [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
2015-03-04 11:31 ` Marc Kleine-Budde
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.