Commit 94174c21 authored by Arend van Spriel's avatar Arend van Spriel Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: correct bcmsdh_recv_buf() calls



The calls in dhd_sdio.c to bcmsdh_recv_buf() function passed a wrong
handle. The parameter in the function prototype was typed as void
pointer so compiler could not detect. This patch makes the type
explicit and fixes the calls to the function.

Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Reviewed-by: default avatarRoland Vossen <rvossen@broadcom.com>
Reviewed-by: default avatarFranky Lin <frankyl@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4c5c488a
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -447,11 +447,10 @@ bool bcmsdh_regfail(void *sdh)
}

int
bcmsdh_recv_buf(void *sdh, u32 addr, uint fn, uint flags,
bcmsdh_recv_buf(bcmsdh_info_t *bcmsdh, u32 addr, uint fn, uint flags,
		u8 *buf, uint nbytes, struct sk_buff *pkt,
		bcmsdh_cmplt_fn_t complete, void *handle)
{
	bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *) sdh;
	SDIOH_API_RC status;
	uint incr_fix;
	uint width;
+7 −7
Original line number Diff line number Diff line
@@ -3323,7 +3323,7 @@ dhdsdio_read_control(dhd_bus_t *bus, u8 *hdr, uint len, uint doff)
	}

	/* Read remainder of frame body into the rxctl buffer */
	sdret = bcmsdh_recv_buf(bus, bcmsdh_cur_sbwad(sdh), SDIO_FUNC_2,
	sdret = bcmsdh_recv_buf(sdh, bcmsdh_cur_sbwad(sdh), SDIO_FUNC_2,
				F2SYNC, (bus->rxctl + firstread), rdlen,
				NULL, NULL, NULL);
	bus->f2rxdata++;
@@ -3485,12 +3485,12 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
		 * packet and and copy into the chain.
		 */
		if (usechain) {
			errcode = bcmsdh_recv_buf(bus,
			errcode = bcmsdh_recv_buf(bus->sdh,
					bcmsdh_cur_sbwad(bus->sdh), SDIO_FUNC_2,
					F2SYNC, (u8 *) pfirst->data, dlen,
					pfirst, NULL, NULL);
		} else if (bus->dataptr) {
			errcode = bcmsdh_recv_buf(bus,
			errcode = bcmsdh_recv_buf(bus->sdh,
					bcmsdh_cur_sbwad(bus->sdh), SDIO_FUNC_2,
					F2SYNC, bus->dataptr, dlen,
					NULL, NULL, NULL);
@@ -3867,7 +3867,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
					ASSERT(bus->rxctl >= bus->rxbuf);
					rxbuf = bus->rxctl;
					/* Read the entire frame */
					sdret = bcmsdh_recv_buf(bus,
					sdret = bcmsdh_recv_buf(sdh,
						    bcmsdh_cur_sbwad(sdh),
						    SDIO_FUNC_2, F2SYNC,
						    rxbuf, rdlen,
@@ -3908,7 +3908,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
				PKTALIGN(pkt, rdlen, DHD_SDALIGN);
				rxbuf = (u8 *) (pkt->data);
				/* Read the entire frame */
				sdret = bcmsdh_recv_buf(bus,
				sdret = bcmsdh_recv_buf(sdh,
						bcmsdh_cur_sbwad(sdh),
						SDIO_FUNC_2, F2SYNC,
						rxbuf, rdlen,
@@ -4086,7 +4086,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
			break;

		/* Read frame header (hardware and software) */
		sdret = bcmsdh_recv_buf(bus, bcmsdh_cur_sbwad(sdh),
		sdret = bcmsdh_recv_buf(sdh, bcmsdh_cur_sbwad(sdh),
				SDIO_FUNC_2, F2SYNC, bus->rxhdr, firstread,
				NULL, NULL, NULL);
		bus->f2rxhdrs++;
@@ -4247,7 +4247,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
		PKTALIGN(pkt, rdlen, DHD_SDALIGN);

		/* Read the remaining frame data */
		sdret = bcmsdh_recv_buf(bus, bcmsdh_cur_sbwad(sdh), SDIO_FUNC_2,
		sdret = bcmsdh_recv_buf(sdh, bcmsdh_cur_sbwad(sdh), SDIO_FUNC_2,
					F2SYNC, ((u8 *) (pkt->data)), rdlen,
					pkt, NULL, NULL);
		bus->f2rxdata++;
+1 −1
Original line number Diff line number Diff line
@@ -150,7 +150,7 @@ typedef void (*bcmsdh_cmplt_fn_t) (void *handle, int status, bool sync_waiting);
extern int bcmsdh_send_buf(void *sdh, u32 addr, uint fn, uint flags,
			   u8 *buf, uint nbytes, void *pkt,
			   bcmsdh_cmplt_fn_t complete, void *handle);
extern int bcmsdh_recv_buf(void *sdh, u32 addr, uint fn, uint flags,
extern int bcmsdh_recv_buf(bcmsdh_info_t *sdh, u32 addr, uint fn, uint flags,
			   u8 *buf, uint nbytes, struct sk_buff *pkt,
			   bcmsdh_cmplt_fn_t complete, void *handle);