324-brcmfmac-use-brcmf_get_ifp-to-map-ifidx-to-struct-br.patch 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. From: Arend van Spriel <[email protected]>
  2. Date: Wed, 26 Aug 2015 22:14:58 +0200
  3. Subject: [PATCH] brcmfmac: use brcmf_get_ifp() to map ifidx to struct
  4. brcmf_if instance
  5. The knowledge on how to map the interface index to a struct brcmf_if
  6. instance is in brcmf_get_ifp() so use that function when only the
  7. interface index is known instead of accessing brcmf_pub::iflist
  8. directly.
  9. Reviewed-by: Hante Meuleman <[email protected]>
  10. Reviewed-by: Franky (Zhenhui) Lin <[email protected]>
  11. Reviewed-by: Pieter-Paul Giesberts <[email protected]>
  12. Signed-off-by: Arend van Spriel <[email protected]>
  13. ---
  14. --- a/drivers/net/wireless/brcm80211/brcmfmac/btcoex.c
  15. +++ b/drivers/net/wireless/brcm80211/brcmfmac/btcoex.c
  16. @@ -149,7 +149,7 @@ static s32 brcmf_btcoex_params_read(stru
  17. static void brcmf_btcoex_boost_wifi(struct brcmf_btcoex_info *btci,
  18. bool trump_sco)
  19. {
  20. - struct brcmf_if *ifp = btci->cfg->pub->iflist[0];
  21. + struct brcmf_if *ifp = brcmf_get_ifp(btci->cfg->pub, 0);
  22. if (trump_sco && !btci->saved_regs_part2) {
  23. /* this should reduce eSCO agressive
  24. @@ -468,7 +468,7 @@ int brcmf_btcoex_set_mode(struct brcmf_c
  25. {
  26. struct brcmf_cfg80211_info *cfg = wiphy_priv(vif->wdev.wiphy);
  27. struct brcmf_btcoex_info *btci = cfg->btcoex;
  28. - struct brcmf_if *ifp = cfg->pub->iflist[0];
  29. + struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0);
  30. switch (mode) {
  31. case BRCMF_BTCOEX_DISABLED:
  32. --- a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
  33. +++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
  34. @@ -6213,7 +6213,7 @@ static void brcmf_free_wiphy(struct wiph
  35. struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
  36. struct device *busdev)
  37. {
  38. - struct net_device *ndev = drvr->iflist[0]->ndev;
  39. + struct net_device *ndev = brcmf_get_ifp(drvr, 0)->ndev;
  40. struct brcmf_cfg80211_info *cfg;
  41. struct wiphy *wiphy;
  42. struct brcmf_cfg80211_vif *vif;
  43. --- a/drivers/net/wireless/brcm80211/brcmfmac/feature.c
  44. +++ b/drivers/net/wireless/brcm80211/brcmfmac/feature.c
  45. @@ -121,7 +121,7 @@ static void brcmf_feat_iovar_int_set(str
  46. void brcmf_feat_attach(struct brcmf_pub *drvr)
  47. {
  48. - struct brcmf_if *ifp = drvr->iflist[0];
  49. + struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
  50. brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_MCHAN, "mchan");
  51. brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_PNO, "pfn");
  52. --- a/drivers/net/wireless/brcm80211/brcmfmac/flowring.c
  53. +++ b/drivers/net/wireless/brcm80211/brcmfmac/flowring.c
  54. @@ -221,7 +221,7 @@ static void brcmf_flowring_block(struct
  55. bus_if = dev_get_drvdata(flow->dev);
  56. drvr = bus_if->drvr;
  57. - ifp = drvr->iflist[ifidx];
  58. + ifp = brcmf_get_ifp(drvr, ifidx);
  59. brcmf_txflowblock_if(ifp, BRCMF_NETIF_STOP_REASON_FLOW, blocked);
  60. spin_unlock_irqrestore(&flow->block_lock, flags);
  61. --- a/drivers/net/wireless/brcm80211/brcmfmac/fweh.c
  62. +++ b/drivers/net/wireless/brcm80211/brcmfmac/fweh.c
  63. @@ -334,7 +334,7 @@ void brcmf_fweh_attach(struct brcmf_pub
  64. void brcmf_fweh_detach(struct brcmf_pub *drvr)
  65. {
  66. struct brcmf_fweh_info *fweh = &drvr->fweh;
  67. - struct brcmf_if *ifp = drvr->iflist[0];
  68. + struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
  69. s8 eventmask[BRCMF_EVENTING_MASK_LEN];
  70. if (ifp) {
  71. --- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
  72. +++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
  73. @@ -972,7 +972,7 @@ static void
  74. brcmf_fws_flow_control_check(struct brcmf_fws_info *fws, struct pktq *pq,
  75. u8 if_id)
  76. {
  77. - struct brcmf_if *ifp = fws->drvr->iflist[!if_id ? 0 : if_id + 1];
  78. + struct brcmf_if *ifp = brcmf_get_ifp(fws->drvr, if_id);
  79. if (WARN_ON(!ifp))
  80. return;
  81. @@ -2118,6 +2118,7 @@ static int brcmf_debugfs_fws_stats_read(
  82. int brcmf_fws_init(struct brcmf_pub *drvr)
  83. {
  84. struct brcmf_fws_info *fws;
  85. + struct brcmf_if *ifp;
  86. u32 tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS;
  87. int rc;
  88. u32 mode;
  89. @@ -2177,21 +2178,22 @@ int brcmf_fws_init(struct brcmf_pub *drv
  90. * continue. Set mode back to none indicating not enabled.
  91. */
  92. fws->fw_signals = true;
  93. - if (brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv)) {
  94. + ifp = brcmf_get_ifp(drvr, 0);
  95. + if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) {
  96. brcmf_err("failed to set bdcv2 tlv signaling\n");
  97. fws->fcmode = BRCMF_FWS_FCMODE_NONE;
  98. fws->fw_signals = false;
  99. }
  100. - if (brcmf_fil_iovar_int_set(drvr->iflist[0], "ampdu_hostreorder", 1))
  101. + if (brcmf_fil_iovar_int_set(ifp, "ampdu_hostreorder", 1))
  102. brcmf_dbg(INFO, "enabling AMPDU host-reorder failed\n");
  103. /* Enable seq number reuse, if supported */
  104. - if (brcmf_fil_iovar_int_get(drvr->iflist[0], "wlfc_mode", &mode) == 0) {
  105. + if (brcmf_fil_iovar_int_get(ifp, "wlfc_mode", &mode) == 0) {
  106. if (BRCMF_FWS_MODE_GET_REUSESEQ(mode)) {
  107. mode = 0;
  108. BRCMF_FWS_MODE_SET_REUSESEQ(mode, 1);
  109. - if (brcmf_fil_iovar_int_set(drvr->iflist[0],
  110. + if (brcmf_fil_iovar_int_set(ifp,
  111. "wlfc_mode", mode) == 0) {
  112. BRCMF_FWS_MODE_SET_REUSESEQ(fws->mode, 1);
  113. }