1. 18 May, 2017 2 commits
  2. 15 May, 2017 1 commit
  3. 28 Apr, 2017 1 commit
  4. 16 Feb, 2017 2 commits
  5. 12 Apr, 2016 1 commit
  6. 24 Feb, 2016 1 commit
  7. 20 Nov, 2015 1 commit
  8. 29 Sep, 2015 1 commit
  9. 15 Jul, 2015 1 commit
  10. 18 Jun, 2015 1 commit
  11. 08 May, 2015 1 commit
  12. 26 Feb, 2015 1 commit
    • aybuke ozdemir's avatar
      Staging: vt6656: replace memcpy() by ether_addr_copy() using coccinelle and pack variable · 1aba0121
      aybuke ozdemir authored
      This patch focuses on fixing the following warning generated
      by checkpatch.pl for the file rxtx.c
      
      Prefer ether_addr_copy() over memcpy() if the Ethernet addresses
      are __aligned(2)
      
      @@ expression e1, e2; @@
      
      - memcpy(e1, e2, ETH_ALEN);
      + ether_addr_copy(e1, e2);
      
      According to ether_addr_copy() description and functionality,
      all Ethernet addresses should align to the u16 datatype.
      The changes were applied using the following coccinelle rule:
      
      Here is the output of pahole for the relevant datastructures:
      struct vnt_usb_send_context {
              void *                     priv;                 /*     0     8*/
              struct sk_buff *           skb;                  /*     8     8*/
              struct urb *               urb;                  /*    16     8*/
              struct ieee80211_hdr *     hdr;                  /*    24     8*/
              unsigned int               buf_len;              /*    32     4*/
              u32                        frame_len;            /*    36     4*/
              u16                        tx_hdr_size;          /*    40     2*/
              u16                        tx_rate;              /*    42     2*/
              u8                         type;                 /*    44     1*/
              u8                         pkt_no;               /*    45     1*/
              u8                         pkt_type;             /*    46     1*/
              u8                         need_ack;             /*    47     1*/
              u8                         fb_option;            /*    48     1*/
              bool                       in_use;               /*    49     1*/
              unsigned char              data[2900];           /*    50  2900*/
              /* --- cacheline 46 boundary (2944 bytes) was 6 bytes ago --- */
      
              /* size: 2952, cachelines: 47, members: 15 */
              /* padding: 2 */
              /* last cacheline: 8 bytes */
      };
      
      struct ieee80211_key_conf {
              u32                        cipher;               /*     0     4*/
              u8                         icv_len;              /*     4     1*/
              u8                         iv_len;               /*     5     1*/
              u8                         hw_key_idx;           /*     6     1*/
              u8                         flags;                /*     7     1*/
              s8                         keyidx;               /*     8     1*/
              u8                         keylen;               /*     9     1*/
              u8                         key[0];               /*    10     0*/
      
              /* size: 12, cachelines: 1, members: 8 */
              /* padding: 2 */
              /* last cacheline: 12 bytes */
      };
      
      struct vnt_mic_hdr {
              u8                         id;                   /*     0     1*/
              u8                         tx_priority;          /*     1     1*/
              u8                         mic_addr2[6];         /*     2     6*/
              u8                         ccmp_pn[6];           /*     8     6*/
              __be16                     payload_len;          /*    14     2*/
              __be16                     hlen;                 /*    16     2*/
              __le16                     frame_control;        /*    18     2*/
              u8                         addr1[6];             /*    20     6*/
              u8                         addr2[6];             /*    26     6*/
              u8                         addr3[6];             /*    32     6*/
              __le16                     seq_ctrl;             /*    38     2*/
              u8                         addr4[6];             /*    40     6*/
              u16                        packing;              /*    46     2*/
      
              /* size: 48, cachelines: 1, members: 13 */
              /* last cacheline: 48 bytes */
      };
      Signed-off-by: default avataraybuke ozdemir <aybuke.147@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1aba0121
  13. 07 Feb, 2015 2 commits
  14. 25 Jan, 2015 1 commit
    • Heba Aamer's avatar
      staging: vt6656: fix Prefer ether_addr_copy() over memcpy() if the Ethernet... · 48eaa7f5
      Heba Aamer authored
      staging: vt6656: fix Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)
      
      This patch fixes the following checkpatch.pl warning:
      fix Prefer ether_addr_copy() over memcpy()
      if the Ethernet addresses are __aligned(2)
      
      Pahole showed that the 2 structs are aligned to u16
      
      struct vnt_mic_hdr {
              u8                         id;                   /*     0     1 */
              u8                         tx_priority;          /*     1     1 */
              u8                         mic_addr2[6];         /*     2     6 */
              u8                         ccmp_pn[6];           /*     8     6 */
              __be16                     payload_len;          /*    14     2 */
              __be16                     hlen;                 /*    16     2 */
              __le16                     frame_control;        /*    18     2 */
              u8                         addr1[6];             /*    20     6 */
              u8                         addr2[6];             /*    26     6 */
              u8                         addr3[6];             /*    32     6 */
              __le16                     seq_ctrl;             /*    38     2 */
              u8                         addr4[6];             /*    40     6 */
              u16                        packing;              /*    46     2 */
      
              /* size: 48, cachelines: 1, members: 13 */
              /* last cacheline: 48 bytes */
      };
      
      struct ieee80211_hdr {
              __le16                     frame_control;        /*     0     2 */
              __le16                     duration_id;          /*     2     2 */
              u8                         addr1[6];             /*     4     6 */
              u8                         addr2[6];             /*    10     6 */
              u8                         addr3[6];             /*    16     6 */
              __le16                     seq_ctrl;             /*    22     2 */
              u8                         addr4[6];             /*    24     6 */
      
              /* size: 30, cachelines: 1, members: 7 */
              /* last cacheline: 30 bytes */
      };
      Signed-off-by: default avatarHeba Aamer <heba93aamer@gmail.com>
      Reviewed-by: default avatarAya Mahfouz <mahfouz.saif.elyazal@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      48eaa7f5
  15. 13 Jan, 2015 4 commits
  16. 23 Sep, 2014 1 commit
  17. 16 Aug, 2014 2 commits
  18. 22 Jul, 2014 7 commits
  19. 21 Jul, 2014 9 commits