1. 18 2月, 2014 1 次提交
    • P
      ieee802154: add TX power control to wpan_phy · 9b2777d6
      Phoebe Buckheister 提交于
      Replace the current u8 transmit_power in wpan_phy with s8 transmit_power.
      The u8 field contained the actual tx power and a tolerance field,
      which no physical radio every used. Adjust sysfs entries to keep
      compatibility with userspace, give tolerances of +-1dB statically there.
      
      This patch only adds support for this in the at86rf230 driver and the
      RF212 chip. Configuration calculation for RF212 is also somewhat basic,
      but does the job - the RF212 datasheet gives a large table with
      suggested values for combinations of TX power and page/channel, if this
      does not work well, we might have to copy the whole table.
      Signed-off-by: NPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9b2777d6
  2. 11 2月, 2014 1 次提交
  3. 10 2月, 2014 1 次提交
  4. 28 1月, 2014 1 次提交
  5. 23 1月, 2014 1 次提交
  6. 19 1月, 2014 1 次提交
  7. 16 1月, 2014 1 次提交
  8. 15 1月, 2014 1 次提交
  9. 06 1月, 2014 1 次提交
    • D
      net: 6lowpan: fix lowpan_header_create non-compression memcpy call · 965801e1
      Daniel Borkmann 提交于
      In function lowpan_header_create(), we invoke the following code
      construct:
      
        struct ipv6hdr *hdr;
        ...
        hdr = ipv6_hdr(skb);
        ...
        if (...)
          memcpy(hc06_ptr + 1, &hdr->flow_lbl[1], 2);
        else
          memcpy(hc06_ptr, &hdr, 4);
      
      Where the else path of the condition, that is, non-compression
      path, calls memcpy() with a pointer to struct ipv6hdr *hdr as
      source, thus two levels of indirection. This cannot be correct,
      and likely only one level of pointer was intended as source
      buffer for memcpy() here.
      
      Fixes: 44331fe2 ("IEEE802.15.4: 6LoWPAN basic support")
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
      Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Cc: Werner Almesberger <werner@almesberger.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      965801e1
  10. 28 12月, 2013 1 次提交
  11. 17 12月, 2013 8 次提交
  12. 13 12月, 2013 1 次提交
  13. 12 12月, 2013 1 次提交
  14. 20 11月, 2013 3 次提交
  15. 19 11月, 2013 1 次提交
  16. 15 11月, 2013 3 次提交
    • J
      6lowpan: Uncompression of traffic class field was incorrect · 1188f054
      Jukka Rissanen 提交于
      If priority/traffic class field in IPv6 header is set (seen when
      using ssh), the uncompression sets the TC and Flow fields incorrectly.
      
      Example:
      
      This is IPv6 header of a sent packet. Note the priority/TC (=1) in
      the first byte.
      
      00000000: 61 00 00 00 00 2c 06 40 fe 80 00 00 00 00 00 00
      00000010: 02 02 72 ff fe c6 42 10 fe 80 00 00 00 00 00 00
      00000020: 02 1e ab ff fe 4c 52 57
      
      This gets compressed like this in the sending side
      
      00000000: 72 31 04 06 02 1e ab ff fe 4c 52 57 ec c2 00 16
      00000010: aa 2d fe 92 86 4e be c6 ....
      
      In the receiving end, the packet gets uncompressed to this
      IPv6 header
      
      00000000: 60 06 06 02 00 2a 1e 40 fe 80 00 00 00 00 00 00
      00000010: 02 02 72 ff fe c6 42 10 fe 80 00 00 00 00 00 00
      00000020: ab ff fe 4c 52 57 ec c2
      
      First four bytes are set incorrectly and we have also lost
      two bytes from destination address.
      
      The fix is to switch the case values in switch statement
      when checking the TC field.
      Signed-off-by: NJukka Rissanen <jukka.rissanen@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1188f054
    • J
      genetlink: make all genl_ops users const · 4534de83
      Johannes Berg 提交于
      Now that genl_ops are no longer modified in place when
      registering, they can be made const. This patch was done
      mostly with spatch:
      
      @@
      identifier ops;
      @@
      +const
       struct genl_ops ops[] = {
       ...
       };
      
      (except the struct thing in net/openvswitch/datapath.c)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4534de83
    • J
      ieee802154: use genl_register_family_with_ops() · 1c582d91
      Johannes Berg 提交于
      This simplifies the code since there's no longer a need to
      have error handling in the registration.
      
      Unfortunately it means more extern function declarations are
      needed, but the overall goal would seem to justify this.
      
      While at it, also fix the registration error path - if the
      family registration failed then it shouldn't be unregistered.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1c582d91
  17. 08 11月, 2013 1 次提交
  18. 31 10月, 2013 4 次提交
  19. 29 10月, 2013 5 次提交
  20. 09 10月, 2013 2 次提交
  21. 21 8月, 2013 1 次提交