1. 18 Mar, 2015 1 commit
    • Haneen Mohammed's avatar
      Staging: rtl8712: replace memcpy with ether_addr_copy · e0e982b4
      Haneen Mohammed authored
      This patch replace memcpy with ethe_addr_copy to address the following
      warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy
      if the Ethernet addresses are __aligned(2)"
      
      Follwoing is the output of pahole for the relevant datastructures:
      1- for  "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data"
      
      struct sockaddr {
              sa_family_t                sa_family;            /*     0     2 */
              char                       sa_data[14];          /*     2    14 */
      
              /* size: 16, cachelines: 1, members: 2 */
              /* last cacheline: 16 bytes */
      };
      
      struct iw_event {
              __u16                      len;                  /*     0     2 */
              __u16                      cmd;                  /*     2     2 */
      
              /* XXX 4 bytes hole, try to pack */
      
              union iwreq_data           u;                    /*     8    16 */
      
              /* size: 24, cachelines: 1, members: 3 */
              /* sum members: 20, holes: 1, sum holes: 4 */
              /* last cacheline: 24 bytes */
      };
      
      2- for  "pnetwork->network.MacAddress" and "pcur_bss->MacAddress"
      
      struct wlan_network {
              struct list_head           list;                 /*     0    16 */
              int                        network_type;         /*    16     4 */
              int                        fixed;                /*    20     4 */
              unsigned int               last_scanned;         /*    24     4 */
              int                        aid;                  /*    28     4 */
              int                        join_res;             /*    32     4 */
              struct ndis_wlan_bssid_ex  network;              /*    36   884 */
              /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago ---   */
      
              /* size: 920, cachelines: 15, members: 7 */
              /* last cacheline: 24 bytes */
      };
      
      struct ndis_wlan_bssid_ex {
              u32                        Length;               /*     0     4 */
              unsigned char              MacAddress[6];        /*     4     6 */
              u8                         Reserved[2];          /*    10     2 */
              struct ndis_802_11_ssid    Ssid;                 /*    12    36 */
              u32                        Privacy;              /*    48     4 */
              s32                        Rssi;                 /*    52     4 */
              enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;  /*    56     4 */
              struct NDIS_802_11_CONFIGURATION Configuration;  /*    60    32 */
              /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */
              enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; /* 92     4 */
              NDIS_802_11_RATES_EX       SupportedRates;       /*    96    16 */
              u32                        IELength;             /*   112     4 */
              u8                         IEs[768];             /*   116   768 */
              /* --- cacheline 13 boundary (832 bytes) was 52 bytes ago --- */
      
              /* size: 884, cachelines: 14, members: 12 */
              /* last cacheline: 52 bytes */
      };
      Signed-off-by: default avatarHaneen Mohammed <hamohammed.sa@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e0e982b4
  2. 16 Mar, 2015 39 commits