354-v5.1-brcmfmac-use-bphy_err-in-all-wiphy-related-code.patch 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707
  1. From dcb1471bc6d0541d636c7ecd9239573304842884 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
  3. Date: Tue, 19 Feb 2019 23:42:19 +0100
  4. Subject: [PATCH] brcmfmac: use bphy_err() in all wiphy-related code
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. This recently added macro provides more meaningful error messages thanks
  9. to identifying a specific wiphy. It's especially important on systems
  10. with few cards supported by the same (brcmfmac) driver.
  11. Signed-off-by: Rafał Miłecki <[email protected]>
  12. Acked-by: Arend van Spriel <[email protected]>
  13. Signed-off-by: Kalle Valo <[email protected]>
  14. ---
  15. .../broadcom/brcm80211/brcmfmac/bcdc.c | 22 ++---
  16. .../broadcom/brcm80211/brcmfmac/common.c | 39 ++++----
  17. .../broadcom/brcm80211/brcmfmac/core.c | 74 ++++++++--------
  18. .../broadcom/brcm80211/brcmfmac/feature.c | 8 +-
  19. .../broadcom/brcm80211/brcmfmac/fweh.c | 25 +++---
  20. .../broadcom/brcm80211/brcmfmac/fwil.c | 10 +--
  21. .../broadcom/brcm80211/brcmfmac/fwsignal.c | 38 ++++----
  22. .../broadcom/brcm80211/brcmfmac/msgbuf.c | 65 ++++++++------
  23. .../broadcom/brcm80211/brcmfmac/p2p.c | 88 +++++++++++--------
  24. .../broadcom/brcm80211/brcmfmac/pno.c | 22 +++--
  25. .../broadcom/brcm80211/brcmfmac/proto.c | 6 +-
  26. 11 files changed, 224 insertions(+), 173 deletions(-)
  27. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
  28. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
  29. @@ -178,8 +178,8 @@ brcmf_proto_bcdc_query_dcmd(struct brcmf
  30. *fwerr = 0;
  31. ret = brcmf_proto_bcdc_msg(drvr, ifidx, cmd, buf, len, false);
  32. if (ret < 0) {
  33. - brcmf_err("brcmf_proto_bcdc_msg failed w/status %d\n",
  34. - ret);
  35. + bphy_err(drvr, "brcmf_proto_bcdc_msg failed w/status %d\n",
  36. + ret);
  37. goto done;
  38. }
  39. @@ -195,9 +195,9 @@ retry:
  40. if ((id < bcdc->reqid) && (++retries < RETRIES))
  41. goto retry;
  42. if (id != bcdc->reqid) {
  43. - brcmf_err("%s: unexpected request id %d (expected %d)\n",
  44. - brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
  45. - bcdc->reqid);
  46. + bphy_err(drvr, "%s: unexpected request id %d (expected %d)\n",
  47. + brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
  48. + bcdc->reqid);
  49. ret = -EINVAL;
  50. goto done;
  51. }
  52. @@ -245,9 +245,9 @@ brcmf_proto_bcdc_set_dcmd(struct brcmf_p
  53. id = (flags & BCDC_DCMD_ID_MASK) >> BCDC_DCMD_ID_SHIFT;
  54. if (id != bcdc->reqid) {
  55. - brcmf_err("%s: unexpected request id %d (expected %d)\n",
  56. - brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
  57. - bcdc->reqid);
  58. + bphy_err(drvr, "%s: unexpected request id %d (expected %d)\n",
  59. + brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
  60. + bcdc->reqid);
  61. ret = -EINVAL;
  62. goto done;
  63. }
  64. @@ -312,8 +312,8 @@ brcmf_proto_bcdc_hdrpull(struct brcmf_pu
  65. }
  66. if (((h->flags & BCDC_FLAG_VER_MASK) >> BCDC_FLAG_VER_SHIFT) !=
  67. BCDC_PROTO_VER) {
  68. - brcmf_err("%s: non-BCDC packet received, flags 0x%x\n",
  69. - brcmf_ifname(tmp_if), h->flags);
  70. + bphy_err(drvr, "%s: non-BCDC packet received, flags 0x%x\n",
  71. + brcmf_ifname(tmp_if), h->flags);
  72. return -EBADE;
  73. }
  74. @@ -460,7 +460,7 @@ int brcmf_proto_bcdc_attach(struct brcmf
  75. /* ensure that the msg buf directly follows the cdc msg struct */
  76. if ((unsigned long)(&bcdc->msg + 1) != (unsigned long)bcdc->buf) {
  77. - brcmf_err("struct brcmf_proto_bcdc is not correctly defined\n");
  78. + bphy_err(drvr, "struct brcmf_proto_bcdc is not correctly defined\n");
  79. goto fail;
  80. }
  81. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
  82. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
  83. @@ -90,6 +90,7 @@ struct brcmf_mp_global_t brcmf_mp_global
  84. void brcmf_c_set_joinpref_default(struct brcmf_if *ifp)
  85. {
  86. + struct brcmf_pub *drvr = ifp->drvr;
  87. struct brcmf_join_pref_params join_pref_params[2];
  88. int err;
  89. @@ -106,7 +107,7 @@ void brcmf_c_set_joinpref_default(struct
  90. err = brcmf_fil_iovar_data_set(ifp, "join_pref", join_pref_params,
  91. sizeof(join_pref_params));
  92. if (err)
  93. - brcmf_err("Set join_pref error (%d)\n", err);
  94. + bphy_err(drvr, "Set join_pref error (%d)\n", err);
  95. }
  96. static int brcmf_c_download(struct brcmf_if *ifp, u16 flag,
  97. @@ -129,7 +130,8 @@ static int brcmf_c_download(struct brcmf
  98. static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
  99. {
  100. - struct brcmf_bus *bus = ifp->drvr->bus_if;
  101. + struct brcmf_pub *drvr = ifp->drvr;
  102. + struct brcmf_bus *bus = drvr->bus_if;
  103. struct brcmf_dload_data_le *chunk_buf;
  104. const struct firmware *clm = NULL;
  105. u8 clm_name[BRCMF_FW_NAME_LEN];
  106. @@ -145,7 +147,7 @@ static int brcmf_c_process_clm_blob(stru
  107. memset(clm_name, 0, sizeof(clm_name));
  108. err = brcmf_bus_get_fwname(bus, ".clm_blob", clm_name);
  109. if (err) {
  110. - brcmf_err("get CLM blob file name failed (%d)\n", err);
  111. + bphy_err(drvr, "get CLM blob file name failed (%d)\n", err);
  112. return err;
  113. }
  114. @@ -182,12 +184,12 @@ static int brcmf_c_process_clm_blob(stru
  115. } while ((datalen > 0) && (err == 0));
  116. if (err) {
  117. - brcmf_err("clmload (%zu byte file) failed (%d); ",
  118. - clm->size, err);
  119. + bphy_err(drvr, "clmload (%zu byte file) failed (%d)\n",
  120. + clm->size, err);
  121. /* Retrieve clmload_status and print */
  122. err = brcmf_fil_iovar_int_get(ifp, "clmload_status", &status);
  123. if (err)
  124. - brcmf_err("get clmload_status failed (%d)\n", err);
  125. + bphy_err(drvr, "get clmload_status failed (%d)\n", err);
  126. else
  127. brcmf_dbg(INFO, "clmload_status=%d\n", status);
  128. err = -EIO;
  129. @@ -201,6 +203,7 @@ done:
  130. int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
  131. {
  132. + struct brcmf_pub *drvr = ifp->drvr;
  133. s8 eventmask[BRCMF_EVENTING_MASK_LEN];
  134. u8 buf[BRCMF_DCMD_SMLEN];
  135. struct brcmf_bus *bus;
  136. @@ -214,7 +217,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  137. err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr,
  138. sizeof(ifp->mac_addr));
  139. if (err < 0) {
  140. - brcmf_err("Retrieving cur_etheraddr failed, %d\n", err);
  141. + bphy_err(drvr, "Retrieving cur_etheraddr failed, %d\n", err);
  142. goto done;
  143. }
  144. memcpy(ifp->drvr->wiphy->perm_addr, ifp->drvr->mac, ETH_ALEN);
  145. @@ -226,7 +229,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  146. err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_REVINFO,
  147. &revinfo, sizeof(revinfo));
  148. if (err < 0) {
  149. - brcmf_err("retrieving revision info failed, %d\n", err);
  150. + bphy_err(drvr, "retrieving revision info failed, %d\n", err);
  151. strlcpy(ri->chipname, "UNKNOWN", sizeof(ri->chipname));
  152. } else {
  153. ri->vendorid = le32_to_cpu(revinfo.vendorid);
  154. @@ -260,7 +263,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  155. /* Do any CLM downloading */
  156. err = brcmf_c_process_clm_blob(ifp);
  157. if (err < 0) {
  158. - brcmf_err("download CLM blob file failed, %d\n", err);
  159. + bphy_err(drvr, "download CLM blob file failed, %d\n", err);
  160. goto done;
  161. }
  162. @@ -269,8 +272,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  163. strcpy(buf, "ver");
  164. err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf));
  165. if (err < 0) {
  166. - brcmf_err("Retrieving version information failed, %d\n",
  167. - err);
  168. + bphy_err(drvr, "Retrieving version information failed, %d\n",
  169. + err);
  170. goto done;
  171. }
  172. ptr = (char *)buf;
  173. @@ -304,7 +307,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  174. /* set mpc */
  175. err = brcmf_fil_iovar_int_set(ifp, "mpc", 1);
  176. if (err) {
  177. - brcmf_err("failed setting mpc\n");
  178. + bphy_err(drvr, "failed setting mpc\n");
  179. goto done;
  180. }
  181. @@ -314,14 +317,14 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  182. err = brcmf_fil_iovar_data_get(ifp, "event_msgs", eventmask,
  183. BRCMF_EVENTING_MASK_LEN);
  184. if (err) {
  185. - brcmf_err("Get event_msgs error (%d)\n", err);
  186. + bphy_err(drvr, "Get event_msgs error (%d)\n", err);
  187. goto done;
  188. }
  189. setbit(eventmask, BRCMF_E_IF);
  190. err = brcmf_fil_iovar_data_set(ifp, "event_msgs", eventmask,
  191. BRCMF_EVENTING_MASK_LEN);
  192. if (err) {
  193. - brcmf_err("Set event_msgs error (%d)\n", err);
  194. + bphy_err(drvr, "Set event_msgs error (%d)\n", err);
  195. goto done;
  196. }
  197. @@ -329,8 +332,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  198. err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_CHANNEL_TIME,
  199. BRCMF_DEFAULT_SCAN_CHANNEL_TIME);
  200. if (err) {
  201. - brcmf_err("BRCMF_C_SET_SCAN_CHANNEL_TIME error (%d)\n",
  202. - err);
  203. + bphy_err(drvr, "BRCMF_C_SET_SCAN_CHANNEL_TIME error (%d)\n",
  204. + err);
  205. goto done;
  206. }
  207. @@ -338,8 +341,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
  208. err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_UNASSOC_TIME,
  209. BRCMF_DEFAULT_SCAN_UNASSOC_TIME);
  210. if (err) {
  211. - brcmf_err("BRCMF_C_SET_SCAN_UNASSOC_TIME error (%d)\n",
  212. - err);
  213. + bphy_err(drvr, "BRCMF_C_SET_SCAN_UNASSOC_TIME error (%d)\n",
  214. + err);
  215. goto done;
  216. }
  217. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
  218. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
  219. @@ -90,7 +90,7 @@ struct brcmf_if *brcmf_get_ifp(struct br
  220. s32 bsscfgidx;
  221. if (ifidx < 0 || ifidx >= BRCMF_MAX_IFS) {
  222. - brcmf_err("ifidx %d out of range\n", ifidx);
  223. + bphy_err(drvr, "ifidx %d out of range\n", ifidx);
  224. return NULL;
  225. }
  226. @@ -141,7 +141,9 @@ void brcmf_configure_arp_nd_offload(stru
  227. static void _brcmf_set_multicast_list(struct work_struct *work)
  228. {
  229. - struct brcmf_if *ifp;
  230. + struct brcmf_if *ifp = container_of(work, struct brcmf_if,
  231. + multicast_work);
  232. + struct brcmf_pub *drvr = ifp->drvr;
  233. struct net_device *ndev;
  234. struct netdev_hw_addr *ha;
  235. u32 cmd_value, cnt;
  236. @@ -150,8 +152,6 @@ static void _brcmf_set_multicast_list(st
  237. u32 buflen;
  238. s32 err;
  239. - ifp = container_of(work, struct brcmf_if, multicast_work);
  240. -
  241. brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx);
  242. ndev = ifp->ndev;
  243. @@ -181,7 +181,7 @@ static void _brcmf_set_multicast_list(st
  244. err = brcmf_fil_iovar_data_set(ifp, "mcast_list", buf, buflen);
  245. if (err < 0) {
  246. - brcmf_err("Setting mcast_list failed, %d\n", err);
  247. + bphy_err(drvr, "Setting mcast_list failed, %d\n", err);
  248. cmd_value = cnt ? true : cmd_value;
  249. }
  250. @@ -194,25 +194,25 @@ static void _brcmf_set_multicast_list(st
  251. */
  252. err = brcmf_fil_iovar_int_set(ifp, "allmulti", cmd_value);
  253. if (err < 0)
  254. - brcmf_err("Setting allmulti failed, %d\n", err);
  255. + bphy_err(drvr, "Setting allmulti failed, %d\n", err);
  256. /*Finally, pick up the PROMISC flag */
  257. cmd_value = (ndev->flags & IFF_PROMISC) ? true : false;
  258. err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PROMISC, cmd_value);
  259. if (err < 0)
  260. - brcmf_err("Setting BRCMF_C_SET_PROMISC failed, %d\n",
  261. - err);
  262. + bphy_err(drvr, "Setting BRCMF_C_SET_PROMISC failed, %d\n",
  263. + err);
  264. brcmf_configure_arp_nd_offload(ifp, !cmd_value);
  265. }
  266. #if IS_ENABLED(CONFIG_IPV6)
  267. static void _brcmf_update_ndtable(struct work_struct *work)
  268. {
  269. - struct brcmf_if *ifp;
  270. + struct brcmf_if *ifp = container_of(work, struct brcmf_if,
  271. + ndoffload_work);
  272. + struct brcmf_pub *drvr = ifp->drvr;
  273. int i, ret;
  274. - ifp = container_of(work, struct brcmf_if, ndoffload_work);
  275. -
  276. /* clear the table in firmware */
  277. ret = brcmf_fil_iovar_data_set(ifp, "nd_hostip_clear", NULL, 0);
  278. if (ret) {
  279. @@ -225,7 +225,7 @@ static void _brcmf_update_ndtable(struct
  280. &ifp->ipv6_addr_tbl[i],
  281. sizeof(struct in6_addr));
  282. if (ret)
  283. - brcmf_err("add nd ip err %d\n", ret);
  284. + bphy_err(drvr, "add nd ip err %d\n", ret);
  285. }
  286. }
  287. #else
  288. @@ -238,6 +238,7 @@ static int brcmf_netdev_set_mac_address(
  289. {
  290. struct brcmf_if *ifp = netdev_priv(ndev);
  291. struct sockaddr *sa = (struct sockaddr *)addr;
  292. + struct brcmf_pub *drvr = ifp->drvr;
  293. int err;
  294. brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx);
  295. @@ -245,7 +246,7 @@ static int brcmf_netdev_set_mac_address(
  296. err = brcmf_fil_iovar_data_set(ifp, "cur_etheraddr", sa->sa_data,
  297. ETH_ALEN);
  298. if (err < 0) {
  299. - brcmf_err("Setting cur_etheraddr failed, %d\n", err);
  300. + bphy_err(drvr, "Setting cur_etheraddr failed, %d\n", err);
  301. } else {
  302. brcmf_dbg(TRACE, "updated to %pM\n", sa->sa_data);
  303. memcpy(ifp->mac_addr, sa->sa_data, ETH_ALEN);
  304. @@ -305,7 +306,7 @@ static netdev_tx_t brcmf_netdev_start_xm
  305. /* Can the device send data? */
  306. if (drvr->bus_if->state != BRCMF_BUS_UP) {
  307. - brcmf_err("xmit rejected state=%d\n", drvr->bus_if->state);
  308. + bphy_err(drvr, "xmit rejected state=%d\n", drvr->bus_if->state);
  309. netif_stop_queue(ndev);
  310. dev_kfree_skb(skb);
  311. ret = -ENODEV;
  312. @@ -339,8 +340,8 @@ static netdev_tx_t brcmf_netdev_start_xm
  313. ret = pskb_expand_head(skb, ALIGN(head_delta, NET_SKB_PAD), 0,
  314. GFP_ATOMIC);
  315. if (ret < 0) {
  316. - brcmf_err("%s: failed to expand headroom\n",
  317. - brcmf_ifname(ifp));
  318. + bphy_err(drvr, "%s: failed to expand headroom\n",
  319. + brcmf_ifname(ifp));
  320. atomic_inc(&drvr->bus_if->stats.pktcow_failed);
  321. goto done;
  322. }
  323. @@ -607,7 +608,7 @@ static int brcmf_netdev_open(struct net_
  324. /* If bus is not ready, can't continue */
  325. if (bus_if->state != BRCMF_BUS_UP) {
  326. - brcmf_err("failed bus is not ready\n");
  327. + bphy_err(drvr, "failed bus is not ready\n");
  328. return -EAGAIN;
  329. }
  330. @@ -621,7 +622,7 @@ static int brcmf_netdev_open(struct net_
  331. ndev->features &= ~NETIF_F_IP_CSUM;
  332. if (brcmf_cfg80211_up(ndev)) {
  333. - brcmf_err("failed to bring up cfg80211\n");
  334. + bphy_err(drvr, "failed to bring up cfg80211\n");
  335. return -EIO;
  336. }
  337. @@ -683,7 +684,7 @@ int brcmf_net_attach(struct brcmf_if *if
  338. else
  339. err = register_netdev(ndev);
  340. if (err != 0) {
  341. - brcmf_err("couldn't register the net device\n");
  342. + bphy_err(drvr, "couldn't register the net device\n");
  343. goto fail;
  344. }
  345. @@ -760,6 +761,7 @@ static const struct net_device_ops brcmf
  346. static int brcmf_net_p2p_attach(struct brcmf_if *ifp)
  347. {
  348. + struct brcmf_pub *drvr = ifp->drvr;
  349. struct net_device *ndev;
  350. brcmf_dbg(TRACE, "Enter, bsscfgidx=%d mac=%pM\n", ifp->bsscfgidx,
  351. @@ -772,7 +774,7 @@ static int brcmf_net_p2p_attach(struct b
  352. memcpy(ndev->dev_addr, ifp->mac_addr, ETH_ALEN);
  353. if (register_netdev(ndev) != 0) {
  354. - brcmf_err("couldn't register the p2p net device\n");
  355. + bphy_err(drvr, "couldn't register the p2p net device\n");
  356. goto fail;
  357. }
  358. @@ -801,8 +803,8 @@ struct brcmf_if *brcmf_add_if(struct brc
  359. */
  360. if (ifp) {
  361. if (ifidx) {
  362. - brcmf_err("ERROR: netdev:%s already exists\n",
  363. - ifp->ndev->name);
  364. + bphy_err(drvr, "ERROR: netdev:%s already exists\n",
  365. + ifp->ndev->name);
  366. netif_stop_queue(ifp->ndev);
  367. brcmf_net_detach(ifp->ndev, false);
  368. drvr->iflist[bsscfgidx] = NULL;
  369. @@ -864,7 +866,7 @@ static void brcmf_del_if(struct brcmf_pu
  370. ifp = drvr->iflist[bsscfgidx];
  371. drvr->iflist[bsscfgidx] = NULL;
  372. if (!ifp) {
  373. - brcmf_err("Null interface, bsscfgidx=%d\n", bsscfgidx);
  374. + bphy_err(drvr, "Null interface, bsscfgidx=%d\n", bsscfgidx);
  375. return;
  376. }
  377. brcmf_dbg(TRACE, "Enter, bsscfgidx=%d, ifidx=%d\n", bsscfgidx,
  378. @@ -914,16 +916,17 @@ static int brcmf_psm_watchdog_notify(str
  379. const struct brcmf_event_msg *evtmsg,
  380. void *data)
  381. {
  382. + struct brcmf_pub *drvr = ifp->drvr;
  383. int err;
  384. brcmf_dbg(TRACE, "enter: bsscfgidx=%d\n", ifp->bsscfgidx);
  385. - brcmf_err("PSM's watchdog has fired!\n");
  386. + bphy_err(drvr, "PSM's watchdog has fired!\n");
  387. err = brcmf_debug_create_memdump(ifp->drvr->bus_if, data,
  388. evtmsg->datalen);
  389. if (err)
  390. - brcmf_err("Failed to get memory dump, %d\n", err);
  391. + bphy_err(drvr, "Failed to get memory dump, %d\n", err);
  392. return err;
  393. }
  394. @@ -967,7 +970,7 @@ static int brcmf_inetaddr_changed(struct
  395. ret = brcmf_fil_iovar_data_get(ifp, "arp_hostip", addr_table,
  396. sizeof(addr_table));
  397. if (ret) {
  398. - brcmf_err("fail to get arp ip table err:%d\n", ret);
  399. + bphy_err(drvr, "fail to get arp ip table err:%d\n", ret);
  400. return NOTIFY_OK;
  401. }
  402. @@ -984,7 +987,7 @@ static int brcmf_inetaddr_changed(struct
  403. ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip",
  404. &ifa->ifa_address, sizeof(ifa->ifa_address));
  405. if (ret)
  406. - brcmf_err("add arp ip err %d\n", ret);
  407. + bphy_err(drvr, "add arp ip err %d\n", ret);
  408. }
  409. break;
  410. case NETDEV_DOWN:
  411. @@ -996,8 +999,8 @@ static int brcmf_inetaddr_changed(struct
  412. ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip_clear",
  413. NULL, 0);
  414. if (ret) {
  415. - brcmf_err("fail to clear arp ip table err:%d\n",
  416. - ret);
  417. + bphy_err(drvr, "fail to clear arp ip table err:%d\n",
  418. + ret);
  419. return NOTIFY_OK;
  420. }
  421. for (i = 0; i < ARPOL_MAX_ENTRIES; i++) {
  422. @@ -1007,8 +1010,8 @@ static int brcmf_inetaddr_changed(struct
  423. &addr_table[i],
  424. sizeof(addr_table[i]));
  425. if (ret)
  426. - brcmf_err("add arp ip err %d\n",
  427. - ret);
  428. + bphy_err(drvr, "add arp ip err %d\n",
  429. + ret);
  430. }
  431. }
  432. break;
  433. @@ -1182,7 +1185,7 @@ static int brcmf_bus_started(struct brcm
  434. return 0;
  435. fail:
  436. - brcmf_err("failed: %d\n", ret);
  437. + bphy_err(drvr, "failed: %d\n", ret);
  438. if (drvr->config) {
  439. brcmf_cfg80211_detach(drvr->config);
  440. drvr->config = NULL;
  441. @@ -1234,7 +1237,7 @@ int brcmf_attach(struct device *dev, str
  442. /* Attach and link in the protocol */
  443. ret = brcmf_proto_attach(drvr);
  444. if (ret != 0) {
  445. - brcmf_err("brcmf_prot_attach failed\n");
  446. + bphy_err(drvr, "brcmf_prot_attach failed\n");
  447. goto fail;
  448. }
  449. @@ -1247,7 +1250,7 @@ int brcmf_attach(struct device *dev, str
  450. ret = brcmf_bus_started(drvr, ops);
  451. if (ret != 0) {
  452. - brcmf_err("dongle is not responding: err=%d\n", ret);
  453. + bphy_err(drvr, "dongle is not responding: err=%d\n", ret);
  454. goto fail;
  455. }
  456. @@ -1347,6 +1350,7 @@ static int brcmf_get_pend_8021x_cnt(stru
  457. int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp)
  458. {
  459. + struct brcmf_pub *drvr = ifp->drvr;
  460. int err;
  461. err = wait_event_timeout(ifp->pend_8021x_wait,
  462. @@ -1354,7 +1358,7 @@ int brcmf_netdev_wait_pend8021x(struct b
  463. MAX_WAIT_FOR_8021X_TX);
  464. if (!err)
  465. - brcmf_err("Timed out waiting for no pending 802.1x packets\n");
  466. + bphy_err(drvr, "Timed out waiting for no pending 802.1x packets\n");
  467. return !err;
  468. }
  469. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
  470. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
  471. @@ -185,13 +185,14 @@ static void brcmf_feat_iovar_data_set(st
  472. #define MAX_CAPS_BUFFER_SIZE 768
  473. static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp)
  474. {
  475. + struct brcmf_pub *drvr = ifp->drvr;
  476. char caps[MAX_CAPS_BUFFER_SIZE];
  477. enum brcmf_feat_id id;
  478. int i, err;
  479. err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps));
  480. if (err) {
  481. - brcmf_err("could not get firmware cap (%d)\n", err);
  482. + bphy_err(drvr, "could not get firmware cap (%d)\n", err);
  483. return;
  484. }
  485. @@ -216,14 +217,15 @@ static void brcmf_feat_firmware_capabili
  486. static int brcmf_feat_fwcap_debugfs_read(struct seq_file *seq, void *data)
  487. {
  488. struct brcmf_bus *bus_if = dev_get_drvdata(seq->private);
  489. - struct brcmf_if *ifp = brcmf_get_ifp(bus_if->drvr, 0);
  490. + struct brcmf_pub *drvr = bus_if->drvr;
  491. + struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
  492. char caps[MAX_CAPS_BUFFER_SIZE + 1] = { };
  493. char *tmp;
  494. int err;
  495. err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps));
  496. if (err) {
  497. - brcmf_err("could not get firmware cap (%d)\n", err);
  498. + bphy_err(drvr, "could not get firmware cap (%d)\n", err);
  499. return err;
  500. }
  501. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
  502. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
  503. @@ -102,7 +102,8 @@ static void brcmf_fweh_queue_event(struc
  504. schedule_work(&fweh->event_work);
  505. }
  506. -static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp,
  507. +static int brcmf_fweh_call_event_handler(struct brcmf_pub *drvr,
  508. + struct brcmf_if *ifp,
  509. enum brcmf_fweh_event_code code,
  510. struct brcmf_event_msg *emsg,
  511. void *data)
  512. @@ -117,9 +118,9 @@ static int brcmf_fweh_call_event_handler
  513. if (fweh->evt_handler[code])
  514. err = fweh->evt_handler[code](ifp, emsg, data);
  515. else
  516. - brcmf_err("unhandled event %d ignored\n", code);
  517. + bphy_err(drvr, "unhandled event %d ignored\n", code);
  518. } else {
  519. - brcmf_err("no interface object\n");
  520. + bphy_err(drvr, "no interface object\n");
  521. }
  522. return err;
  523. }
  524. @@ -158,7 +159,7 @@ static void brcmf_fweh_handle_if_event(s
  525. return;
  526. }
  527. if (ifevent->ifidx >= BRCMF_MAX_IFS) {
  528. - brcmf_err("invalid interface index: %u\n", ifevent->ifidx);
  529. + bphy_err(drvr, "invalid interface index: %u\n", ifevent->ifidx);
  530. return;
  531. }
  532. @@ -181,7 +182,8 @@ static void brcmf_fweh_handle_if_event(s
  533. if (ifp && ifevent->action == BRCMF_E_IF_CHANGE)
  534. brcmf_proto_reset_if(drvr, ifp);
  535. - err = brcmf_fweh_call_event_handler(ifp, emsg->event_code, emsg, data);
  536. + err = brcmf_fweh_call_event_handler(drvr, ifp, emsg->event_code, emsg,
  537. + data);
  538. if (ifp && ifevent->action == BRCMF_E_IF_DEL) {
  539. bool armed = brcmf_cfg80211_vif_event_armed(drvr->config);
  540. @@ -268,11 +270,11 @@ static void brcmf_fweh_event_worker(stru
  541. ifp = drvr->iflist[0];
  542. else
  543. ifp = drvr->iflist[emsg.bsscfgidx];
  544. - err = brcmf_fweh_call_event_handler(ifp, event->code, &emsg,
  545. - event->data);
  546. + err = brcmf_fweh_call_event_handler(drvr, ifp, event->code,
  547. + &emsg, event->data);
  548. if (err) {
  549. - brcmf_err("event handler failed (%d)\n",
  550. - event->code);
  551. + bphy_err(drvr, "event handler failed (%d)\n",
  552. + event->code);
  553. err = 0;
  554. }
  555. event_free:
  556. @@ -339,7 +341,7 @@ int brcmf_fweh_register(struct brcmf_pub
  557. brcmf_fweh_handler_t handler)
  558. {
  559. if (drvr->fweh.evt_handler[code]) {
  560. - brcmf_err("event code %d already registered\n", code);
  561. + bphy_err(drvr, "event code %d already registered\n", code);
  562. return -ENOSPC;
  563. }
  564. drvr->fweh.evt_handler[code] = handler;
  565. @@ -369,6 +371,7 @@ void brcmf_fweh_unregister(struct brcmf_
  566. */
  567. int brcmf_fweh_activate_events(struct brcmf_if *ifp)
  568. {
  569. + struct brcmf_pub *drvr = ifp->drvr;
  570. int i, err;
  571. s8 eventmask[BRCMF_EVENTING_MASK_LEN];
  572. @@ -388,7 +391,7 @@ int brcmf_fweh_activate_events(struct br
  573. err = brcmf_fil_iovar_data_set(ifp, "event_msgs",
  574. eventmask, BRCMF_EVENTING_MASK_LEN);
  575. if (err)
  576. - brcmf_err("Set event_msgs error (%d)\n", err);
  577. + bphy_err(drvr, "Set event_msgs error (%d)\n", err);
  578. return err;
  579. }
  580. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c
  581. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c
  582. @@ -110,7 +110,7 @@ brcmf_fil_cmd_data(struct brcmf_if *ifp,
  583. s32 err, fwerr;
  584. if (drvr->bus_if->state != BRCMF_BUS_UP) {
  585. - brcmf_err("bus is down. we have nothing to do.\n");
  586. + bphy_err(drvr, "bus is down. we have nothing to do.\n");
  587. return -EIO;
  588. }
  589. @@ -242,7 +242,7 @@ brcmf_fil_iovar_data_set(struct brcmf_if
  590. buflen, true);
  591. } else {
  592. err = -EPERM;
  593. - brcmf_err("Creating iovar failed\n");
  594. + bphy_err(drvr, "Creating iovar failed\n");
  595. }
  596. mutex_unlock(&drvr->proto_block);
  597. @@ -268,7 +268,7 @@ brcmf_fil_iovar_data_get(struct brcmf_if
  598. memcpy(data, drvr->proto_buf, len);
  599. } else {
  600. err = -EPERM;
  601. - brcmf_err("Creating iovar failed\n");
  602. + bphy_err(drvr, "Creating iovar failed\n");
  603. }
  604. brcmf_dbg(FIL, "ifidx=%d, name=%s, len=%d\n", ifp->ifidx, name, len);
  605. @@ -366,7 +366,7 @@ brcmf_fil_bsscfg_data_set(struct brcmf_i
  606. buflen, true);
  607. } else {
  608. err = -EPERM;
  609. - brcmf_err("Creating bsscfg failed\n");
  610. + bphy_err(drvr, "Creating bsscfg failed\n");
  611. }
  612. mutex_unlock(&drvr->proto_block);
  613. @@ -392,7 +392,7 @@ brcmf_fil_bsscfg_data_get(struct brcmf_i
  614. memcpy(data, drvr->proto_buf, len);
  615. } else {
  616. err = -EPERM;
  617. - brcmf_err("Creating bsscfg failed\n");
  618. + bphy_err(drvr, "Creating bsscfg failed\n");
  619. }
  620. brcmf_dbg(FIL, "ifidx=%d, bsscfgidx=%d, name=%s, len=%d\n", ifp->ifidx,
  621. ifp->bsscfgidx, name, len);
  622. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
  623. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
  624. @@ -1255,6 +1255,7 @@ static int brcmf_fws_enq(struct brcmf_fw
  625. enum brcmf_fws_skb_state state, int fifo,
  626. struct sk_buff *p)
  627. {
  628. + struct brcmf_pub *drvr = fws->drvr;
  629. int prec = 2 * fifo;
  630. u32 *qfull_stat = &fws->stats.delayq_full_error;
  631. struct brcmf_fws_mac_descriptor *entry;
  632. @@ -1267,7 +1268,7 @@ static int brcmf_fws_enq(struct brcmf_fw
  633. entry = brcmf_skbcb(p)->mac;
  634. if (entry == NULL) {
  635. - brcmf_err("no mac descriptor found for skb %p\n", p);
  636. + bphy_err(drvr, "no mac descriptor found for skb %p\n", p);
  637. return -ENOENT;
  638. }
  639. @@ -1457,6 +1458,7 @@ static int
  640. brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot,
  641. u32 genbit, u16 seq, u8 compcnt)
  642. {
  643. + struct brcmf_pub *drvr = fws->drvr;
  644. u32 fifo;
  645. u8 cnt = 0;
  646. int ret;
  647. @@ -1481,14 +1483,14 @@ brcmf_fws_txs_process(struct brcmf_fws_i
  648. else if (flags == BRCMF_FWS_TXSTATUS_HOST_TOSSED)
  649. fws->stats.txs_host_tossed += compcnt;
  650. else
  651. - brcmf_err("unexpected txstatus\n");
  652. + bphy_err(drvr, "unexpected txstatus\n");
  653. while (cnt < compcnt) {
  654. ret = brcmf_fws_hanger_poppkt(&fws->hanger, hslot, &skb,
  655. remove_from_hanger);
  656. if (ret != 0) {
  657. - brcmf_err("no packet in hanger slot: hslot=%d\n",
  658. - hslot);
  659. + bphy_err(drvr, "no packet in hanger slot: hslot=%d\n",
  660. + hslot);
  661. goto cont;
  662. }
  663. @@ -1612,12 +1614,13 @@ static int brcmf_fws_notify_credit_map(s
  664. const struct brcmf_event_msg *e,
  665. void *data)
  666. {
  667. - struct brcmf_fws_info *fws = drvr_to_fws(ifp->drvr);
  668. + struct brcmf_pub *drvr = ifp->drvr;
  669. + struct brcmf_fws_info *fws = drvr_to_fws(drvr);
  670. int i;
  671. u8 *credits = data;
  672. if (e->datalen < BRCMF_FWS_FIFO_COUNT) {
  673. - brcmf_err("event payload too small (%d)\n", e->datalen);
  674. + bphy_err(drvr, "event payload too small (%d)\n", e->datalen);
  675. return -EINVAL;
  676. }
  677. @@ -1681,6 +1684,7 @@ static void brcmf_rxreorder_get_skb_list
  678. void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt)
  679. {
  680. + struct brcmf_pub *drvr = ifp->drvr;
  681. u8 *reorder_data;
  682. u8 flow_id, max_idx, cur_idx, exp_idx, end_idx;
  683. struct brcmf_ampdu_rx_reorder *rfi;
  684. @@ -1695,7 +1699,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
  685. /* validate flags and flow id */
  686. if (flags == 0xFF) {
  687. - brcmf_err("invalid flags...so ignore this packet\n");
  688. + bphy_err(drvr, "invalid flags...so ignore this packet\n");
  689. brcmf_netif_rx(ifp, pkt);
  690. return;
  691. }
  692. @@ -1732,7 +1736,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
  693. flow_id, max_idx);
  694. rfi = kzalloc(buf_size, GFP_ATOMIC);
  695. if (rfi == NULL) {
  696. - brcmf_err("failed to alloc buffer\n");
  697. + bphy_err(drvr, "failed to alloc buffer\n");
  698. brcmf_netif_rx(ifp, pkt);
  699. return;
  700. }
  701. @@ -1996,6 +2000,7 @@ static u8 brcmf_fws_precommit_skb(struct
  702. static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws,
  703. struct sk_buff *skb, int fifo)
  704. {
  705. + struct brcmf_pub *drvr = fws->drvr;
  706. struct brcmf_fws_mac_descriptor *entry;
  707. struct sk_buff *pktout;
  708. int qidx, hslot;
  709. @@ -2009,11 +2014,11 @@ static void brcmf_fws_rollback_toq(struc
  710. pktout = brcmu_pktq_penq_head(&entry->psq, qidx, skb);
  711. if (pktout == NULL) {
  712. - brcmf_err("%s queue %d full\n", entry->name, qidx);
  713. + bphy_err(drvr, "%s queue %d full\n", entry->name, qidx);
  714. rc = -ENOSPC;
  715. }
  716. } else {
  717. - brcmf_err("%s entry removed\n", entry->name);
  718. + bphy_err(drvr, "%s entry removed\n", entry->name);
  719. rc = -ENOENT;
  720. }
  721. @@ -2118,7 +2123,8 @@ static int brcmf_fws_assign_htod(struct
  722. int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
  723. {
  724. - struct brcmf_fws_info *fws = drvr_to_fws(ifp->drvr);
  725. + struct brcmf_pub *drvr = ifp->drvr;
  726. + struct brcmf_fws_info *fws = drvr_to_fws(drvr);
  727. struct brcmf_skbuff_cb *skcb = brcmf_skbcb(skb);
  728. struct ethhdr *eh = (struct ethhdr *)(skb->data);
  729. int fifo = BRCMF_FWS_FIFO_BCMC;
  730. @@ -2146,7 +2152,7 @@ int brcmf_fws_process_skb(struct brcmf_i
  731. brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb);
  732. brcmf_fws_schedule_deq(fws);
  733. } else {
  734. - brcmf_err("drop skb: no hanger slot\n");
  735. + bphy_err(drvr, "drop skb: no hanger slot\n");
  736. brcmf_txfinalize(ifp, skb, false);
  737. rc = -ENOMEM;
  738. }
  739. @@ -2365,7 +2371,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
  740. fws->fws_wq = create_singlethread_workqueue("brcmf_fws_wq");
  741. if (fws->fws_wq == NULL) {
  742. - brcmf_err("workqueue creation failed\n");
  743. + bphy_err(drvr, "workqueue creation failed\n");
  744. rc = -EBADF;
  745. goto fail;
  746. }
  747. @@ -2381,13 +2387,13 @@ struct brcmf_fws_info *brcmf_fws_attach(
  748. rc = brcmf_fweh_register(drvr, BRCMF_E_FIFO_CREDIT_MAP,
  749. brcmf_fws_notify_credit_map);
  750. if (rc < 0) {
  751. - brcmf_err("register credit map handler failed\n");
  752. + bphy_err(drvr, "register credit map handler failed\n");
  753. goto fail;
  754. }
  755. rc = brcmf_fweh_register(drvr, BRCMF_E_BCMC_CREDIT_SUPPORT,
  756. brcmf_fws_notify_bcmc_credit_support);
  757. if (rc < 0) {
  758. - brcmf_err("register bcmc credit handler failed\n");
  759. + bphy_err(drvr, "register bcmc credit handler failed\n");
  760. brcmf_fweh_unregister(drvr, BRCMF_E_FIFO_CREDIT_MAP);
  761. goto fail;
  762. }
  763. @@ -2399,7 +2405,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
  764. fws->fw_signals = true;
  765. ifp = brcmf_get_ifp(drvr, 0);
  766. if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) {
  767. - brcmf_err("failed to set bdcv2 tlv signaling\n");
  768. + bphy_err(drvr, "failed to set bdcv2 tlv signaling\n");
  769. fws->fcmode = BRCMF_FWS_FCMODE_NONE;
  770. fws->fw_signals = false;
  771. }
  772. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
  773. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
  774. @@ -439,7 +439,7 @@ static int brcmf_msgbuf_tx_ioctl(struct
  775. brcmf_commonring_lock(commonring);
  776. ret_ptr = brcmf_commonring_reserve_for_write(commonring);
  777. if (!ret_ptr) {
  778. - brcmf_err("Failed to reserve space in commonring\n");
  779. + bphy_err(drvr, "Failed to reserve space in commonring\n");
  780. brcmf_commonring_unlock(commonring);
  781. return -ENOMEM;
  782. }
  783. @@ -503,7 +503,7 @@ static int brcmf_msgbuf_query_dcmd(struc
  784. timeout = brcmf_msgbuf_ioctl_resp_wait(msgbuf);
  785. if (!timeout) {
  786. - brcmf_err("Timeout on response for query command\n");
  787. + bphy_err(drvr, "Timeout on response for query command\n");
  788. return -EIO;
  789. }
  790. @@ -580,6 +580,7 @@ static u32
  791. brcmf_msgbuf_flowring_create_worker(struct brcmf_msgbuf *msgbuf,
  792. struct brcmf_msgbuf_work_item *work)
  793. {
  794. + struct brcmf_pub *drvr = msgbuf->drvr;
  795. struct msgbuf_tx_flowring_create_req *create;
  796. struct brcmf_commonring *commonring;
  797. void *ret_ptr;
  798. @@ -595,7 +596,7 @@ brcmf_msgbuf_flowring_create_worker(stru
  799. &msgbuf->flowring_dma_handle[flowid],
  800. GFP_KERNEL);
  801. if (!dma_buf) {
  802. - brcmf_err("dma_alloc_coherent failed\n");
  803. + bphy_err(drvr, "dma_alloc_coherent failed\n");
  804. brcmf_flowring_delete(msgbuf->flow, flowid);
  805. return BRCMF_FLOWRING_INVALID_ID;
  806. }
  807. @@ -608,7 +609,7 @@ brcmf_msgbuf_flowring_create_worker(stru
  808. brcmf_commonring_lock(commonring);
  809. ret_ptr = brcmf_commonring_reserve_for_write(commonring);
  810. if (!ret_ptr) {
  811. - brcmf_err("Failed to reserve space in commonring\n");
  812. + bphy_err(drvr, "Failed to reserve space in commonring\n");
  813. brcmf_commonring_unlock(commonring);
  814. brcmf_msgbuf_remove_flowring(msgbuf, flowid);
  815. return BRCMF_FLOWRING_INVALID_ID;
  816. @@ -635,7 +636,7 @@ brcmf_msgbuf_flowring_create_worker(stru
  817. err = brcmf_commonring_write_complete(commonring);
  818. brcmf_commonring_unlock(commonring);
  819. if (err) {
  820. - brcmf_err("Failed to write commonring\n");
  821. + bphy_err(drvr, "Failed to write commonring\n");
  822. brcmf_msgbuf_remove_flowring(msgbuf, flowid);
  823. return BRCMF_FLOWRING_INVALID_ID;
  824. }
  825. @@ -694,6 +695,7 @@ static u32 brcmf_msgbuf_flowring_create(
  826. static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u16 flowid)
  827. {
  828. struct brcmf_flowring *flow = msgbuf->flow;
  829. + struct brcmf_pub *drvr = msgbuf->drvr;
  830. struct brcmf_commonring *commonring;
  831. void *ret_ptr;
  832. u32 count;
  833. @@ -713,8 +715,8 @@ static void brcmf_msgbuf_txflow(struct b
  834. while (brcmf_flowring_qlen(flow, flowid)) {
  835. skb = brcmf_flowring_dequeue(flow, flowid);
  836. if (skb == NULL) {
  837. - brcmf_err("No SKB, but qlen %d\n",
  838. - brcmf_flowring_qlen(flow, flowid));
  839. + bphy_err(drvr, "No SKB, but qlen %d\n",
  840. + brcmf_flowring_qlen(flow, flowid));
  841. break;
  842. }
  843. skb_orphan(skb);
  844. @@ -722,7 +724,7 @@ static void brcmf_msgbuf_txflow(struct b
  845. msgbuf->tx_pktids, skb, ETH_HLEN,
  846. &physaddr, &pktid)) {
  847. brcmf_flowring_reinsert(flow, flowid, skb);
  848. - brcmf_err("No PKTID available !!\n");
  849. + bphy_err(drvr, "No PKTID available !!\n");
  850. break;
  851. }
  852. ret_ptr = brcmf_commonring_reserve_for_write(commonring);
  853. @@ -893,6 +895,7 @@ brcmf_msgbuf_process_txstatus(struct brc
  854. static u32 brcmf_msgbuf_rxbuf_data_post(struct brcmf_msgbuf *msgbuf, u32 count)
  855. {
  856. + struct brcmf_pub *drvr = msgbuf->drvr;
  857. struct brcmf_commonring *commonring;
  858. void *ret_ptr;
  859. struct sk_buff *skb;
  860. @@ -920,7 +923,7 @@ static u32 brcmf_msgbuf_rxbuf_data_post(
  861. skb = brcmu_pkt_buf_get_skb(BRCMF_MSGBUF_MAX_PKT_SIZE);
  862. if (skb == NULL) {
  863. - brcmf_err("Failed to alloc SKB\n");
  864. + bphy_err(drvr, "Failed to alloc SKB\n");
  865. brcmf_commonring_write_cancel(commonring, alloced - i);
  866. break;
  867. }
  868. @@ -930,7 +933,7 @@ static u32 brcmf_msgbuf_rxbuf_data_post(
  869. msgbuf->rx_pktids, skb, 0,
  870. &physaddr, &pktid)) {
  871. dev_kfree_skb_any(skb);
  872. - brcmf_err("No PKTID available !!\n");
  873. + bphy_err(drvr, "No PKTID available !!\n");
  874. brcmf_commonring_write_cancel(commonring, alloced - i);
  875. break;
  876. }
  877. @@ -1000,6 +1003,7 @@ static u32
  878. brcmf_msgbuf_rxbuf_ctrl_post(struct brcmf_msgbuf *msgbuf, bool event_buf,
  879. u32 count)
  880. {
  881. + struct brcmf_pub *drvr = msgbuf->drvr;
  882. struct brcmf_commonring *commonring;
  883. void *ret_ptr;
  884. struct sk_buff *skb;
  885. @@ -1017,7 +1021,7 @@ brcmf_msgbuf_rxbuf_ctrl_post(struct brcm
  886. count,
  887. &alloced);
  888. if (!ret_ptr) {
  889. - brcmf_err("Failed to reserve space in commonring\n");
  890. + bphy_err(drvr, "Failed to reserve space in commonring\n");
  891. brcmf_commonring_unlock(commonring);
  892. return 0;
  893. }
  894. @@ -1029,7 +1033,7 @@ brcmf_msgbuf_rxbuf_ctrl_post(struct brcm
  895. skb = brcmu_pkt_buf_get_skb(BRCMF_MSGBUF_MAX_PKT_SIZE);
  896. if (skb == NULL) {
  897. - brcmf_err("Failed to alloc SKB\n");
  898. + bphy_err(drvr, "Failed to alloc SKB\n");
  899. brcmf_commonring_write_cancel(commonring, alloced - i);
  900. break;
  901. }
  902. @@ -1039,7 +1043,7 @@ brcmf_msgbuf_rxbuf_ctrl_post(struct brcm
  903. msgbuf->rx_pktids, skb, 0,
  904. &physaddr, &pktid)) {
  905. dev_kfree_skb_any(skb);
  906. - brcmf_err("No PKTID available !!\n");
  907. + bphy_err(drvr, "No PKTID available !!\n");
  908. brcmf_commonring_write_cancel(commonring, alloced - i);
  909. break;
  910. }
  911. @@ -1091,6 +1095,7 @@ static void brcmf_msgbuf_rxbuf_event_pos
  912. static void brcmf_msgbuf_process_event(struct brcmf_msgbuf *msgbuf, void *buf)
  913. {
  914. + struct brcmf_pub *drvr = msgbuf->drvr;
  915. struct msgbuf_rx_event *event;
  916. u32 idx;
  917. u16 buflen;
  918. @@ -1117,8 +1122,8 @@ static void brcmf_msgbuf_process_event(s
  919. ifp = brcmf_get_ifp(msgbuf->drvr, event->msg.ifidx);
  920. if (!ifp || !ifp->ndev) {
  921. - brcmf_err("Received pkt for invalid ifidx %d\n",
  922. - event->msg.ifidx);
  923. + bphy_err(drvr, "Received pkt for invalid ifidx %d\n",
  924. + event->msg.ifidx);
  925. goto exit;
  926. }
  927. @@ -1134,6 +1139,7 @@ exit:
  928. static void
  929. brcmf_msgbuf_process_rx_complete(struct brcmf_msgbuf *msgbuf, void *buf)
  930. {
  931. + struct brcmf_pub *drvr = msgbuf->drvr;
  932. struct msgbuf_rx_complete *rx_complete;
  933. struct sk_buff *skb;
  934. u16 data_offset;
  935. @@ -1167,7 +1173,7 @@ brcmf_msgbuf_process_rx_complete(struct
  936. ifp = msgbuf->drvr->mon_if;
  937. if (!ifp) {
  938. - brcmf_err("Received unexpected monitor pkt\n");
  939. + bphy_err(drvr, "Received unexpected monitor pkt\n");
  940. brcmu_pkt_buf_free_skb(skb);
  941. return;
  942. }
  943. @@ -1178,8 +1184,8 @@ brcmf_msgbuf_process_rx_complete(struct
  944. ifp = brcmf_get_ifp(msgbuf->drvr, rx_complete->msg.ifidx);
  945. if (!ifp || !ifp->ndev) {
  946. - brcmf_err("Received pkt for invalid ifidx %d\n",
  947. - rx_complete->msg.ifidx);
  948. + bphy_err(drvr, "Received pkt for invalid ifidx %d\n",
  949. + rx_complete->msg.ifidx);
  950. brcmu_pkt_buf_free_skb(skb);
  951. return;
  952. }
  953. @@ -1192,13 +1198,15 @@ static void brcmf_msgbuf_process_ring_st
  954. void *buf)
  955. {
  956. struct msgbuf_ring_status *ring_status = buf;
  957. + struct brcmf_pub *drvr = msgbuf->drvr;
  958. int err;
  959. err = le16_to_cpu(ring_status->compl_hdr.status);
  960. if (err) {
  961. int ring = le16_to_cpu(ring_status->compl_hdr.flow_ring_id);
  962. - brcmf_err("Firmware reported ring %d error: %d\n", ring, err);
  963. + bphy_err(drvr, "Firmware reported ring %d error: %d\n", ring,
  964. + err);
  965. }
  966. }
  967. @@ -1206,6 +1214,7 @@ static void
  968. brcmf_msgbuf_process_flow_ring_create_response(struct brcmf_msgbuf *msgbuf,
  969. void *buf)
  970. {
  971. + struct brcmf_pub *drvr = msgbuf->drvr;
  972. struct msgbuf_flowring_create_resp *flowring_create_resp;
  973. u16 status;
  974. u16 flowid;
  975. @@ -1217,7 +1226,7 @@ brcmf_msgbuf_process_flow_ring_create_re
  976. status = le16_to_cpu(flowring_create_resp->compl_hdr.status);
  977. if (status) {
  978. - brcmf_err("Flowring creation failed, code %d\n", status);
  979. + bphy_err(drvr, "Flowring creation failed, code %d\n", status);
  980. brcmf_msgbuf_remove_flowring(msgbuf, flowid);
  981. return;
  982. }
  983. @@ -1234,6 +1243,7 @@ static void
  984. brcmf_msgbuf_process_flow_ring_delete_response(struct brcmf_msgbuf *msgbuf,
  985. void *buf)
  986. {
  987. + struct brcmf_pub *drvr = msgbuf->drvr;
  988. struct msgbuf_flowring_delete_resp *flowring_delete_resp;
  989. u16 status;
  990. u16 flowid;
  991. @@ -1245,7 +1255,7 @@ brcmf_msgbuf_process_flow_ring_delete_re
  992. status = le16_to_cpu(flowring_delete_resp->compl_hdr.status);
  993. if (status) {
  994. - brcmf_err("Flowring deletion failed, code %d\n", status);
  995. + bphy_err(drvr, "Flowring deletion failed, code %d\n", status);
  996. brcmf_flowring_delete(msgbuf->flow, flowid);
  997. return;
  998. }
  999. @@ -1258,6 +1268,7 @@ brcmf_msgbuf_process_flow_ring_delete_re
  1000. static void brcmf_msgbuf_process_msgtype(struct brcmf_msgbuf *msgbuf, void *buf)
  1001. {
  1002. + struct brcmf_pub *drvr = msgbuf->drvr;
  1003. struct msgbuf_common_hdr *msg;
  1004. msg = (struct msgbuf_common_hdr *)buf;
  1005. @@ -1294,7 +1305,7 @@ static void brcmf_msgbuf_process_msgtype
  1006. brcmf_msgbuf_process_rx_complete(msgbuf, buf);
  1007. break;
  1008. default:
  1009. - brcmf_err("Unsupported msgtype %d\n", msg->msgtype);
  1010. + bphy_err(drvr, "Unsupported msgtype %d\n", msg->msgtype);
  1011. break;
  1012. }
  1013. }
  1014. @@ -1377,7 +1388,7 @@ void brcmf_msgbuf_delete_flowring(struct
  1015. brcmf_commonring_lock(commonring);
  1016. ret_ptr = brcmf_commonring_reserve_for_write(commonring);
  1017. if (!ret_ptr) {
  1018. - brcmf_err("FW unaware, flowring will be removed !!\n");
  1019. + bphy_err(drvr, "FW unaware, flowring will be removed !!\n");
  1020. brcmf_commonring_unlock(commonring);
  1021. brcmf_msgbuf_remove_flowring(msgbuf, flowid);
  1022. return;
  1023. @@ -1401,7 +1412,7 @@ void brcmf_msgbuf_delete_flowring(struct
  1024. err = brcmf_commonring_write_complete(commonring);
  1025. brcmf_commonring_unlock(commonring);
  1026. if (err) {
  1027. - brcmf_err("Failed to submit RING_DELETE, flowring will be removed\n");
  1028. + bphy_err(drvr, "Failed to submit RING_DELETE, flowring will be removed\n");
  1029. brcmf_msgbuf_remove_flowring(msgbuf, flowid);
  1030. }
  1031. }
  1032. @@ -1476,8 +1487,8 @@ int brcmf_proto_msgbuf_attach(struct brc
  1033. if_msgbuf = drvr->bus_if->msgbuf;
  1034. if (if_msgbuf->max_flowrings >= BRCMF_FLOWRING_HASHSIZE) {
  1035. - brcmf_err("driver not configured for this many flowrings %d\n",
  1036. - if_msgbuf->max_flowrings);
  1037. + bphy_err(drvr, "driver not configured for this many flowrings %d\n",
  1038. + if_msgbuf->max_flowrings);
  1039. if_msgbuf->max_flowrings = BRCMF_FLOWRING_HASHSIZE - 1;
  1040. }
  1041. @@ -1487,7 +1498,7 @@ int brcmf_proto_msgbuf_attach(struct brc
  1042. msgbuf->txflow_wq = create_singlethread_workqueue("msgbuf_txflow");
  1043. if (msgbuf->txflow_wq == NULL) {
  1044. - brcmf_err("workqueue creation failed\n");
  1045. + bphy_err(drvr, "workqueue creation failed\n");
  1046. goto fail;
  1047. }
  1048. INIT_WORK(&msgbuf->txflow_work, brcmf_msgbuf_txflow_worker);
  1049. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
  1050. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
  1051. @@ -434,6 +434,7 @@ static void brcmf_p2p_print_actframe(boo
  1052. */
  1053. static int brcmf_p2p_set_firmware(struct brcmf_if *ifp, u8 *p2p_mac)
  1054. {
  1055. + struct brcmf_pub *drvr = ifp->drvr;
  1056. s32 ret = 0;
  1057. brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1);
  1058. @@ -450,7 +451,7 @@ static int brcmf_p2p_set_firmware(struct
  1059. ret = brcmf_fil_iovar_data_set(ifp, "p2p_da_override", p2p_mac,
  1060. ETH_ALEN);
  1061. if (ret)
  1062. - brcmf_err("failed to update device address ret %d\n", ret);
  1063. + bphy_err(drvr, "failed to update device address ret %d\n", ret);
  1064. return ret;
  1065. }
  1066. @@ -570,13 +571,14 @@ static s32 brcmf_p2p_deinit_discovery(st
  1067. */
  1068. static int brcmf_p2p_enable_discovery(struct brcmf_p2p_info *p2p)
  1069. {
  1070. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1071. struct brcmf_cfg80211_vif *vif;
  1072. s32 ret = 0;
  1073. brcmf_dbg(TRACE, "enter\n");
  1074. vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif;
  1075. if (!vif) {
  1076. - brcmf_err("P2P config device not available\n");
  1077. + bphy_err(drvr, "P2P config device not available\n");
  1078. ret = -EPERM;
  1079. goto exit;
  1080. }
  1081. @@ -590,13 +592,13 @@ static int brcmf_p2p_enable_discovery(st
  1082. vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif;
  1083. ret = brcmf_fil_iovar_int_set(vif->ifp, "p2p_disc", 1);
  1084. if (ret < 0) {
  1085. - brcmf_err("set p2p_disc error\n");
  1086. + bphy_err(drvr, "set p2p_disc error\n");
  1087. goto exit;
  1088. }
  1089. vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif;
  1090. ret = brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_SCAN, 0, 0);
  1091. if (ret < 0) {
  1092. - brcmf_err("unable to set WL_P2P_DISC_ST_SCAN\n");
  1093. + bphy_err(drvr, "unable to set WL_P2P_DISC_ST_SCAN\n");
  1094. goto exit;
  1095. }
  1096. @@ -608,7 +610,7 @@ static int brcmf_p2p_enable_discovery(st
  1097. */
  1098. ret = brcmf_fil_bsscfg_int_set(vif->ifp, "wsec", AES_ENABLED);
  1099. if (ret < 0) {
  1100. - brcmf_err("wsec error %d\n", ret);
  1101. + bphy_err(drvr, "wsec error %d\n", ret);
  1102. goto exit;
  1103. }
  1104. @@ -630,6 +632,7 @@ static s32 brcmf_p2p_escan(struct brcmf_
  1105. u16 chanspecs[], s32 search_state,
  1106. enum p2p_bss_type bss_type)
  1107. {
  1108. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1109. s32 ret = 0;
  1110. s32 memsize = offsetof(struct brcmf_p2p_scan_le,
  1111. eparams.params_le.channel_list);
  1112. @@ -648,7 +651,7 @@ static s32 brcmf_p2p_escan(struct brcmf_
  1113. vif = p2p->bss_idx[bss_type].vif;
  1114. if (vif == NULL) {
  1115. - brcmf_err("no vif for bss type %d\n", bss_type);
  1116. + bphy_err(drvr, "no vif for bss type %d\n", bss_type);
  1117. ret = -EINVAL;
  1118. goto exit;
  1119. }
  1120. @@ -676,7 +679,7 @@ static s32 brcmf_p2p_escan(struct brcmf_
  1121. BRCMF_P2P_WILDCARD_SSID_LEN);
  1122. break;
  1123. default:
  1124. - brcmf_err(" invalid search state %d\n", search_state);
  1125. + bphy_err(drvr, " invalid search state %d\n", search_state);
  1126. ret = -EINVAL;
  1127. goto exit;
  1128. }
  1129. @@ -760,6 +763,7 @@ static s32 brcmf_p2p_run_escan(struct br
  1130. struct cfg80211_scan_request *request)
  1131. {
  1132. struct brcmf_p2p_info *p2p = &cfg->p2p;
  1133. + struct brcmf_pub *drvr = cfg->pub;
  1134. s32 err = 0;
  1135. s32 search_state = WL_P2P_DISC_ST_SCAN;
  1136. struct brcmf_cfg80211_vif *vif;
  1137. @@ -822,7 +826,7 @@ static s32 brcmf_p2p_run_escan(struct br
  1138. }
  1139. exit:
  1140. if (err)
  1141. - brcmf_err("error (%d)\n", err);
  1142. + bphy_err(drvr, "error (%d)\n", err);
  1143. return err;
  1144. }
  1145. @@ -917,19 +921,20 @@ int brcmf_p2p_scan_prep(struct wiphy *wi
  1146. static s32
  1147. brcmf_p2p_discover_listen(struct brcmf_p2p_info *p2p, u16 channel, u32 duration)
  1148. {
  1149. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1150. struct brcmf_cfg80211_vif *vif;
  1151. struct brcmu_chan ch;
  1152. s32 err = 0;
  1153. vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif;
  1154. if (!vif) {
  1155. - brcmf_err("Discovery is not set, so we have nothing to do\n");
  1156. + bphy_err(drvr, "Discovery is not set, so we have nothing to do\n");
  1157. err = -EPERM;
  1158. goto exit;
  1159. }
  1160. if (test_bit(BRCMF_P2P_STATUS_DISCOVER_LISTEN, &p2p->status)) {
  1161. - brcmf_err("Previous LISTEN is not completed yet\n");
  1162. + bphy_err(drvr, "Previous LISTEN is not completed yet\n");
  1163. /* WAR: prevent cookie mismatch in wpa_supplicant return OK */
  1164. goto exit;
  1165. }
  1166. @@ -1046,6 +1051,7 @@ void brcmf_p2p_cancel_remain_on_channel(
  1167. */
  1168. static s32 brcmf_p2p_act_frm_search(struct brcmf_p2p_info *p2p, u16 channel)
  1169. {
  1170. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1171. s32 err;
  1172. u32 channel_cnt;
  1173. u16 *default_chan_list;
  1174. @@ -1061,7 +1067,7 @@ static s32 brcmf_p2p_act_frm_search(stru
  1175. default_chan_list = kcalloc(channel_cnt, sizeof(*default_chan_list),
  1176. GFP_KERNEL);
  1177. if (default_chan_list == NULL) {
  1178. - brcmf_err("channel list allocation failed\n");
  1179. + bphy_err(drvr, "channel list allocation failed\n");
  1180. err = -ENOMEM;
  1181. goto exit;
  1182. }
  1183. @@ -1103,6 +1109,7 @@ static void brcmf_p2p_afx_handler(struct
  1184. struct brcmf_p2p_info *p2p = container_of(afx_hdl,
  1185. struct brcmf_p2p_info,
  1186. afx_hdl);
  1187. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1188. s32 err;
  1189. if (!afx_hdl->is_active)
  1190. @@ -1116,7 +1123,7 @@ static void brcmf_p2p_afx_handler(struct
  1191. err = brcmf_p2p_act_frm_search(p2p, afx_hdl->peer_listen_chan);
  1192. if (err) {
  1193. - brcmf_err("ERROR occurred! value is (%d)\n", err);
  1194. + bphy_err(drvr, "ERROR occurred! value is (%d)\n", err);
  1195. if (test_bit(BRCMF_P2P_STATUS_FINDING_COMMON_CHANNEL,
  1196. &p2p->status))
  1197. complete(&afx_hdl->act_frm_scan);
  1198. @@ -1338,7 +1345,8 @@ int brcmf_p2p_notify_action_frame_rx(str
  1199. const struct brcmf_event_msg *e,
  1200. void *data)
  1201. {
  1202. - struct brcmf_cfg80211_info *cfg = ifp->drvr->config;
  1203. + struct brcmf_pub *drvr = ifp->drvr;
  1204. + struct brcmf_cfg80211_info *cfg = drvr->config;
  1205. struct brcmf_p2p_info *p2p = &cfg->p2p;
  1206. struct afx_hdl *afx_hdl = &p2p->afx_hdl;
  1207. struct wireless_dev *wdev;
  1208. @@ -1409,7 +1417,7 @@ int brcmf_p2p_notify_action_frame_rx(str
  1209. mgmt_frame = kzalloc(offsetof(struct ieee80211_mgmt, u) +
  1210. mgmt_frame_len, GFP_KERNEL);
  1211. if (!mgmt_frame) {
  1212. - brcmf_err("No memory available for action frame\n");
  1213. + bphy_err(drvr, "No memory available for action frame\n");
  1214. return -ENOMEM;
  1215. }
  1216. memcpy(mgmt_frame->da, ifp->mac_addr, ETH_ALEN);
  1217. @@ -1492,6 +1500,7 @@ int brcmf_p2p_notify_action_tx_complete(
  1218. static s32 brcmf_p2p_tx_action_frame(struct brcmf_p2p_info *p2p,
  1219. struct brcmf_fil_af_params_le *af_params)
  1220. {
  1221. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1222. struct brcmf_cfg80211_vif *vif;
  1223. s32 err = 0;
  1224. s32 timeout = 0;
  1225. @@ -1506,7 +1515,7 @@ static s32 brcmf_p2p_tx_action_frame(str
  1226. err = brcmf_fil_bsscfg_data_set(vif->ifp, "actframe", af_params,
  1227. sizeof(*af_params));
  1228. if (err) {
  1229. - brcmf_err(" sending action frame has failed\n");
  1230. + bphy_err(drvr, " sending action frame has failed\n");
  1231. goto exit;
  1232. }
  1233. @@ -1556,6 +1565,7 @@ static s32 brcmf_p2p_pub_af_tx(struct br
  1234. struct brcmf_config_af_params *config_af_params)
  1235. {
  1236. struct brcmf_p2p_info *p2p = &cfg->p2p;
  1237. + struct brcmf_pub *drvr = cfg->pub;
  1238. struct brcmf_fil_action_frame_le *action_frame;
  1239. struct brcmf_p2p_pub_act_frame *act_frm;
  1240. s32 err = 0;
  1241. @@ -1634,8 +1644,8 @@ static s32 brcmf_p2p_pub_af_tx(struct br
  1242. config_af_params->extra_listen = false;
  1243. break;
  1244. default:
  1245. - brcmf_err("Unknown p2p pub act frame subtype: %d\n",
  1246. - act_frm->subtype);
  1247. + bphy_err(drvr, "Unknown p2p pub act frame subtype: %d\n",
  1248. + act_frm->subtype);
  1249. err = -EINVAL;
  1250. }
  1251. return err;
  1252. @@ -1657,6 +1667,7 @@ bool brcmf_p2p_send_action_frame(struct
  1253. struct brcmf_fil_action_frame_le *action_frame;
  1254. struct brcmf_config_af_params config_af_params;
  1255. struct afx_hdl *afx_hdl = &p2p->afx_hdl;
  1256. + struct brcmf_pub *drvr = cfg->pub;
  1257. u16 action_frame_len;
  1258. bool ack = false;
  1259. u8 category;
  1260. @@ -1692,7 +1703,7 @@ bool brcmf_p2p_send_action_frame(struct
  1261. if (brcmf_p2p_pub_af_tx(cfg, af_params, &config_af_params)) {
  1262. /* Just send unknown subtype frame with */
  1263. /* default parameters. */
  1264. - brcmf_err("P2P Public action frame, unknown subtype.\n");
  1265. + bphy_err(drvr, "P2P Public action frame, unknown subtype.\n");
  1266. }
  1267. } else if (brcmf_p2p_is_gas_action(action_frame->data,
  1268. action_frame_len)) {
  1269. @@ -1714,7 +1725,7 @@ bool brcmf_p2p_send_action_frame(struct
  1270. af_params->dwell_time =
  1271. cpu_to_le32(P2P_AF_MIN_DWELL_TIME);
  1272. } else {
  1273. - brcmf_err("Unknown action type: %d\n", action);
  1274. + bphy_err(drvr, "Unknown action type: %d\n", action);
  1275. goto exit;
  1276. }
  1277. } else if (brcmf_p2p_is_p2p_action(action_frame->data,
  1278. @@ -1722,8 +1733,8 @@ bool brcmf_p2p_send_action_frame(struct
  1279. /* do not configure anything. it will be */
  1280. /* sent with a default configuration */
  1281. } else {
  1282. - brcmf_err("Unknown Frame: category 0x%x, action 0x%x\n",
  1283. - category, action);
  1284. + bphy_err(drvr, "Unknown Frame: category 0x%x, action 0x%x\n",
  1285. + category, action);
  1286. return false;
  1287. }
  1288. @@ -1761,7 +1772,7 @@ bool brcmf_p2p_send_action_frame(struct
  1289. if (brcmf_p2p_af_searching_channel(p2p) ==
  1290. P2P_INVALID_CHANNEL) {
  1291. - brcmf_err("Couldn't find peer's channel.\n");
  1292. + bphy_err(drvr, "Couldn't find peer's channel.\n");
  1293. goto exit;
  1294. }
  1295. @@ -1783,7 +1794,8 @@ bool brcmf_p2p_send_action_frame(struct
  1296. tx_retry++;
  1297. }
  1298. if (ack == false) {
  1299. - brcmf_err("Failed to send Action Frame(retry %d)\n", tx_retry);
  1300. + bphy_err(drvr, "Failed to send Action Frame(retry %d)\n",
  1301. + tx_retry);
  1302. clear_bit(BRCMF_P2P_STATUS_GO_NEG_PHASE, &p2p->status);
  1303. }
  1304. @@ -1965,6 +1977,7 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
  1305. enum brcmf_fil_p2p_if_types if_type)
  1306. {
  1307. struct brcmf_p2p_info *p2p = &cfg->p2p;
  1308. + struct brcmf_pub *drvr = cfg->pub;
  1309. struct brcmf_cfg80211_vif *vif;
  1310. struct brcmf_fil_p2p_if_le if_request;
  1311. s32 err;
  1312. @@ -1974,13 +1987,13 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
  1313. vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif;
  1314. if (!vif) {
  1315. - brcmf_err("vif for P2PAPI_BSSCFG_PRIMARY does not exist\n");
  1316. + bphy_err(drvr, "vif for P2PAPI_BSSCFG_PRIMARY does not exist\n");
  1317. return -EPERM;
  1318. }
  1319. brcmf_notify_escan_complete(cfg, vif->ifp, true, true);
  1320. vif = p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif;
  1321. if (!vif) {
  1322. - brcmf_err("vif for P2PAPI_BSSCFG_CONNECTION does not exist\n");
  1323. + bphy_err(drvr, "vif for P2PAPI_BSSCFG_CONNECTION does not exist\n");
  1324. return -EPERM;
  1325. }
  1326. brcmf_set_mpc(vif->ifp, 0);
  1327. @@ -1998,7 +2011,7 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
  1328. err = brcmf_fil_iovar_data_set(vif->ifp, "p2p_ifupd", &if_request,
  1329. sizeof(if_request));
  1330. if (err) {
  1331. - brcmf_err("p2p_ifupd FAILED, err=%d\n", err);
  1332. + bphy_err(drvr, "p2p_ifupd FAILED, err=%d\n", err);
  1333. brcmf_cfg80211_arm_vif_event(cfg, NULL);
  1334. return err;
  1335. }
  1336. @@ -2006,7 +2019,7 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
  1337. BRCMF_VIF_EVENT_TIMEOUT);
  1338. brcmf_cfg80211_arm_vif_event(cfg, NULL);
  1339. if (!err) {
  1340. - brcmf_err("No BRCMF_E_IF_CHANGE event received\n");
  1341. + bphy_err(drvr, "No BRCMF_E_IF_CHANGE event received\n");
  1342. return -EIO;
  1343. }
  1344. @@ -2069,6 +2082,7 @@ static struct wireless_dev *brcmf_p2p_cr
  1345. struct wiphy *wiphy,
  1346. u8 *addr)
  1347. {
  1348. + struct brcmf_pub *drvr = p2p->cfg->pub;
  1349. struct brcmf_cfg80211_vif *p2p_vif;
  1350. struct brcmf_if *p2p_ifp;
  1351. struct brcmf_if *pri_ifp;
  1352. @@ -2080,7 +2094,7 @@ static struct wireless_dev *brcmf_p2p_cr
  1353. p2p_vif = brcmf_alloc_vif(p2p->cfg, NL80211_IFTYPE_P2P_DEVICE);
  1354. if (IS_ERR(p2p_vif)) {
  1355. - brcmf_err("could not create discovery vif\n");
  1356. + bphy_err(drvr, "could not create discovery vif\n");
  1357. return (struct wireless_dev *)p2p_vif;
  1358. }
  1359. @@ -2088,7 +2102,7 @@ static struct wireless_dev *brcmf_p2p_cr
  1360. /* firmware requires unique mac address for p2pdev interface */
  1361. if (addr && ether_addr_equal(addr, pri_ifp->mac_addr)) {
  1362. - brcmf_err("discovery vif must be different from primary interface\n");
  1363. + bphy_err(drvr, "discovery vif must be different from primary interface\n");
  1364. return ERR_PTR(-EINVAL);
  1365. }
  1366. @@ -2101,7 +2115,7 @@ static struct wireless_dev *brcmf_p2p_cr
  1367. /* Initialize P2P Discovery in the firmware */
  1368. err = brcmf_fil_iovar_int_set(pri_ifp, "p2p_disc", 1);
  1369. if (err < 0) {
  1370. - brcmf_err("set p2p_disc error\n");
  1371. + bphy_err(drvr, "set p2p_disc error\n");
  1372. brcmf_fweh_p2pdev_setup(pri_ifp, false);
  1373. brcmf_cfg80211_arm_vif_event(p2p->cfg, NULL);
  1374. goto fail;
  1375. @@ -2113,7 +2127,7 @@ static struct wireless_dev *brcmf_p2p_cr
  1376. brcmf_cfg80211_arm_vif_event(p2p->cfg, NULL);
  1377. brcmf_fweh_p2pdev_setup(pri_ifp, false);
  1378. if (!err) {
  1379. - brcmf_err("timeout occurred\n");
  1380. + bphy_err(drvr, "timeout occurred\n");
  1381. err = -EIO;
  1382. goto fail;
  1383. }
  1384. @@ -2127,7 +2141,7 @@ static struct wireless_dev *brcmf_p2p_cr
  1385. /* verify bsscfg index for P2P discovery */
  1386. err = brcmf_fil_iovar_int_get(pri_ifp, "p2p_dev", &bsscfgidx);
  1387. if (err < 0) {
  1388. - brcmf_err("retrieving discover bsscfg index failed\n");
  1389. + bphy_err(drvr, "retrieving discover bsscfg index failed\n");
  1390. goto fail;
  1391. }
  1392. @@ -2161,6 +2175,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
  1393. {
  1394. struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
  1395. struct brcmf_if *ifp = netdev_priv(cfg_to_ndev(cfg));
  1396. + struct brcmf_pub *drvr = cfg->pub;
  1397. struct brcmf_cfg80211_vif *vif;
  1398. enum brcmf_fil_p2p_if_types iftype;
  1399. int err;
  1400. @@ -2201,7 +2216,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
  1401. BRCMF_VIF_EVENT_TIMEOUT);
  1402. brcmf_cfg80211_arm_vif_event(cfg, NULL);
  1403. if (!err) {
  1404. - brcmf_err("timeout occurred\n");
  1405. + bphy_err(drvr, "timeout occurred\n");
  1406. err = -EIO;
  1407. goto fail;
  1408. }
  1409. @@ -2209,7 +2224,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
  1410. /* interface created in firmware */
  1411. ifp = vif->ifp;
  1412. if (!ifp) {
  1413. - brcmf_err("no if pointer provided\n");
  1414. + bphy_err(drvr, "no if pointer provided\n");
  1415. err = -ENOENT;
  1416. goto fail;
  1417. }
  1418. @@ -2220,7 +2235,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
  1419. #endif /* >= 3.17.0 */
  1420. err = brcmf_net_attach(ifp, true);
  1421. if (err) {
  1422. - brcmf_err("Registering netdevice failed\n");
  1423. + bphy_err(drvr, "Registering netdevice failed\n");
  1424. free_netdev(ifp->ndev);
  1425. goto fail;
  1426. }
  1427. @@ -2375,6 +2390,7 @@ void brcmf_p2p_stop_device(struct wiphy
  1428. */
  1429. s32 brcmf_p2p_attach(struct brcmf_cfg80211_info *cfg, bool p2pdev_forced)
  1430. {
  1431. + struct brcmf_pub *drvr = cfg->pub;
  1432. struct brcmf_p2p_info *p2p;
  1433. struct brcmf_if *pri_ifp;
  1434. s32 err = 0;
  1435. @@ -2389,7 +2405,7 @@ s32 brcmf_p2p_attach(struct brcmf_cfg802
  1436. if (p2pdev_forced) {
  1437. err_ptr = brcmf_p2p_create_p2pdev(p2p, NULL, NULL);
  1438. if (IS_ERR(err_ptr)) {
  1439. - brcmf_err("P2P device creation failed.\n");
  1440. + bphy_err(drvr, "P2P device creation failed.\n");
  1441. err = PTR_ERR(err_ptr);
  1442. }
  1443. } else {
  1444. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c
  1445. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c
  1446. @@ -109,6 +109,7 @@ static int brcmf_pno_channel_config(stru
  1447. static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
  1448. u32 mscan, u32 bestn)
  1449. {
  1450. + struct brcmf_pub *drvr = ifp->drvr;
  1451. struct brcmf_pno_param_le pfn_param;
  1452. u16 flags;
  1453. u32 pfnmem;
  1454. @@ -132,13 +133,13 @@ static int brcmf_pno_config(struct brcmf
  1455. /* set bestn in firmware */
  1456. err = brcmf_fil_iovar_int_set(ifp, "pfnmem", pfnmem);
  1457. if (err < 0) {
  1458. - brcmf_err("failed to set pfnmem\n");
  1459. + bphy_err(drvr, "failed to set pfnmem\n");
  1460. goto exit;
  1461. }
  1462. /* get max mscan which the firmware supports */
  1463. err = brcmf_fil_iovar_int_get(ifp, "pfnmem", &pfnmem);
  1464. if (err < 0) {
  1465. - brcmf_err("failed to get pfnmem\n");
  1466. + bphy_err(drvr, "failed to get pfnmem\n");
  1467. goto exit;
  1468. }
  1469. mscan = min_t(u32, mscan, pfnmem);
  1470. @@ -152,7 +153,7 @@ static int brcmf_pno_config(struct brcmf
  1471. err = brcmf_fil_iovar_data_set(ifp, "pfn_set", &pfn_param,
  1472. sizeof(pfn_param));
  1473. if (err)
  1474. - brcmf_err("pfn_set failed, err=%d\n", err);
  1475. + bphy_err(drvr, "pfn_set failed, err=%d\n", err);
  1476. exit:
  1477. return err;
  1478. @@ -160,6 +161,7 @@ exit:
  1479. static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi)
  1480. {
  1481. + struct brcmf_pub *drvr = ifp->drvr;
  1482. struct brcmf_pno_macaddr_le pfn_mac;
  1483. u8 *mac_addr = NULL;
  1484. u8 *mac_mask = NULL;
  1485. @@ -194,7 +196,7 @@ static int brcmf_pno_set_random(struct b
  1486. err = brcmf_fil_iovar_data_set(ifp, "pfn_macaddr", &pfn_mac,
  1487. sizeof(pfn_mac));
  1488. if (err)
  1489. - brcmf_err("pfn_macaddr failed, err=%d\n", err);
  1490. + bphy_err(drvr, "pfn_macaddr failed, err=%d\n", err);
  1491. return err;
  1492. }
  1493. @@ -202,6 +204,7 @@ static int brcmf_pno_set_random(struct b
  1494. static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid,
  1495. bool active)
  1496. {
  1497. + struct brcmf_pub *drvr = ifp->drvr;
  1498. struct brcmf_pno_net_param_le pfn;
  1499. int err;
  1500. @@ -218,12 +221,13 @@ static int brcmf_pno_add_ssid(struct brc
  1501. brcmf_dbg(SCAN, "adding ssid=%.32s (active=%d)\n", ssid->ssid, active);
  1502. err = brcmf_fil_iovar_data_set(ifp, "pfn_add", &pfn, sizeof(pfn));
  1503. if (err < 0)
  1504. - brcmf_err("adding failed: err=%d\n", err);
  1505. + bphy_err(drvr, "adding failed: err=%d\n", err);
  1506. return err;
  1507. }
  1508. static int brcmf_pno_add_bssid(struct brcmf_if *ifp, const u8 *bssid)
  1509. {
  1510. + struct brcmf_pub *drvr = ifp->drvr;
  1511. struct brcmf_pno_bssid_le bssid_cfg;
  1512. int err;
  1513. @@ -234,7 +238,7 @@ static int brcmf_pno_add_bssid(struct br
  1514. err = brcmf_fil_iovar_data_set(ifp, "pfn_add_bssid", &bssid_cfg,
  1515. sizeof(bssid_cfg));
  1516. if (err < 0)
  1517. - brcmf_err("adding failed: err=%d\n", err);
  1518. + bphy_err(drvr, "adding failed: err=%d\n", err);
  1519. return err;
  1520. }
  1521. @@ -258,6 +262,7 @@ static bool brcmf_is_ssid_active(struct
  1522. static int brcmf_pno_clean(struct brcmf_if *ifp)
  1523. {
  1524. + struct brcmf_pub *drvr = ifp->drvr;
  1525. int ret;
  1526. /* Disable pfn */
  1527. @@ -267,7 +272,7 @@ static int brcmf_pno_clean(struct brcmf_
  1528. ret = brcmf_fil_iovar_data_set(ifp, "pfnclear", NULL, 0);
  1529. }
  1530. if (ret < 0)
  1531. - brcmf_err("failed code %d\n", ret);
  1532. + bphy_err(drvr, "failed code %d\n", ret);
  1533. return ret;
  1534. }
  1535. @@ -392,6 +397,7 @@ static int brcmf_pno_config_networks(str
  1536. static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp)
  1537. {
  1538. + struct brcmf_pub *drvr = ifp->drvr;
  1539. struct brcmf_pno_info *pi;
  1540. struct brcmf_gscan_config *gscan_cfg;
  1541. struct brcmf_gscan_bucket_config *buckets;
  1542. @@ -416,7 +422,7 @@ static int brcmf_pno_config_sched_scans(
  1543. /* clean up everything */
  1544. err = brcmf_pno_clean(ifp);
  1545. if (err < 0) {
  1546. - brcmf_err("failed error=%d\n", err);
  1547. + bphy_err(drvr, "failed error=%d\n", err);
  1548. goto free_gscan;
  1549. }
  1550. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
  1551. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
  1552. @@ -47,8 +47,8 @@ int brcmf_proto_attach(struct brcmf_pub
  1553. if (brcmf_proto_msgbuf_attach(drvr))
  1554. goto fail;
  1555. } else {
  1556. - brcmf_err("Unsupported proto type %d\n",
  1557. - drvr->bus_if->proto_type);
  1558. + bphy_err(drvr, "Unsupported proto type %d\n",
  1559. + drvr->bus_if->proto_type);
  1560. goto fail;
  1561. }
  1562. if (!proto->tx_queue_data || (proto->hdrpull == NULL) ||
  1563. @@ -56,7 +56,7 @@ int brcmf_proto_attach(struct brcmf_pub
  1564. (proto->configure_addr_mode == NULL) ||
  1565. (proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL) ||
  1566. (proto->debugfs_create == NULL)) {
  1567. - brcmf_err("Not all proto handlers have been installed\n");
  1568. + bphy_err(drvr, "Not all proto handlers have been installed\n");
  1569. goto fail;
  1570. }
  1571. return 0;