1: f2f204903ddc ! 1: 416d27b7c82b wifi: brcmfmac: drop glom superframe on header parse failure @@ Commit message Check errcode first and drop the superframe with the same cleanup used for a bad subframe below.  - Verified against wireless.git main (9727d1c4e1c9), the current + Verified against wireless.git main (fd4e7f1137291), the current wireless fixes tree.  Signed-off-by: Shirong Zhao   ## drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c ##  @@ drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c: static u8 brcmf_sdio_rxglom(struct brcmf_sdio *bus, u8 rxseq) + sdio_claim_host(bus->sdiodev->func1); errcode = brcmf_sdio_hdparse(bus, pfirst->data, &rd_new, BRCMF_SDIO_FT_SUPER); - sdio_release_host(bus->sdiodev->func1);  + if (errcode) {  + /* Superframe header is bad; rd_new fields are not  + * valid here. Drop it like a bad subframe below.  + */ -+ sdio_claim_host(bus->sdiodev->func1);  + brcmf_sdio_rxfail(bus, true, false);  + bus->sdcnt.rxglomfail++;  + brcmf_sdio_free_glom(bus); @@ drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c: static u8 brcmf_sdio_rx  + bus->cur_read.len = 0;  + return 0;  + } + sdio_release_host(bus->sdiodev->func1); bus->cur_read.len = rd_new.len_nxtfrm << 4;  - /* Remove superframe header, remember offset */