staging: brcm80211: correct bcmsdh_recv_buf() calls
authorArend van Spriel <arend@broadcom.com>
Wed, 29 Jun 2011 23:46:57 +0000 (16:46 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 5 Jul 2011 16:57:14 +0000 (09:57 -0700)
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: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmfmac/bcmsdh.c
drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
drivers/staging/brcm80211/brcmfmac/sdio_host.h

index 3d0c8e7e0213b4213c1c3ec87bb16a3173178095..58dffc0f78606ee345ae8755ed009a63d4d562e8 100644 (file)
@@ -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;
index 0fae0b1544ee56f289c09d489b9a0933b7e116d8..7e4dfdeb5d7978d852c9af9fad266851cee7f8d3 100644 (file)
@@ -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++;
index 96a43cbe235e8125082883bcaec35c11d5ae0898..7fa79d6568ee512977642fb0db764c5f80322c23 100644 (file)
@@ -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);