Skip to content

Commit d8c8b94

Browse files
committed
backports: brcm80211: from: linux.git
Reference: v5.4.18 Signed-off-by: Robert Nelson <[email protected]>
1 parent 8335541 commit d8c8b94

File tree

13 files changed

+20
-82
lines changed

13 files changed

+20
-82
lines changed

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@
8282

8383
#define BRCMF_ND_INFO_TIMEOUT msecs_to_jiffies(2000)
8484

85-
#define BRCMF_PS_MAX_TIMEOUT_MS 2000
86-
8785
#define BRCMF_ASSOC_PARAMS_FIXED_SIZE \
8886
(sizeof(struct brcmf_assoc_params_le) - sizeof(u16))
8987

@@ -2791,12 +2789,6 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev,
27912789
else
27922790
bphy_err(drvr, "error (%d)\n", err);
27932791
}
2794-
2795-
err = brcmf_fil_iovar_int_set(ifp, "pm2_sleep_ret",
2796-
min_t(u32, timeout, BRCMF_PS_MAX_TIMEOUT_MS));
2797-
if (err)
2798-
bphy_err(drvr, "Unable to set pm timeout, (%d)\n", err);
2799-
28002792
done:
28012793
brcmf_dbg(TRACE, "Exit\n");
28022794
return err;

drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ static int brcmf_rx_hdrpull(struct brcmf_pub *drvr, struct sk_buff *skb,
483483
ret = brcmf_proto_hdrpull(drvr, true, skb, ifp);
484484

485485
if (ret || !(*ifp) || !(*ifp)->ndev) {
486-
if (ret != -ENODATA && *ifp && (*ifp)->ndev)
486+
if (ret != -ENODATA && *ifp)
487487
(*ifp)->ndev->stats.rx_errors++;
488488
brcmu_pkt_buf_free_skb(skb);
489489
return -ENODATA;

drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,6 @@ static const struct brcmf_dmi_data pov_tab_p1006w_data = {
4040
BRCM_CC_43340_CHIP_ID, 2, "pov-tab-p1006w-data"
4141
};
4242

43-
static const struct brcmf_dmi_data predia_basic_data = {
44-
BRCM_CC_43341_CHIP_ID, 2, "predia-basic"
45-
};
46-
47-
/* Note the Voyo winpad A15 tablet uses the same Ampak AP6330 module, with the
48-
* exact same nvram file as the Prowise-PT301 tablet. Since the nvram for the
49-
* Prowise-PT301 is already in linux-firmware we just point to that here.
50-
*/
51-
static const struct brcmf_dmi_data voyo_winpad_a15_data = {
52-
BRCM_CC_4330_CHIP_ID, 4, "Prowise-PT301"
53-
};
54-
5543
static const struct dmi_system_id dmi_platform_data[] = {
5644
{
5745
/* ACEPC T8 Cherry Trail Z8350 mini PC */
@@ -123,26 +111,6 @@ static const struct dmi_system_id dmi_platform_data[] = {
123111
},
124112
.driver_data = (void *)&pov_tab_p1006w_data,
125113
},
126-
{
127-
/* Predia Basic tablet (+ with keyboard dock) */
128-
.matches = {
129-
DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
130-
DMI_MATCH(DMI_PRODUCT_NAME, "CherryTrail"),
131-
/* Mx.WT107.KUBNGEA02 with the version-nr dropped */
132-
DMI_MATCH(DMI_BIOS_VERSION, "Mx.WT107.KUBNGEA"),
133-
},
134-
.driver_data = (void *)&predia_basic_data,
135-
},
136-
{
137-
/* Voyo winpad A15 tablet */
138-
.matches = {
139-
DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
140-
DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
141-
/* Above strings are too generic, also match on BIOS date */
142-
DMI_MATCH(DMI_BIOS_DATE, "11/20/2014"),
143-
},
144-
.driver_data = (void *)&voyo_winpad_a15_data,
145-
},
146114
{}
147115
};
148116

drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,14 +283,13 @@ void brcmf_feat_attach(struct brcmf_pub *drvr)
283283
if (!err)
284284
ifp->drvr->feat_flags |= BIT(BRCMF_FEAT_SCAN_RANDOM_MAC);
285285

286-
brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_FWSUP, "sup_wpa");
287-
288286
if (drvr->settings->feature_disable) {
289287
brcmf_dbg(INFO, "Features: 0x%02x, disable: 0x%02x\n",
290288
ifp->drvr->feat_flags,
291289
drvr->settings->feature_disable);
292290
ifp->drvr->feat_flags &= ~drvr->settings->feature_disable;
293291
}
292+
brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_FWSUP, "sup_wpa");
294293

295294
brcmf_feat_firmware_overrides(drvr);
296295

drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -304,12 +304,10 @@ void brcmf_fweh_detach(struct brcmf_pub *drvr)
304304
{
305305
struct brcmf_fweh_info *fweh = &drvr->fweh;
306306

307-
/* cancel the worker if initialized */
308-
if (fweh->event_work.func) {
309-
cancel_work_sync(&fweh->event_work);
310-
WARN_ON(!list_empty(&fweh->event_q));
311-
memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler));
312-
}
307+
/* cancel the worker */
308+
cancel_work_sync(&fweh->event_work);
309+
WARN_ON(!list_empty(&fweh->event_q));
310+
memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler));
313311
}
314312

315313
/**

drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#define BRCMF_ARP_OL_PEER_AUTO_REPLY 0x00000008
2020

2121
#define BRCMF_BSS_INFO_VERSION 109 /* curr ver of brcmf_bss_info_le struct */
22-
#define BRCMF_BSS_RSSI_ON_CHANNEL 0x0004
22+
#define BRCMF_BSS_RSSI_ON_CHANNEL 0x0002
2323

2424
#define BRCMF_STA_BRCM 0x00000001 /* Running a Broadcom driver */
2525
#define BRCMF_STA_WME 0x00000002 /* WMM association */

drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,6 @@ static inline int brcmf_fws_hanger_poppkt(struct brcmf_fws_hanger *h,
643643
static void brcmf_fws_psq_flush(struct brcmf_fws_info *fws, struct pktq *q,
644644
int ifidx)
645645
{
646-
struct brcmf_fws_hanger_item *hi;
647646
bool (*matchfn)(struct sk_buff *, void *) = NULL;
648647
struct sk_buff *skb;
649648
int prec;
@@ -655,9 +654,6 @@ static void brcmf_fws_psq_flush(struct brcmf_fws_info *fws, struct pktq *q,
655654
skb = brcmu_pktq_pdeq_match(q, prec, matchfn, &ifidx);
656655
while (skb) {
657656
hslot = brcmf_skb_htod_tag_get_field(skb, HSLOT);
658-
hi = &fws->hanger.items[hslot];
659-
WARN_ON(skb != hi->pkt);
660-
hi->state = BRCMF_FWS_HANGER_ITEM_STATE_FREE;
661657
brcmf_fws_hanger_poppkt(&fws->hanger, hslot, &skb,
662658
true);
663659
brcmu_pkt_buf_free_skb(skb);
@@ -2149,7 +2145,8 @@ int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
21492145
brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb);
21502146
brcmf_fws_schedule_deq(fws);
21512147
} else {
2152-
bphy_err(drvr, "no hanger slot available\n");
2148+
bphy_err(drvr, "drop skb: no hanger slot\n");
2149+
brcmf_txfinalize(ifp, skb, false);
21532150
rc = -ENOMEM;
21542151
}
21552152
brcmf_fws_unlock(fws);

drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1619,8 +1619,6 @@ int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr)
16191619
BRCMF_TX_IOCTL_MAX_MSG_SIZE,
16201620
msgbuf->ioctbuf,
16211621
msgbuf->ioctbuf_handle);
1622-
if (msgbuf->txflow_wq)
1623-
destroy_workqueue(msgbuf->txflow_wq);
16241622
kfree(msgbuf);
16251623
}
16261624
return -ENOMEM;

drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,8 +2092,7 @@ static struct wireless_dev *brcmf_p2p_create_p2pdev(struct brcmf_p2p_info *p2p,
20922092
/* firmware requires unique mac address for p2pdev interface */
20932093
if (addr && ether_addr_equal(addr, pri_ifp->mac_addr)) {
20942094
bphy_err(drvr, "discovery vif must be different from primary interface\n");
2095-
err = -EINVAL;
2096-
goto fail;
2095+
return ERR_PTR(-EINVAL);
20972096
}
20982097

20992098
brcmf_p2p_generate_bss_mac(p2p, addr);

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1936,18 +1936,16 @@ brcmf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id)
19361936
fwreq = brcmf_pcie_prepare_fw_request(devinfo);
19371937
if (!fwreq) {
19381938
ret = -ENOMEM;
1939-
goto fail_brcmf;
1939+
goto fail_bus;
19401940
}
19411941

19421942
ret = brcmf_fw_get_firmwares(bus->dev, fwreq, brcmf_pcie_setup);
19431943
if (ret < 0) {
19441944
kfree(fwreq);
1945-
goto fail_brcmf;
1945+
goto fail_bus;
19461946
}
19471947
return 0;
19481948

1949-
fail_brcmf:
1950-
brcmf_free(&devinfo->pdev->dev);
19511949
fail_bus:
19521950
kfree(bus->msgbuf);
19531951
kfree(bus);

0 commit comments

Comments
 (0)