Commit 52e8726d authored by Norbert van Bolhuis's avatar Norbert van Bolhuis Committed by Kalle Valo
Browse files

wifi: brcmfmac: fix scatter-gather handling by detecting end of sg list



The scatter-gather handling uses a pre-allocated list (with nents entries).
If the driver runs out of sg entries it will result in an oops. Let's detect
this instead and make the SDIO block transfer fail.

Signed-off-by: default avatarNorbert van Bolhuis <nvbolhuis@gmail.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20241108125609.107016-1-nvbolhuis@gmail.com
parent b81e0211
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -455,6 +455,11 @@ static int brcmf_sdiod_sglist_rw(struct brcmf_sdio_dev *sdiodev,
			if (sg_data_sz > max_req_sz - req_sz)
				sg_data_sz = max_req_sz - req_sz;

			if (!sgl) {
				/* out of (pre-allocated) scatterlist entries */
				ret = -ENOMEM;
				goto exit;
			}
			sg_set_buf(sgl, pkt_data, sg_data_sz);
			sg_cnt++;