Commit dcb1471b authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Kalle Valo

brcmfmac: use bphy_err() in all wiphy-related code

This recently added macro provides more meaningful error messages thanks
to identifying a specific wiphy. It's especially important on systems
with few cards supported by the same (brcmfmac) driver.
Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Acked-by: default avatarArend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent c7ff1bfe
...@@ -178,8 +178,8 @@ brcmf_proto_bcdc_query_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd, ...@@ -178,8 +178,8 @@ brcmf_proto_bcdc_query_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd,
*fwerr = 0; *fwerr = 0;
ret = brcmf_proto_bcdc_msg(drvr, ifidx, cmd, buf, len, false); ret = brcmf_proto_bcdc_msg(drvr, ifidx, cmd, buf, len, false);
if (ret < 0) { if (ret < 0) {
brcmf_err("brcmf_proto_bcdc_msg failed w/status %d\n", bphy_err(drvr, "brcmf_proto_bcdc_msg failed w/status %d\n",
ret); ret);
goto done; goto done;
} }
...@@ -195,9 +195,9 @@ brcmf_proto_bcdc_query_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd, ...@@ -195,9 +195,9 @@ brcmf_proto_bcdc_query_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd,
if ((id < bcdc->reqid) && (++retries < RETRIES)) if ((id < bcdc->reqid) && (++retries < RETRIES))
goto retry; goto retry;
if (id != bcdc->reqid) { if (id != bcdc->reqid) {
brcmf_err("%s: unexpected request id %d (expected %d)\n", bphy_err(drvr, "%s: unexpected request id %d (expected %d)\n",
brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id, brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
bcdc->reqid); bcdc->reqid);
ret = -EINVAL; ret = -EINVAL;
goto done; goto done;
} }
...@@ -245,9 +245,9 @@ brcmf_proto_bcdc_set_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd, ...@@ -245,9 +245,9 @@ brcmf_proto_bcdc_set_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd,
id = (flags & BCDC_DCMD_ID_MASK) >> BCDC_DCMD_ID_SHIFT; id = (flags & BCDC_DCMD_ID_MASK) >> BCDC_DCMD_ID_SHIFT;
if (id != bcdc->reqid) { if (id != bcdc->reqid) {
brcmf_err("%s: unexpected request id %d (expected %d)\n", bphy_err(drvr, "%s: unexpected request id %d (expected %d)\n",
brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id, brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
bcdc->reqid); bcdc->reqid);
ret = -EINVAL; ret = -EINVAL;
goto done; goto done;
} }
...@@ -312,8 +312,8 @@ brcmf_proto_bcdc_hdrpull(struct brcmf_pub *drvr, bool do_fws, ...@@ -312,8 +312,8 @@ brcmf_proto_bcdc_hdrpull(struct brcmf_pub *drvr, bool do_fws,
} }
if (((h->flags & BCDC_FLAG_VER_MASK) >> BCDC_FLAG_VER_SHIFT) != if (((h->flags & BCDC_FLAG_VER_MASK) >> BCDC_FLAG_VER_SHIFT) !=
BCDC_PROTO_VER) { BCDC_PROTO_VER) {
brcmf_err("%s: non-BCDC packet received, flags 0x%x\n", bphy_err(drvr, "%s: non-BCDC packet received, flags 0x%x\n",
brcmf_ifname(tmp_if), h->flags); brcmf_ifname(tmp_if), h->flags);
return -EBADE; return -EBADE;
} }
...@@ -460,7 +460,7 @@ int brcmf_proto_bcdc_attach(struct brcmf_pub *drvr) ...@@ -460,7 +460,7 @@ int brcmf_proto_bcdc_attach(struct brcmf_pub *drvr)
/* ensure that the msg buf directly follows the cdc msg struct */ /* ensure that the msg buf directly follows the cdc msg struct */
if ((unsigned long)(&bcdc->msg + 1) != (unsigned long)bcdc->buf) { if ((unsigned long)(&bcdc->msg + 1) != (unsigned long)bcdc->buf) {
brcmf_err("struct brcmf_proto_bcdc is not correctly defined\n"); bphy_err(drvr, "struct brcmf_proto_bcdc is not correctly defined\n");
goto fail; goto fail;
} }
......
...@@ -90,6 +90,7 @@ struct brcmf_mp_global_t brcmf_mp_global; ...@@ -90,6 +90,7 @@ struct brcmf_mp_global_t brcmf_mp_global;
void brcmf_c_set_joinpref_default(struct brcmf_if *ifp) void brcmf_c_set_joinpref_default(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_join_pref_params join_pref_params[2]; struct brcmf_join_pref_params join_pref_params[2];
int err; int err;
...@@ -106,7 +107,7 @@ void brcmf_c_set_joinpref_default(struct brcmf_if *ifp) ...@@ -106,7 +107,7 @@ void brcmf_c_set_joinpref_default(struct brcmf_if *ifp)
err = brcmf_fil_iovar_data_set(ifp, "join_pref", join_pref_params, err = brcmf_fil_iovar_data_set(ifp, "join_pref", join_pref_params,
sizeof(join_pref_params)); sizeof(join_pref_params));
if (err) if (err)
brcmf_err("Set join_pref error (%d)\n", err); bphy_err(drvr, "Set join_pref error (%d)\n", err);
} }
static int brcmf_c_download(struct brcmf_if *ifp, u16 flag, static int brcmf_c_download(struct brcmf_if *ifp, u16 flag,
...@@ -129,7 +130,8 @@ static int brcmf_c_download(struct brcmf_if *ifp, u16 flag, ...@@ -129,7 +130,8 @@ static int brcmf_c_download(struct brcmf_if *ifp, u16 flag,
static int brcmf_c_process_clm_blob(struct brcmf_if *ifp) static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
{ {
struct brcmf_bus *bus = ifp->drvr->bus_if; struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_bus *bus = drvr->bus_if;
struct brcmf_dload_data_le *chunk_buf; struct brcmf_dload_data_le *chunk_buf;
const struct firmware *clm = NULL; const struct firmware *clm = NULL;
u8 clm_name[BRCMF_FW_NAME_LEN]; u8 clm_name[BRCMF_FW_NAME_LEN];
...@@ -145,7 +147,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp) ...@@ -145,7 +147,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
memset(clm_name, 0, sizeof(clm_name)); memset(clm_name, 0, sizeof(clm_name));
err = brcmf_bus_get_fwname(bus, ".clm_blob", clm_name); err = brcmf_bus_get_fwname(bus, ".clm_blob", clm_name);
if (err) { if (err) {
brcmf_err("get CLM blob file name failed (%d)\n", err); bphy_err(drvr, "get CLM blob file name failed (%d)\n", err);
return err; return err;
} }
...@@ -182,12 +184,12 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp) ...@@ -182,12 +184,12 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
} while ((datalen > 0) && (err == 0)); } while ((datalen > 0) && (err == 0));
if (err) { if (err) {
brcmf_err("clmload (%zu byte file) failed (%d); ", bphy_err(drvr, "clmload (%zu byte file) failed (%d)\n",
clm->size, err); clm->size, err);
/* Retrieve clmload_status and print */ /* Retrieve clmload_status and print */
err = brcmf_fil_iovar_int_get(ifp, "clmload_status", &status); err = brcmf_fil_iovar_int_get(ifp, "clmload_status", &status);
if (err) if (err)
brcmf_err("get clmload_status failed (%d)\n", err); bphy_err(drvr, "get clmload_status failed (%d)\n", err);
else else
brcmf_dbg(INFO, "clmload_status=%d\n", status); brcmf_dbg(INFO, "clmload_status=%d\n", status);
err = -EIO; err = -EIO;
...@@ -201,6 +203,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp) ...@@ -201,6 +203,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
s8 eventmask[BRCMF_EVENTING_MASK_LEN]; s8 eventmask[BRCMF_EVENTING_MASK_LEN];
u8 buf[BRCMF_DCMD_SMLEN]; u8 buf[BRCMF_DCMD_SMLEN];
struct brcmf_bus *bus; struct brcmf_bus *bus;
...@@ -214,7 +217,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -214,7 +217,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr, err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr,
sizeof(ifp->mac_addr)); sizeof(ifp->mac_addr));
if (err < 0) { if (err < 0) {
brcmf_err("Retrieving cur_etheraddr failed, %d\n", err); bphy_err(drvr, "Retrieving cur_etheraddr failed, %d\n", err);
goto done; goto done;
} }
memcpy(ifp->drvr->wiphy->perm_addr, ifp->drvr->mac, ETH_ALEN); memcpy(ifp->drvr->wiphy->perm_addr, ifp->drvr->mac, ETH_ALEN);
...@@ -226,7 +229,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -226,7 +229,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_REVINFO, err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_REVINFO,
&revinfo, sizeof(revinfo)); &revinfo, sizeof(revinfo));
if (err < 0) { if (err < 0) {
brcmf_err("retrieving revision info failed, %d\n", err); bphy_err(drvr, "retrieving revision info failed, %d\n", err);
strlcpy(ri->chipname, "UNKNOWN", sizeof(ri->chipname)); strlcpy(ri->chipname, "UNKNOWN", sizeof(ri->chipname));
} else { } else {
ri->vendorid = le32_to_cpu(revinfo.vendorid); ri->vendorid = le32_to_cpu(revinfo.vendorid);
...@@ -260,7 +263,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -260,7 +263,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
/* Do any CLM downloading */ /* Do any CLM downloading */
err = brcmf_c_process_clm_blob(ifp); err = brcmf_c_process_clm_blob(ifp);
if (err < 0) { if (err < 0) {
brcmf_err("download CLM blob file failed, %d\n", err); bphy_err(drvr, "download CLM blob file failed, %d\n", err);
goto done; goto done;
} }
...@@ -269,8 +272,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -269,8 +272,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
strcpy(buf, "ver"); strcpy(buf, "ver");
err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf)); err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf));
if (err < 0) { if (err < 0) {
brcmf_err("Retrieving version information failed, %d\n", bphy_err(drvr, "Retrieving version information failed, %d\n",
err); err);
goto done; goto done;
} }
ptr = (char *)buf; ptr = (char *)buf;
...@@ -304,7 +307,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -304,7 +307,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
/* set mpc */ /* set mpc */
err = brcmf_fil_iovar_int_set(ifp, "mpc", 1); err = brcmf_fil_iovar_int_set(ifp, "mpc", 1);
if (err) { if (err) {
brcmf_err("failed setting mpc\n"); bphy_err(drvr, "failed setting mpc\n");
goto done; goto done;
} }
...@@ -314,14 +317,14 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -314,14 +317,14 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
err = brcmf_fil_iovar_data_get(ifp, "event_msgs", eventmask, err = brcmf_fil_iovar_data_get(ifp, "event_msgs", eventmask,
BRCMF_EVENTING_MASK_LEN); BRCMF_EVENTING_MASK_LEN);
if (err) { if (err) {
brcmf_err("Get event_msgs error (%d)\n", err); bphy_err(drvr, "Get event_msgs error (%d)\n", err);
goto done; goto done;
} }
setbit(eventmask, BRCMF_E_IF); setbit(eventmask, BRCMF_E_IF);
err = brcmf_fil_iovar_data_set(ifp, "event_msgs", eventmask, err = brcmf_fil_iovar_data_set(ifp, "event_msgs", eventmask,
BRCMF_EVENTING_MASK_LEN); BRCMF_EVENTING_MASK_LEN);
if (err) { if (err) {
brcmf_err("Set event_msgs error (%d)\n", err); bphy_err(drvr, "Set event_msgs error (%d)\n", err);
goto done; goto done;
} }
...@@ -329,8 +332,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -329,8 +332,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_CHANNEL_TIME, err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_CHANNEL_TIME,
BRCMF_DEFAULT_SCAN_CHANNEL_TIME); BRCMF_DEFAULT_SCAN_CHANNEL_TIME);
if (err) { if (err) {
brcmf_err("BRCMF_C_SET_SCAN_CHANNEL_TIME error (%d)\n", bphy_err(drvr, "BRCMF_C_SET_SCAN_CHANNEL_TIME error (%d)\n",
err); err);
goto done; goto done;
} }
...@@ -338,8 +341,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) ...@@ -338,8 +341,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_UNASSOC_TIME, err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_UNASSOC_TIME,
BRCMF_DEFAULT_SCAN_UNASSOC_TIME); BRCMF_DEFAULT_SCAN_UNASSOC_TIME);
if (err) { if (err) {
brcmf_err("BRCMF_C_SET_SCAN_UNASSOC_TIME error (%d)\n", bphy_err(drvr, "BRCMF_C_SET_SCAN_UNASSOC_TIME error (%d)\n",
err); err);
goto done; goto done;
} }
......
...@@ -90,7 +90,7 @@ struct brcmf_if *brcmf_get_ifp(struct brcmf_pub *drvr, int ifidx) ...@@ -90,7 +90,7 @@ struct brcmf_if *brcmf_get_ifp(struct brcmf_pub *drvr, int ifidx)
s32 bsscfgidx; s32 bsscfgidx;
if (ifidx < 0 || ifidx >= BRCMF_MAX_IFS) { if (ifidx < 0 || ifidx >= BRCMF_MAX_IFS) {
brcmf_err("ifidx %d out of range\n", ifidx); bphy_err(drvr, "ifidx %d out of range\n", ifidx);
return NULL; return NULL;
} }
...@@ -141,7 +141,9 @@ void brcmf_configure_arp_nd_offload(struct brcmf_if *ifp, bool enable) ...@@ -141,7 +141,9 @@ void brcmf_configure_arp_nd_offload(struct brcmf_if *ifp, bool enable)
static void _brcmf_set_multicast_list(struct work_struct *work) static void _brcmf_set_multicast_list(struct work_struct *work)
{ {
struct brcmf_if *ifp; struct brcmf_if *ifp = container_of(work, struct brcmf_if,
multicast_work);
struct brcmf_pub *drvr = ifp->drvr;
struct net_device *ndev; struct net_device *ndev;
struct netdev_hw_addr *ha; struct netdev_hw_addr *ha;
u32 cmd_value, cnt; u32 cmd_value, cnt;
...@@ -150,8 +152,6 @@ static void _brcmf_set_multicast_list(struct work_struct *work) ...@@ -150,8 +152,6 @@ static void _brcmf_set_multicast_list(struct work_struct *work)
u32 buflen; u32 buflen;
s32 err; s32 err;
ifp = container_of(work, struct brcmf_if, multicast_work);
brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx); brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx);
ndev = ifp->ndev; ndev = ifp->ndev;
...@@ -181,7 +181,7 @@ static void _brcmf_set_multicast_list(struct work_struct *work) ...@@ -181,7 +181,7 @@ static void _brcmf_set_multicast_list(struct work_struct *work)
err = brcmf_fil_iovar_data_set(ifp, "mcast_list", buf, buflen); err = brcmf_fil_iovar_data_set(ifp, "mcast_list", buf, buflen);
if (err < 0) { if (err < 0) {
brcmf_err("Setting mcast_list failed, %d\n", err); bphy_err(drvr, "Setting mcast_list failed, %d\n", err);
cmd_value = cnt ? true : cmd_value; cmd_value = cnt ? true : cmd_value;
} }
...@@ -194,25 +194,25 @@ static void _brcmf_set_multicast_list(struct work_struct *work) ...@@ -194,25 +194,25 @@ static void _brcmf_set_multicast_list(struct work_struct *work)
*/ */
err = brcmf_fil_iovar_int_set(ifp, "allmulti", cmd_value); err = brcmf_fil_iovar_int_set(ifp, "allmulti", cmd_value);
if (err < 0) if (err < 0)
brcmf_err("Setting allmulti failed, %d\n", err); bphy_err(drvr, "Setting allmulti failed, %d\n", err);
/*Finally, pick up the PROMISC flag */ /*Finally, pick up the PROMISC flag */
cmd_value = (ndev->flags & IFF_PROMISC) ? true : false; cmd_value = (ndev->flags & IFF_PROMISC) ? true : false;
err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PROMISC, cmd_value); err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PROMISC, cmd_value);
if (err < 0) if (err < 0)
brcmf_err("Setting BRCMF_C_SET_PROMISC failed, %d\n", bphy_err(drvr, "Setting BRCMF_C_SET_PROMISC failed, %d\n",
err); err);
brcmf_configure_arp_nd_offload(ifp, !cmd_value); brcmf_configure_arp_nd_offload(ifp, !cmd_value);
} }
#if IS_ENABLED(CONFIG_IPV6) #if IS_ENABLED(CONFIG_IPV6)
static void _brcmf_update_ndtable(struct work_struct *work) static void _brcmf_update_ndtable(struct work_struct *work)
{ {
struct brcmf_if *ifp; struct brcmf_if *ifp = container_of(work, struct brcmf_if,
ndoffload_work);
struct brcmf_pub *drvr = ifp->drvr;
int i, ret; int i, ret;
ifp = container_of(work, struct brcmf_if, ndoffload_work);
/* clear the table in firmware */ /* clear the table in firmware */
ret = brcmf_fil_iovar_data_set(ifp, "nd_hostip_clear", NULL, 0); ret = brcmf_fil_iovar_data_set(ifp, "nd_hostip_clear", NULL, 0);
if (ret) { if (ret) {
...@@ -225,7 +225,7 @@ static void _brcmf_update_ndtable(struct work_struct *work) ...@@ -225,7 +225,7 @@ static void _brcmf_update_ndtable(struct work_struct *work)
&ifp->ipv6_addr_tbl[i], &ifp->ipv6_addr_tbl[i],
sizeof(struct in6_addr)); sizeof(struct in6_addr));
if (ret) if (ret)
brcmf_err("add nd ip err %d\n", ret); bphy_err(drvr, "add nd ip err %d\n", ret);
} }
} }
#else #else
...@@ -238,6 +238,7 @@ static int brcmf_netdev_set_mac_address(struct net_device *ndev, void *addr) ...@@ -238,6 +238,7 @@ static int brcmf_netdev_set_mac_address(struct net_device *ndev, void *addr)
{ {
struct brcmf_if *ifp = netdev_priv(ndev); struct brcmf_if *ifp = netdev_priv(ndev);
struct sockaddr *sa = (struct sockaddr *)addr; struct sockaddr *sa = (struct sockaddr *)addr;
struct brcmf_pub *drvr = ifp->drvr;
int err; int err;
brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx); brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx);
...@@ -245,7 +246,7 @@ static int brcmf_netdev_set_mac_address(struct net_device *ndev, void *addr) ...@@ -245,7 +246,7 @@ static int brcmf_netdev_set_mac_address(struct net_device *ndev, void *addr)
err = brcmf_fil_iovar_data_set(ifp, "cur_etheraddr", sa->sa_data, err = brcmf_fil_iovar_data_set(ifp, "cur_etheraddr", sa->sa_data,
ETH_ALEN); ETH_ALEN);
if (err < 0) { if (err < 0) {
brcmf_err("Setting cur_etheraddr failed, %d\n", err); bphy_err(drvr, "Setting cur_etheraddr failed, %d\n", err);
} else { } else {
brcmf_dbg(TRACE, "updated to %pM\n", sa->sa_data); brcmf_dbg(TRACE, "updated to %pM\n", sa->sa_data);
memcpy(ifp->mac_addr, sa->sa_data, ETH_ALEN); memcpy(ifp->mac_addr, sa->sa_data, ETH_ALEN);
...@@ -305,7 +306,7 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, ...@@ -305,7 +306,7 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb,
/* Can the device send data? */ /* Can the device send data? */
if (drvr->bus_if->state != BRCMF_BUS_UP) { if (drvr->bus_if->state != BRCMF_BUS_UP) {
brcmf_err("xmit rejected state=%d\n", drvr->bus_if->state); bphy_err(drvr, "xmit rejected state=%d\n", drvr->bus_if->state);
netif_stop_queue(ndev); netif_stop_queue(ndev);
dev_kfree_skb(skb); dev_kfree_skb(skb);
ret = -ENODEV; ret = -ENODEV;
...@@ -339,8 +340,8 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, ...@@ -339,8 +340,8 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb,
ret = pskb_expand_head(skb, ALIGN(head_delta, NET_SKB_PAD), 0, ret = pskb_expand_head(skb, ALIGN(head_delta, NET_SKB_PAD), 0,
GFP_ATOMIC); GFP_ATOMIC);
if (ret < 0) { if (ret < 0) {
brcmf_err("%s: failed to expand headroom\n", bphy_err(drvr, "%s: failed to expand headroom\n",
brcmf_ifname(ifp)); brcmf_ifname(ifp));
atomic_inc(&drvr->bus_if->stats.pktcow_failed); atomic_inc(&drvr->bus_if->stats.pktcow_failed);
goto done; goto done;
} }
...@@ -607,7 +608,7 @@ static int brcmf_netdev_open(struct net_device *ndev) ...@@ -607,7 +608,7 @@ static int brcmf_netdev_open(struct net_device *ndev)
/* If bus is not ready, can't continue */ /* If bus is not ready, can't continue */
if (bus_if->state != BRCMF_BUS_UP) { if (bus_if->state != BRCMF_BUS_UP) {
brcmf_err("failed bus is not ready\n"); bphy_err(drvr, "failed bus is not ready\n");
return -EAGAIN; return -EAGAIN;
} }
...@@ -621,7 +622,7 @@ static int brcmf_netdev_open(struct net_device *ndev) ...@@ -621,7 +622,7 @@ static int brcmf_netdev_open(struct net_device *ndev)
ndev->features &= ~NETIF_F_IP_CSUM; ndev->features &= ~NETIF_F_IP_CSUM;
if (brcmf_cfg80211_up(ndev)) { if (brcmf_cfg80211_up(ndev)) {
brcmf_err("failed to bring up cfg80211\n"); bphy_err(drvr, "failed to bring up cfg80211\n");
return -EIO; return -EIO;
} }
...@@ -666,7 +667,7 @@ int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked) ...@@ -666,7 +667,7 @@ int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked)
else else
err = register_netdev(ndev); err = register_netdev(ndev);
if (err != 0) { if (err != 0) {
brcmf_err("couldn't register the net device\n"); bphy_err(drvr, "couldn't register the net device\n");
goto fail; goto fail;
} }
...@@ -743,6 +744,7 @@ static const struct net_device_ops brcmf_netdev_ops_p2p = { ...@@ -743,6 +744,7 @@ static const struct net_device_ops brcmf_netdev_ops_p2p = {
static int brcmf_net_p2p_attach(struct brcmf_if *ifp) static int brcmf_net_p2p_attach(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct net_device *ndev; struct net_device *ndev;
brcmf_dbg(TRACE, "Enter, bsscfgidx=%d mac=%pM\n", ifp->bsscfgidx, brcmf_dbg(TRACE, "Enter, bsscfgidx=%d mac=%pM\n", ifp->bsscfgidx,
...@@ -755,7 +757,7 @@ static int brcmf_net_p2p_attach(struct brcmf_if *ifp) ...@@ -755,7 +757,7 @@ static int brcmf_net_p2p_attach(struct brcmf_if *ifp)
memcpy(ndev->dev_addr, ifp->mac_addr, ETH_ALEN); memcpy(ndev->dev_addr, ifp->mac_addr, ETH_ALEN);
if (register_netdev(ndev) != 0) { if (register_netdev(ndev) != 0) {
brcmf_err("couldn't register the p2p net device\n"); bphy_err(drvr, "couldn't register the p2p net device\n");
goto fail; goto fail;
} }
...@@ -784,8 +786,8 @@ struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bsscfgidx, s32 ifidx, ...@@ -784,8 +786,8 @@ struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bsscfgidx, s32 ifidx,
*/ */
if (ifp) { if (ifp) {
if (ifidx) { if (ifidx) {
brcmf_err("ERROR: netdev:%s already exists\n", bphy_err(drvr, "ERROR: netdev:%s already exists\n",
ifp->ndev->name); ifp->ndev->name);
netif_stop_queue(ifp->ndev); netif_stop_queue(ifp->ndev);
brcmf_net_detach(ifp->ndev, false); brcmf_net_detach(ifp->ndev, false);
drvr->iflist[bsscfgidx] = NULL; drvr->iflist[bsscfgidx] = NULL;
...@@ -843,7 +845,7 @@ static void brcmf_del_if(struct brcmf_pub *drvr, s32 bsscfgidx, ...@@ -843,7 +845,7 @@ static void brcmf_del_if(struct brcmf_pub *drvr, s32 bsscfgidx,
ifp = drvr->iflist[bsscfgidx]; ifp = drvr->iflist[bsscfgidx];
drvr->iflist[bsscfgidx] = NULL; drvr->iflist[bsscfgidx] = NULL;
if (!ifp) { if (!ifp) {
brcmf_err("Null interface, bsscfgidx=%d\n", bsscfgidx); bphy_err(drvr, "Null interface, bsscfgidx=%d\n", bsscfgidx);
return; return;
} }
brcmf_dbg(TRACE, "Enter, bsscfgidx=%d, ifidx=%d\n", bsscfgidx, brcmf_dbg(TRACE, "Enter, bsscfgidx=%d, ifidx=%d\n", bsscfgidx,
...@@ -893,16 +895,17 @@ static int brcmf_psm_watchdog_notify(struct brcmf_if *ifp, ...@@ -893,16 +895,17 @@ static int brcmf_psm_watchdog_notify(struct brcmf_if *ifp,
const struct brcmf_event_msg *evtmsg, const struct brcmf_event_msg *evtmsg,
void *data) void *data)
{ {
struct brcmf_pub *drvr = ifp->drvr;
int err; int err;
brcmf_dbg(TRACE, "enter: bsscfgidx=%d\n", ifp->bsscfgidx); brcmf_dbg(TRACE, "enter: bsscfgidx=%d\n", ifp->bsscfgidx);
brcmf_err("PSM's watchdog has fired!\n"); bphy_err(drvr, "PSM's watchdog has fired!\n");
err = brcmf_debug_create_memdump(ifp->drvr->bus_if, data, err = brcmf_debug_create_memdump(ifp->drvr->bus_if, data,
evtmsg->datalen); evtmsg->datalen);
if (err) if (err)
brcmf_err("Failed to get memory dump, %d\n", err); bphy_err(drvr, "Failed to get memory dump, %d\n", err);
return err; return err;
} }
...@@ -946,7 +949,7 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb, ...@@ -946,7 +949,7 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb,
ret = brcmf_fil_iovar_data_get(ifp, "arp_hostip", addr_table, ret = brcmf_fil_iovar_data_get(ifp, "arp_hostip", addr_table,
sizeof(addr_table)); sizeof(addr_table));
if (ret) { if (ret) {
brcmf_err("fail to get arp ip table err:%d\n", ret); bphy_err(drvr, "fail to get arp ip table err:%d\n", ret);
return NOTIFY_OK; return NOTIFY_OK;
} }
...@@ -963,7 +966,7 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb, ...@@ -963,7 +966,7 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb,
ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip", ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip",
&ifa->ifa_address, sizeof(ifa->ifa_address)); &ifa->ifa_address, sizeof(ifa->ifa_address));
if (ret) if (ret)
brcmf_err("add arp ip err %d\n", ret); bphy_err(drvr, "add arp ip err %d\n", ret);
} }
break; break;
case NETDEV_DOWN: case NETDEV_DOWN:
...@@ -975,8 +978,8 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb, ...@@ -975,8 +978,8 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb,
ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip_clear", ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip_clear",
NULL, 0); NULL, 0);
if (ret) { if (ret) {
brcmf_err("fail to clear arp ip table err:%d\n", bphy_err(drvr, "fail to clear arp ip table err:%d\n",
ret); ret);
return NOTIFY_OK; return NOTIFY_OK;
} }
for (i = 0; i < ARPOL_MAX_ENTRIES; i++) { for (i = 0; i < ARPOL_MAX_ENTRIES; i++) {
...@@ -986,8 +989,8 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb, ...@@ -986,8 +989,8 @@ static int brcmf_inetaddr_changed(struct notifier_block *nb,
&addr_table[i], &addr_table[i],
sizeof(addr_table[i])); sizeof(addr_table[i]));
if (ret) if (ret)
brcmf_err("add arp ip err %d\n", bphy_err(drvr, "add arp ip err %d\n",
ret); ret);
} }
} }
break; break;
...@@ -1161,7 +1164,7 @@ static int brcmf_bus_started(struct brcmf_pub *drvr, struct cfg80211_ops *ops) ...@@ -1161,7 +1164,7 @@ static int brcmf_bus_started(struct brcmf_pub *drvr, struct cfg80211_ops *ops)
return 0; return 0;
fail: fail:
brcmf_err("failed: %d\n", ret); bphy_err(drvr, "failed: %d\n", ret);
if (drvr->config) { if (drvr->config) {
brcmf_cfg80211_detach(drvr->config); brcmf_cfg80211_detach(drvr->config);
drvr->config = NULL; drvr->config = NULL;
...@@ -1213,7 +1216,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings) ...@@ -1213,7 +1216,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
/* Attach and link in the protocol */ /* Attach and link in the protocol */
ret = brcmf_proto_attach(drvr); ret = brcmf_proto_attach(drvr);
if (ret != 0) { if (ret != 0) {
brcmf_err("brcmf_prot_attach failed\n"); bphy_err(drvr, "brcmf_prot_attach failed\n");
goto fail; goto fail;
} }
...@@ -1226,7 +1229,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings) ...@@ -1226,7 +1229,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
ret = brcmf_bus_started(drvr, ops); ret = brcmf_bus_started(drvr, ops);
if (ret != 0) { if (ret != 0) {
brcmf_err("dongle is not responding: err=%d\n", ret); bphy_err(drvr, "dongle is not responding: err=%d\n", ret);
goto fail; goto fail;
} }
...@@ -1326,6 +1329,7 @@ static int brcmf_get_pend_8021x_cnt(struct brcmf_if *ifp) ...@@ -1326,6 +1329,7 @@ static int brcmf_get_pend_8021x_cnt(struct brcmf_if *ifp)
int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp) int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
int err; int err;
err = wait_event_timeout(ifp->pend_8021x_wait, err = wait_event_timeout(ifp->pend_8021x_wait,
...@@ -1333,7 +1337,7 @@ int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp) ...@@ -1333,7 +1337,7 @@ int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp)
MAX_WAIT_FOR_8021X_TX); MAX_WAIT_FOR_8021X_TX);
if (!err) if (!err)
brcmf_err("Timed out waiting for no pending 802.1x packets\n"); bphy_err(drvr, "Timed out waiting for no pending 802.1x packets\n");
return !err; return !err;
} }
......
...@@ -185,13 +185,14 @@ static void brcmf_feat_iovar_data_set(struct brcmf_if *ifp, ...@@ -185,13 +185,14 @@ static void brcmf_feat_iovar_data_set(struct brcmf_if *ifp,
#define MAX_CAPS_BUFFER_SIZE 768 #define MAX_CAPS_BUFFER_SIZE 768
static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp) static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
char caps[MAX_CAPS_BUFFER_SIZE]; char caps[MAX_CAPS_BUFFER_SIZE];
enum brcmf_feat_id id; enum brcmf_feat_id id;
int i, err; int i, err;
err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps)); err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps));
if (err) { if (err) {
brcmf_err("could not get firmware cap (%d)\n", err); bphy_err(drvr, "could not get firmware cap (%d)\n", err);
return; return;
} }
...@@ -216,14 +217,15 @@ static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp) ...@@ -216,14 +217,15 @@ static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp)
static int brcmf_feat_fwcap_debugfs_read(struct seq_file *seq, void *data) static int brcmf_feat_fwcap_debugfs_read(struct seq_file *seq, void *data)
{ {
struct brcmf_bus *bus_if = dev_get_drvdata(seq->private); struct brcmf_bus *bus_if = dev_get_drvdata(seq->private);
struct brcmf_if *ifp = brcmf_get_ifp(bus_if->drvr, 0); struct brcmf_pub *drvr = bus_if->drvr;
struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
char caps[MAX_CAPS_BUFFER_SIZE + 1] = { }; char caps[MAX_CAPS_BUFFER_SIZE + 1] = { };
char *tmp; char *tmp;
int err; int err;
err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps)); err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps));
if (err) { if (err) {
brcmf_err("could not get firmware cap (%d)\n", err); bphy_err(drvr, "could not get firmware cap (%d)\n", err);
return err; return err;
} }
......
...@@ -102,7 +102,8 @@ static void brcmf_fweh_queue_event(struct brcmf_fweh_info *fweh, ...@@ -102,7 +102,8 @@ static void brcmf_fweh_queue_event(struct brcmf_fweh_info *fweh,
schedule_work(&fweh->event_work); schedule_work(&fweh->event_work);
} }
static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp, static int brcmf_fweh_call_event_handler(struct brcmf_pub *drvr,
struct brcmf_if *ifp,
enum brcmf_fweh_event_code code, enum brcmf_fweh_event_code code,
struct brcmf_event_msg *emsg, struct brcmf_event_msg *emsg,
void *data) void *data)
...@@ -117,9 +118,9 @@ static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp, ...@@ -117,9 +118,9 @@ static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp,
if (fweh->evt_handler[code]) if (fweh->evt_handler[code])
err = fweh->evt_handler[code](ifp, emsg, data); err = fweh->evt_handler[code](ifp, emsg, data);
else else
brcmf_err("unhandled event %d ignored\n", code); bphy_err(drvr, "unhandled event %d ignored\n", code);
} else { } else {
brcmf_err("no interface object\n"); bphy_err(drvr, "no interface object\n");
} }
return err; return err;
} }
...@@ -158,7 +159,7 @@ static void brcmf_fweh_handle_if_event(struct brcmf_pub *drvr, ...@@ -158,7 +159,7 @@ static void brcmf_fweh_handle_if_event(struct brcmf_pub *drvr,
return; return;
} }
if (ifevent->ifidx >= BRCMF_MAX_IFS) { if (ifevent->ifidx >= BRCMF_MAX_IFS) {
brcmf_err("invalid interface index: %u\n", ifevent->ifidx); bphy_err(drvr, "invalid interface index: %u\n", ifevent->ifidx);
return; return;
} }
...@@ -181,7 +182,8 @@ static void brcmf_fweh_handle_if_event(struct brcmf_pub *drvr, ...@@ -181,7 +182,8 @@ static void brcmf_fweh_handle_if_event(struct brcmf_pub *drvr,
if (ifp && ifevent->action == BRCMF_E_IF_CHANGE) if (ifp && ifevent->action == BRCMF_E_IF_CHANGE)
brcmf_proto_reset_if(drvr, ifp); brcmf_proto_reset_if(drvr, ifp);
err = brcmf_fweh_call_event_handler(ifp, emsg->event_code, emsg, data); err = brcmf_fweh_call_event_handler(drvr, ifp, emsg->event_code, emsg,
data);
if (ifp && ifevent->action == BRCMF_E_IF_DEL) { if (ifp && ifevent->action == BRCMF_E_IF_DEL) {
bool armed = brcmf_cfg80211_vif_event_armed(drvr->config); bool armed = brcmf_cfg80211_vif_event_armed(drvr->config);
...@@ -268,11 +270,11 @@ static void brcmf_fweh_event_worker(struct work_struct *work) ...@@ -268,11 +270,11 @@ static void brcmf_fweh_event_worker(struct work_struct *work)
ifp = drvr->iflist[0]; ifp = drvr->iflist[0];
else else
ifp = drvr->iflist[emsg.bsscfgidx]; ifp = drvr->iflist[emsg.bsscfgidx];
err = brcmf_fweh_call_event_handler(ifp, event->code, &emsg, err = brcmf_fweh_call_event_handler(drvr, ifp, event->code,
event->data); &emsg, event->data);
if (err) { if (err) {
brcmf_err("event handler failed (%d)\n", bphy_err(drvr, "event handler failed (%d)\n",
event->code); event->code);
err = 0; err = 0;
} }
event_free: event_free:
...@@ -339,7 +341,7 @@ int brcmf_fweh_register(struct brcmf_pub *drvr, enum brcmf_fweh_event_code code, ...@@ -339,7 +341,7 @@ int brcmf_fweh_register(struct brcmf_pub *drvr, enum brcmf_fweh_event_code code,
brcmf_fweh_handler_t handler) brcmf_fweh_handler_t handler)
{ {
if (drvr->fweh.evt_handler[code]) { if (drvr->fweh.evt_handler[code]) {
brcmf_err("event code %d already registered\n", code); bphy_err(drvr, "event code %d already registered\n", code);
return -ENOSPC; return -ENOSPC;
} }
drvr->fweh.evt_handler[code] = handler; drvr->fweh.evt_handler[code] = handler;
...@@ -369,6 +371,7 @@ void brcmf_fweh_unregister(struct brcmf_pub *drvr, ...@@ -369,6 +371,7 @@ void brcmf_fweh_unregister(struct brcmf_pub *drvr,
*/ */
int brcmf_fweh_activate_events(struct brcmf_if *ifp) int brcmf_fweh_activate_events(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
int i, err; int i, err;
s8 eventmask[BRCMF_EVENTING_MASK_LEN]; s8 eventmask[BRCMF_EVENTING_MASK_LEN];
...@@ -388,7 +391,7 @@ int brcmf_fweh_activate_events(struct brcmf_if *ifp) ...@@ -388,7 +391,7 @@ int brcmf_fweh_activate_events(struct brcmf_if *ifp)
err = brcmf_fil_iovar_data_set(ifp, "event_msgs", err = brcmf_fil_iovar_data_set(ifp, "event_msgs",
eventmask, BRCMF_EVENTING_MASK_LEN); eventmask, BRCMF_EVENTING_MASK_LEN);
if (err) if (err)
brcmf_err("Set event_msgs error (%d)\n", err); bphy_err(drvr, "Set event_msgs error (%d)\n", err);
return err; return err;
} }
......
...@@ -110,7 +110,7 @@ brcmf_fil_cmd_data(struct brcmf_if *ifp, u32 cmd, void *data, u32 len, bool set) ...@@ -110,7 +110,7 @@ brcmf_fil_cmd_data(struct brcmf_if *ifp, u32 cmd, void *data, u32 len, bool set)
s32 err, fwerr; s32 err, fwerr;
if (drvr->bus_if->state != BRCMF_BUS_UP) { if (drvr->bus_if->state != BRCMF_BUS_UP) {
brcmf_err("bus is down. we have nothing to do.\n"); bphy_err(drvr, "bus is down. we have nothing to do.\n");
return -EIO; return -EIO;
} }
...@@ -242,7 +242,7 @@ brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, const void *data, ...@@ -242,7 +242,7 @@ brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, const void *data,
buflen, true); buflen, true);
} else { } else {
err = -EPERM; err = -EPERM;
brcmf_err("Creating iovar failed\n"); bphy_err(drvr, "Creating iovar failed\n");
} }
mutex_unlock(&drvr->proto_block); mutex_unlock(&drvr->proto_block);
...@@ -268,7 +268,7 @@ brcmf_fil_iovar_data_get(struct brcmf_if *ifp, char *name, void *data, ...@@ -268,7 +268,7 @@ brcmf_fil_iovar_data_get(struct brcmf_if *ifp, char *name, void *data,
memcpy(data, drvr->proto_buf, len); memcpy(data, drvr->proto_buf, len);
} else { } else {
err = -EPERM; err = -EPERM;
brcmf_err("Creating iovar failed\n"); bphy_err(drvr, "Creating iovar failed\n");
} }
brcmf_dbg(FIL, "ifidx=%d, name=%s, len=%d\n", ifp->ifidx, name, len); brcmf_dbg(FIL, "ifidx=%d, name=%s, len=%d\n", ifp->ifidx, name, len);
...@@ -366,7 +366,7 @@ brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, char *name, ...@@ -366,7 +366,7 @@ brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, char *name,
buflen, true); buflen, true);
} else { } else {
err = -EPERM; err = -EPERM;
brcmf_err("Creating bsscfg failed\n"); bphy_err(drvr, "Creating bsscfg failed\n");
} }
mutex_unlock(&drvr->proto_block); mutex_unlock(&drvr->proto_block);
...@@ -392,7 +392,7 @@ brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, char *name, ...@@ -392,7 +392,7 @@ brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, char *name,
memcpy(data, drvr->proto_buf, len); memcpy(data, drvr->proto_buf, len);
} else { } else {
err = -EPERM; err = -EPERM;
brcmf_err("Creating bsscfg failed\n"); bphy_err(drvr, "Creating bsscfg failed\n");
} }
brcmf_dbg(FIL, "ifidx=%d, bsscfgidx=%d, name=%s, len=%d\n", ifp->ifidx, brcmf_dbg(FIL, "ifidx=%d, bsscfgidx=%d, name=%s, len=%d\n", ifp->ifidx,
ifp->bsscfgidx, name, len); ifp->bsscfgidx, name, len);
......
...@@ -1255,6 +1255,7 @@ static int brcmf_fws_enq(struct brcmf_fws_info *fws, ...@@ -1255,6 +1255,7 @@ static int brcmf_fws_enq(struct brcmf_fws_info *fws,
enum brcmf_fws_skb_state state, int fifo, enum brcmf_fws_skb_state state, int fifo,
struct sk_buff *p) struct sk_buff *p)
{ {
struct brcmf_pub *drvr = fws->drvr;
int prec = 2 * fifo; int prec = 2 * fifo;
u32 *qfull_stat = &fws->stats.delayq_full_error; u32 *qfull_stat = &fws->stats.delayq_full_error;
struct brcmf_fws_mac_descriptor *entry; struct brcmf_fws_mac_descriptor *entry;
...@@ -1267,7 +1268,7 @@ static int brcmf_fws_enq(struct brcmf_fws_info *fws, ...@@ -1267,7 +1268,7 @@ static int brcmf_fws_enq(struct brcmf_fws_info *fws,
entry = brcmf_skbcb(p)->mac; entry = brcmf_skbcb(p)->mac;
if (entry == NULL) { if (entry == NULL) {
brcmf_err("no mac descriptor found for skb %p\n", p); bphy_err(drvr, "no mac descriptor found for skb %p\n", p);
return -ENOENT; return -ENOENT;
} }
...@@ -1457,6 +1458,7 @@ static int ...@@ -1457,6 +1458,7 @@ static int
brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot, brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot,
u32 genbit, u16 seq, u8 compcnt) u32 genbit, u16 seq, u8 compcnt)
{ {
struct brcmf_pub *drvr = fws->drvr;
u32 fifo; u32 fifo;
u8 cnt = 0; u8 cnt = 0;
int ret; int ret;
...@@ -1481,14 +1483,14 @@ brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot, ...@@ -1481,14 +1483,14 @@ brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot,
else if (flags == BRCMF_FWS_TXSTATUS_HOST_TOSSED) else if (flags == BRCMF_FWS_TXSTATUS_HOST_TOSSED)
fws->stats.txs_host_tossed += compcnt; fws->stats.txs_host_tossed += compcnt;
else else
brcmf_err("unexpected txstatus\n"); bphy_err(drvr, "unexpected txstatus\n");
while (cnt < compcnt) { while (cnt < compcnt) {
ret = brcmf_fws_hanger_poppkt(&fws->hanger, hslot, &skb, ret = brcmf_fws_hanger_poppkt(&fws->hanger, hslot, &skb,
remove_from_hanger); remove_from_hanger);
if (ret != 0) { if (ret != 0) {
brcmf_err("no packet in hanger slot: hslot=%d\n", bphy_err(drvr, "no packet in hanger slot: hslot=%d\n",
hslot); hslot);
goto cont; goto cont;
} }
...@@ -1612,12 +1614,13 @@ static int brcmf_fws_notify_credit_map(struct brcmf_if *ifp, ...@@ -1612,12 +1614,13 @@ static int brcmf_fws_notify_credit_map(struct brcmf_if *ifp,
const struct brcmf_event_msg *e, const struct brcmf_event_msg *e,
void *data) void *data)
{ {
struct brcmf_fws_info *fws = drvr_to_fws(ifp->drvr); struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_fws_info *fws = drvr_to_fws(drvr);
int i; int i;
u8 *credits = data; u8 *credits = data;
if (e->datalen < BRCMF_FWS_FIFO_COUNT) { if (e->datalen < BRCMF_FWS_FIFO_COUNT) {
brcmf_err("event payload too small (%d)\n", e->datalen); bphy_err(drvr, "event payload too small (%d)\n", e->datalen);
return -EINVAL; return -EINVAL;
} }
...@@ -1681,6 +1684,7 @@ static void brcmf_rxreorder_get_skb_list(struct brcmf_ampdu_rx_reorder *rfi, ...@@ -1681,6 +1684,7 @@ static void brcmf_rxreorder_get_skb_list(struct brcmf_ampdu_rx_reorder *rfi,
void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt) void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt)
{ {
struct brcmf_pub *drvr = ifp->drvr;
u8 *reorder_data; u8 *reorder_data;
u8 flow_id, max_idx, cur_idx, exp_idx, end_idx; u8 flow_id, max_idx, cur_idx, exp_idx, end_idx;
struct brcmf_ampdu_rx_reorder *rfi; struct brcmf_ampdu_rx_reorder *rfi;
...@@ -1695,7 +1699,7 @@ void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt) ...@@ -1695,7 +1699,7 @@ void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt)
/* validate flags and flow id */ /* validate flags and flow id */
if (flags == 0xFF) { if (flags == 0xFF) {
brcmf_err("invalid flags...so ignore this packet\n"); bphy_err(drvr, "invalid flags...so ignore this packet\n");
brcmf_netif_rx(ifp, pkt); brcmf_netif_rx(ifp, pkt);
return; return;
} }
...@@ -1732,7 +1736,7 @@ void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt) ...@@ -1732,7 +1736,7 @@ void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt)
flow_id, max_idx); flow_id, max_idx);
rfi = kzalloc(buf_size, GFP_ATOMIC); rfi = kzalloc(buf_size, GFP_ATOMIC);
if (rfi == NULL) { if (rfi == NULL) {
brcmf_err("failed to alloc buffer\n"); bphy_err(drvr, "failed to alloc buffer\n");
brcmf_netif_rx(ifp, pkt); brcmf_netif_rx(ifp, pkt);
return; return;
} }
...@@ -1996,6 +2000,7 @@ static u8 brcmf_fws_precommit_skb(struct brcmf_fws_info *fws, int fifo, ...@@ -1996,6 +2000,7 @@ static u8 brcmf_fws_precommit_skb(struct brcmf_fws_info *fws, int fifo,
static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws, static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws,
struct sk_buff *skb, int fifo) struct sk_buff *skb, int fifo)
{ {
struct brcmf_pub *drvr = fws->drvr;
struct brcmf_fws_mac_descriptor *entry; struct brcmf_fws_mac_descriptor *entry;
struct sk_buff *pktout; struct sk_buff *pktout;
int qidx, hslot; int qidx, hslot;
...@@ -2009,11 +2014,11 @@ static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws, ...@@ -2009,11 +2014,11 @@ static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws,
pktout = brcmu_pktq_penq_head(&entry->psq, qidx, skb); pktout = brcmu_pktq_penq_head(&entry->psq, qidx, skb);
if (pktout == NULL) { if (pktout == NULL) {
brcmf_err("%s queue %d full\n", entry->name, qidx); bphy_err(drvr, "%s queue %d full\n", entry->name, qidx);
rc = -ENOSPC; rc = -ENOSPC;
} }
} else { } else {
brcmf_err("%s entry removed\n", entry->name); bphy_err(drvr, "%s entry removed\n", entry->name);
rc = -ENOENT; rc = -ENOENT;
} }
...@@ -2118,7 +2123,8 @@ static int brcmf_fws_assign_htod(struct brcmf_fws_info *fws, struct sk_buff *p, ...@@ -2118,7 +2123,8 @@ static int brcmf_fws_assign_htod(struct brcmf_fws_info *fws, struct sk_buff *p,
int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb) int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
{ {
struct brcmf_fws_info *fws = drvr_to_fws(ifp->drvr); struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_fws_info *fws = drvr_to_fws(drvr);
struct brcmf_skbuff_cb *skcb = brcmf_skbcb(skb); struct brcmf_skbuff_cb *skcb = brcmf_skbcb(skb);
struct ethhdr *eh = (struct ethhdr *)(skb->data); struct ethhdr *eh = (struct ethhdr *)(skb->data);
int fifo = BRCMF_FWS_FIFO_BCMC; int fifo = BRCMF_FWS_FIFO_BCMC;
...@@ -2146,7 +2152,7 @@ int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb) ...@@ -2146,7 +2152,7 @@ int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb); brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb);
brcmf_fws_schedule_deq(fws); brcmf_fws_schedule_deq(fws);
} else { } else {
brcmf_err("drop skb: no hanger slot\n"); bphy_err(drvr, "drop skb: no hanger slot\n");
brcmf_txfinalize(ifp, skb, false); brcmf_txfinalize(ifp, skb, false);
rc = -ENOMEM; rc = -ENOMEM;
} }
...@@ -2365,7 +2371,7 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr) ...@@ -2365,7 +2371,7 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr)
fws->fws_wq = create_singlethread_workqueue("brcmf_fws_wq"); fws->fws_wq = create_singlethread_workqueue("brcmf_fws_wq");
if (fws->fws_wq == NULL) { if (fws->fws_wq == NULL) {
brcmf_err("workqueue creation failed\n"); bphy_err(drvr, "workqueue creation failed\n");
rc = -EBADF; rc = -EBADF;
goto fail; goto fail;
} }
...@@ -2381,13 +2387,13 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr) ...@@ -2381,13 +2387,13 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr)
rc = brcmf_fweh_register(drvr, BRCMF_E_FIFO_CREDIT_MAP, rc = brcmf_fweh_register(drvr, BRCMF_E_FIFO_CREDIT_MAP,
brcmf_fws_notify_credit_map); brcmf_fws_notify_credit_map);
if (rc < 0) { if (rc < 0) {
brcmf_err("register credit map handler failed\n"); bphy_err(drvr, "register credit map handler failed\n");
goto fail; goto fail;
} }
rc = brcmf_fweh_register(drvr, BRCMF_E_BCMC_CREDIT_SUPPORT, rc = brcmf_fweh_register(drvr, BRCMF_E_BCMC_CREDIT_SUPPORT,
brcmf_fws_notify_bcmc_credit_support); brcmf_fws_notify_bcmc_credit_support);
if (rc < 0) { if (rc < 0) {
brcmf_err("register bcmc credit handler failed\n"); bphy_err(drvr, "register bcmc credit handler failed\n");
brcmf_fweh_unregister(drvr, BRCMF_E_FIFO_CREDIT_MAP); brcmf_fweh_unregister(drvr, BRCMF_E_FIFO_CREDIT_MAP);
goto fail; goto fail;
} }
...@@ -2399,7 +2405,7 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr) ...@@ -2399,7 +2405,7 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr)
fws->fw_signals = true; fws->fw_signals = true;
ifp = brcmf_get_ifp(drvr, 0); ifp = brcmf_get_ifp(drvr, 0);
if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) { if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) {
brcmf_err("failed to set bdcv2 tlv signaling\n"); bphy_err(drvr, "failed to set bdcv2 tlv signaling\n");
fws->fcmode = BRCMF_FWS_FCMODE_NONE; fws->fcmode = BRCMF_FWS_FCMODE_NONE;
fws->fw_signals = false; fws->fw_signals = false;
} }
......
...@@ -109,6 +109,7 @@ static int brcmf_pno_channel_config(struct brcmf_if *ifp, ...@@ -109,6 +109,7 @@ static int brcmf_pno_channel_config(struct brcmf_if *ifp,
static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq, static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
u32 mscan, u32 bestn) u32 mscan, u32 bestn)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_pno_param_le pfn_param; struct brcmf_pno_param_le pfn_param;
u16 flags; u16 flags;
u32 pfnmem; u32 pfnmem;
...@@ -132,13 +133,13 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq, ...@@ -132,13 +133,13 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
/* set bestn in firmware */ /* set bestn in firmware */
err = brcmf_fil_iovar_int_set(ifp, "pfnmem", pfnmem); err = brcmf_fil_iovar_int_set(ifp, "pfnmem", pfnmem);
if (err < 0) { if (err < 0) {
brcmf_err("failed to set pfnmem\n"); bphy_err(drvr, "failed to set pfnmem\n");
goto exit; goto exit;
} }
/* get max mscan which the firmware supports */ /* get max mscan which the firmware supports */
err = brcmf_fil_iovar_int_get(ifp, "pfnmem", &pfnmem); err = brcmf_fil_iovar_int_get(ifp, "pfnmem", &pfnmem);
if (err < 0) { if (err < 0) {
brcmf_err("failed to get pfnmem\n"); bphy_err(drvr, "failed to get pfnmem\n");
goto exit; goto exit;
} }
mscan = min_t(u32, mscan, pfnmem); mscan = min_t(u32, mscan, pfnmem);
...@@ -152,7 +153,7 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq, ...@@ -152,7 +153,7 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
err = brcmf_fil_iovar_data_set(ifp, "pfn_set", &pfn_param, err = brcmf_fil_iovar_data_set(ifp, "pfn_set", &pfn_param,
sizeof(pfn_param)); sizeof(pfn_param));
if (err) if (err)
brcmf_err("pfn_set failed, err=%d\n", err); bphy_err(drvr, "pfn_set failed, err=%d\n", err);
exit: exit:
return err; return err;
...@@ -160,6 +161,7 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq, ...@@ -160,6 +161,7 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi) static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_pno_macaddr_le pfn_mac; struct brcmf_pno_macaddr_le pfn_mac;
u8 *mac_addr = NULL; u8 *mac_addr = NULL;
u8 *mac_mask = NULL; u8 *mac_mask = NULL;
...@@ -194,7 +196,7 @@ static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi) ...@@ -194,7 +196,7 @@ static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi)
err = brcmf_fil_iovar_data_set(ifp, "pfn_macaddr", &pfn_mac, err = brcmf_fil_iovar_data_set(ifp, "pfn_macaddr", &pfn_mac,
sizeof(pfn_mac)); sizeof(pfn_mac));
if (err) if (err)
brcmf_err("pfn_macaddr failed, err=%d\n", err); bphy_err(drvr, "pfn_macaddr failed, err=%d\n", err);
return err; return err;
} }
...@@ -202,6 +204,7 @@ static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi) ...@@ -202,6 +204,7 @@ static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi)
static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid, static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid,
bool active) bool active)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_pno_net_param_le pfn; struct brcmf_pno_net_param_le pfn;
int err; int err;
...@@ -218,12 +221,13 @@ static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid, ...@@ -218,12 +221,13 @@ static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid,
brcmf_dbg(SCAN, "adding ssid=%.32s (active=%d)\n", ssid->ssid, active); brcmf_dbg(SCAN, "adding ssid=%.32s (active=%d)\n", ssid->ssid, active);
err = brcmf_fil_iovar_data_set(ifp, "pfn_add", &pfn, sizeof(pfn)); err = brcmf_fil_iovar_data_set(ifp, "pfn_add", &pfn, sizeof(pfn));
if (err < 0) if (err < 0)
brcmf_err("adding failed: err=%d\n", err); bphy_err(drvr, "adding failed: err=%d\n", err);
return err; return err;
} }
static int brcmf_pno_add_bssid(struct brcmf_if *ifp, const u8 *bssid) static int brcmf_pno_add_bssid(struct brcmf_if *ifp, const u8 *bssid)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_pno_bssid_le bssid_cfg; struct brcmf_pno_bssid_le bssid_cfg;
int err; int err;
...@@ -234,7 +238,7 @@ static int brcmf_pno_add_bssid(struct brcmf_if *ifp, const u8 *bssid) ...@@ -234,7 +238,7 @@ static int brcmf_pno_add_bssid(struct brcmf_if *ifp, const u8 *bssid)
err = brcmf_fil_iovar_data_set(ifp, "pfn_add_bssid", &bssid_cfg, err = brcmf_fil_iovar_data_set(ifp, "pfn_add_bssid", &bssid_cfg,
sizeof(bssid_cfg)); sizeof(bssid_cfg));
if (err < 0) if (err < 0)
brcmf_err("adding failed: err=%d\n", err); bphy_err(drvr, "adding failed: err=%d\n", err);
return err; return err;
} }
...@@ -258,6 +262,7 @@ static bool brcmf_is_ssid_active(struct cfg80211_ssid *ssid, ...@@ -258,6 +262,7 @@ static bool brcmf_is_ssid_active(struct cfg80211_ssid *ssid,
static int brcmf_pno_clean(struct brcmf_if *ifp) static int brcmf_pno_clean(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
int ret; int ret;
/* Disable pfn */ /* Disable pfn */
...@@ -267,7 +272,7 @@ static int brcmf_pno_clean(struct brcmf_if *ifp) ...@@ -267,7 +272,7 @@ static int brcmf_pno_clean(struct brcmf_if *ifp)
ret = brcmf_fil_iovar_data_set(ifp, "pfnclear", NULL, 0); ret = brcmf_fil_iovar_data_set(ifp, "pfnclear", NULL, 0);
} }
if (ret < 0) if (ret < 0)
brcmf_err("failed code %d\n", ret); bphy_err(drvr, "failed code %d\n", ret);
return ret; return ret;
} }
...@@ -392,6 +397,7 @@ static int brcmf_pno_config_networks(struct brcmf_if *ifp, ...@@ -392,6 +397,7 @@ static int brcmf_pno_config_networks(struct brcmf_if *ifp,
static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp) static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp)
{ {
struct brcmf_pub *drvr = ifp->drvr;
struct brcmf_pno_info *pi; struct brcmf_pno_info *pi;
struct brcmf_gscan_config *gscan_cfg; struct brcmf_gscan_config *gscan_cfg;
struct brcmf_gscan_bucket_config *buckets; struct brcmf_gscan_bucket_config *buckets;
...@@ -416,7 +422,7 @@ static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp) ...@@ -416,7 +422,7 @@ static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp)
/* clean up everything */ /* clean up everything */
err = brcmf_pno_clean(ifp); err = brcmf_pno_clean(ifp);
if (err < 0) { if (err < 0) {
brcmf_err("failed error=%d\n", err); bphy_err(drvr, "failed error=%d\n", err);
goto free_gscan; goto free_gscan;
} }
......
...@@ -47,8 +47,8 @@ int brcmf_proto_attach(struct brcmf_pub *drvr) ...@@ -47,8 +47,8 @@ int brcmf_proto_attach(struct brcmf_pub *drvr)
if (brcmf_proto_msgbuf_attach(drvr)) if (brcmf_proto_msgbuf_attach(drvr))
goto fail; goto fail;
} else { } else {
brcmf_err("Unsupported proto type %d\n", bphy_err(drvr, "Unsupported proto type %d\n",
drvr->bus_if->proto_type); drvr->bus_if->proto_type);
goto fail; goto fail;
} }
if (!proto->tx_queue_data || (proto->hdrpull == NULL) || if (!proto->tx_queue_data || (proto->hdrpull == NULL) ||
...@@ -56,7 +56,7 @@ int brcmf_proto_attach(struct brcmf_pub *drvr) ...@@ -56,7 +56,7 @@ int brcmf_proto_attach(struct brcmf_pub *drvr)
(proto->configure_addr_mode == NULL) || (proto->configure_addr_mode == NULL) ||
(proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL) || (proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL) ||
(proto->debugfs_create == NULL)) { (proto->debugfs_create == NULL)) {
brcmf_err("Not all proto handlers have been installed\n"); bphy_err(drvr, "Not all proto handlers have been installed\n");
goto fail; goto fail;
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment