Skip to content

Commit

Permalink
ath6kl: Store hw mac address in struct ath6kl
Browse files Browse the repository at this point in the history
WMI ready event gives the mac address, cache this
mac address in struct ath6kl so that it can be used to
compute the mac address for other vif in case of multi vif.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
  • Loading branch information
Vasanthakumar Thiagarajan authored and Kalle Valo committed Nov 11, 2011
1 parent 6765d0a commit d66ea4f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
1 change: 1 addition & 0 deletions drivers/net/wireless/ath/ath6kl/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,7 @@ struct ath6kl {
struct wireless_dev *wdev;
enum wlan_low_pwr_state wlan_pwr_state;
struct wmi_scan_params_cmd sc_params;
u8 mac_addr[ETH_ALEN];
#define AR_MCAST_FILTER_MAC_ADDR_SIZE 4
struct {
void *rx_report;
Expand Down
12 changes: 10 additions & 2 deletions drivers/net/wireless/ath/ath6kl/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -1504,8 +1504,16 @@ static int ath6kl_init(struct ath6kl *ar)
WIPHY_FLAG_HAVE_AP_SME;

status = ath6kl_target_config_wlan_params(ar);
if (!status)
goto ath6kl_init_done;
if (status)
goto err_htc_stop;

/*
* Set mac address which is received in ready event
* FIXME: Move to ath6kl_interface_add()
*/
memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);

return status;

err_htc_stop:
ath6kl_htc_stop(ar->htc_target);
Expand Down
5 changes: 2 additions & 3 deletions drivers/net/wireless/ath/ath6kl/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -923,11 +923,10 @@ static const char *get_hw_id_string(u32 id)
void ath6kl_ready_event(void *devt, u8 *datap, u32 sw_ver, u32 abi_ver)
{
struct ath6kl *ar = devt;
struct net_device *dev = ar->vif->ndev;

memcpy(dev->dev_addr, datap, ETH_ALEN);
memcpy(ar->mac_addr, datap, ETH_ALEN);
ath6kl_dbg(ATH6KL_DBG_TRC, "%s: mac addr = %pM\n",
__func__, dev->dev_addr);
__func__, ar->mac_addr);

ar->version.wlan_ver = sw_ver;
ar->version.abi_ver = abi_ver;
Expand Down

0 comments on commit d66ea4f

Please sign in to comment.