31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 655 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070034.575739538@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

24 Feb, 2016

1 commit


11 Aug, 2015

1 commit

  • This patch changes the default minimum value of frame_retries to 0 and
    changes the frame_retries default value to 3 which is also 802.15.4
    default.

    We don't use the frame_retries "-1" value as indicator for no-aret mode
    anymore, instead we checking on the ack request bit inside the 802.15.4
    frame control field. This allows a acknowledge handling per frame. This
    checking is done by transceiver or inside xmit callback of driver layer.

    If a transceiver doesn't support ARET handling the transmit
    functionality ignores ack frames then, which isn't well but should not
    effect anything of current functionality.

    Reviewed-by: Stefan Schmidt
    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

30 Jul, 2015

1 commit

  • When transmitting a packet via a mac802154 driver that can sleep in
    its transmit function, mac802154 defers the call to the driver's
    transmit function to a per-device workqueue.

    However, mac802154 uses a single global work_struct for this, which
    means that if you have more than one registered mac802154 interface
    in the system, and you transmit on more than one of them at the same
    time, you'll very easily cause memory corruption.

    This patch moves the deferred transmit processing state from global
    variables to struct ieee802154_local, and this seems to fix the memory
    corruption issue.

    Signed-off-by: Lennert Buytenhek
    Acked-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Lennert Buytenhek
     

23 Jul, 2015

2 commits


19 May, 2015

2 commits

  • This patch adds capability flags for supported interface types.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch adds support for phy supported handling for all other already
    existing handling 802.15.4 functionality. We assume now a fully 802.15.4
    complaint transceiver at phy allocation. If a transceiver can support
    802.15.4 default values only, then the values should be overwirtten by
    values the transceiver supports. If the transceiver doesn't set the
    according hardware flags, we assume the 802.15.4 defaults now which
    cannot be changed.

    Signed-off-by: Alexander Aring
    Suggested-by: Phoebe Buckheister
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

10 May, 2015

1 commit


01 May, 2015

2 commits

  • This code is based on commit 6bab2e19c5ffd
    ("cfg80211: pass name_assign_type to rdev_add_virtual_intf()")

    This will expose in sysfs whether the ifname of a IEEE-802.15.4
    device is set by userspace or generated by the kernel.
    We are using two types of name_assign_types
    o NET_NAME_ENUM: Default interface name provided by kernel
    o NET_NAME_USER: Interface name provided by user.

    Signed-off-by: Varka Bhadram
    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Varka Bhadram
     
  • Currently if ieee802154_if_add failed, we don't unregister the wpan phy
    which was registered before. This patch adds a correct error handling
    for unregister the wpan phy when ieee802154_if_add failed.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

17 Nov, 2014

4 commits

  • This patch adds support for setting an extended address while
    registration a new interface. If ieee802154_is_valid_extended_addr
    getting as parameter and invalid extended address then the perm address
    is fallback. This is useful to make some default handling while for
    example default registration of a wpan interface while phy registration.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This parameter was grabbed from wireless implementation with the
    identically wireless dev struct. We don't need this right now and so we
    remove it. Maybe we will add it later again if we found any real reason
    to have such parameter.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch replace the depracted IEEE802154_DEV to the new introduced
    NL802154_IFTYPE_NODE types. There is a backwards compatibility to have
    the identical types for both enum definitions. Also remove some inlcude
    issue with "linux/nl802154.h", because the export nl_policy inside this
    header it was always necessary to have an include of "net/rtnetlink.h"
    before. The reason for this is more complicated. Nevertheless we removed
    this now, because "linux/nl802154.h" is the depracted netlink interface.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • We don't and we can't name it zigbee anymore. This patch removes
    deprecated information for project website.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

13 Nov, 2014

1 commit

  • This patch adds a new interframe spacing time handling into mac802154
    layer. Interframe spacing time is a time period between each transmit.
    This patch adds a high resolution timer into mac802154 and starts on
    xmit complete with corresponding interframe spacing expire time if
    ifs_handling is true. We make it variable because it depends if
    interframe spacing time is handled by transceiver or mac802154. At the
    timer complete function we wake the netdev queue again. This avoids
    new frame transmit in range of interframe spacing time.

    For synced driver we add no handling of interframe spacing time. This
    is currently a lack of support in all synced xmit drivers. I suppose
    it's working because the latency of workqueue which is needed to call
    spi_sync.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

12 Nov, 2014

4 commits


10 Nov, 2014

1 commit


06 Nov, 2014

3 commits


02 Nov, 2014

3 commits

  • This patch removes the wpan_phy callbacks for add and del an interface
    on a phy. Instead we introduce deprecated cfg802154 callbacks for this.
    Furthermore we introduce a new netlink interface nl802154 which use
    different callbacks. The deprecated function is to have a backwards
    compatibility with the current netlink interface.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch introduces mac802154_config_ops struct. Like wireless this
    struct should be the only one interface between ieee802154 to mac802154
    or possible HardMAC drivers.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch introduce the cfg802154_registered_device struct. Like
    cfg80211_registered_device in wireless this should contain similar
    functionality for cfg802154. This patch should not change any behaviour.
    We just adds cfg802154_registered_device as container for wpan_phy struct.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

30 Oct, 2014

1 commit


29 Oct, 2014

6 commits


28 Oct, 2014

1 commit

  • Tasklets have much less overhead than workqueues. This patch also
    removes the heap allocation for the worker on receiving path.
    Like mac80211 we should prefer use a tasklet here instead a workqueue to
    getting fast out of interrupt context when ieee802154_rx_irqsafe is
    called by driver. Like wireless inside the tasklet context we should
    call netif_receive_skb instead netif_rx_ni anymore.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

27 Oct, 2014

1 commit

  • This patch renames the existsing xmit callback to xmit_sync and
    introduces an asynchronous xmit_async function. If ieee802154_ops
    doesn't provide the xmit_async callback, then we have a fallback to
    the xmit_sync callback.

    Signed-off-by: Alexander Aring
    Cc: Alan Ott
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

26 Oct, 2014

4 commits