From: "Roland Vossen" <rvossen@broadcom.com>
To: "Clemens Noss" <cnoss@gmx.de>, "gregkh@suse.de" <gregkh@suse.de>
Cc: "devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] staging: brcm80211: fix cast to pointer from integer
Date: Mon, 16 May 2011 13:09:50 +0200 [thread overview]
Message-ID: <4DD105FE.9040500@broadcom.com> (raw)
In-Reply-To: <1305492330-19575-1-git-send-email-cnoss@gmx.de>
Greg, please also merge this to the staging-linus branch since it might
resolve an instability issue.
On 05/15/2011 10:45 PM, Clemens Noss wrote:
> bcm_pktq_flush and related functions only ever get 0 or a pointer for
> arg, so make it a pointer.
>
> This might fix a crash on 64bit.
Acked-by: Roland Vossen <rvossen@broadcom.com>
>
> Signed-off-by: Clemens Noss<cnoss@gmx.de>
> ---
> drivers/staging/brcm80211/brcmfmac/dhd_sdio.c | 2 +-
> drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c | 4 ++--
> drivers/staging/brcm80211/brcmsmac/wlc_main.c | 4 ++--
> drivers/staging/brcm80211/include/bcmutils.h | 6 +++---
> drivers/staging/brcm80211/util/bcmutils.c | 4 ++--
> 5 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/staging/brcm80211/brcmfmac/dhd_sdio.c b/drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
> index 8683eeb..a71c6f8 100644
> --- a/drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
> +++ b/drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
> @@ -2845,7 +2845,7 @@ void dhd_bus_stop(struct dhd_bus *bus, bool enforce_mutex)
> dhdsdio_clkctl(bus, CLK_SDONLY, false);
>
> /* Clear the data packet queues */
> - bcm_pktq_flush(&bus->txq, true, NULL, 0);
> + bcm_pktq_flush(&bus->txq, true, NULL, NULL);
>
> /* Clear any held glomming stuff */
> if (bus->glomd)
> diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c b/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c
> index 5b041a6..0d93bd6 100644
> --- a/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c
> +++ b/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c
> @@ -1225,7 +1225,7 @@ void wlc_ampdu_shm_upd(struct ampdu_info *ampdu)
> /*
> * callback function that helps flushing ampdu packets from a priority queue
> */
> -static bool cb_del_ampdu_pkt(void *p, int arg_a)
> +static bool cb_del_ampdu_pkt(void *p, void *arg_a)
> {
> struct sk_buff *mpdu = (struct sk_buff *)p;
> struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(mpdu);
> @@ -1269,7 +1269,7 @@ void wlc_ampdu_flush(struct wlc_info *wlc,
> ampdu_pars.tid = tid;
> for (prec = 0; prec< pq->num_prec; prec++) {
> bcm_pktq_pflush(pq, prec, true, cb_del_ampdu_pkt,
> - (int)&du_pars);
> + (void *)&du_pars);
> }
> wlc_inval_dma_pkts(wlc->hw, sta, dma_cb_fn_ampdu);
> }
> diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_main.c b/drivers/staging/brcm80211/brcmsmac/wlc_main.c
> index 2fed0eb..926b01a 100644
> --- a/drivers/staging/brcm80211/brcmsmac/wlc_main.c
> +++ b/drivers/staging/brcm80211/brcmsmac/wlc_main.c
> @@ -2520,7 +2520,7 @@ uint wlc_down(struct wlc_info *wlc)
>
> /* flush tx queues */
> for (qi = wlc->tx_queues; qi != NULL; qi = qi->next) {
> - bcm_pktq_flush(&qi->q, true, NULL, 0);
> + bcm_pktq_flush(&qi->q, true, NULL, NULL);
> }
>
> callbacks += wlc_bmac_down_finish(wlc->hw);
> @@ -8135,7 +8135,7 @@ void wlc_wait_for_tx_completion(struct wlc_info *wlc, bool drop)
> {
> /* flush packet queue when requested */
> if (drop)
> - bcm_pktq_flush(&wlc->pkt_queue->q, false, NULL, 0);
> + bcm_pktq_flush(&wlc->pkt_queue->q, false, NULL, NULL);
>
> /* wait for queue and DMA fifos to run dry */
> while (!pktq_empty(&wlc->pkt_queue->q) ||
> diff --git a/drivers/staging/brcm80211/include/bcmutils.h b/drivers/staging/brcm80211/include/bcmutils.h
> index aa00e83..1d57934 100644
> --- a/drivers/staging/brcm80211/include/bcmutils.h
> +++ b/drivers/staging/brcm80211/include/bcmutils.h
> @@ -74,7 +74,7 @@
> #define PKTQ_PREC_ITER(pq, prec) for (prec = (pq)->num_prec - 1; prec>= 0; prec--)
>
> /* fn(pkt, arg). return true if pkt belongs to if */
> - typedef bool(*ifpkt_cb_t) (void *, int);
> + typedef bool(*ifpkt_cb_t) (void *, void *);
>
> /* operations on a specific precedence in packet queue */
>
> @@ -100,7 +100,7 @@ extern void bcm_pkt_buf_free_skb(struct sk_buff *skb);
>
> /* Empty the queue at particular precedence level */
> extern void bcm_pktq_pflush(struct pktq *pq, int prec,
> - bool dir, ifpkt_cb_t fn, int arg);
> + bool dir, ifpkt_cb_t fn, void *arg);
>
> /* operations on a set of precedences in packet queue */
>
> @@ -127,7 +127,7 @@ extern void bcm_pktq_init(struct pktq *pq, int num_prec, int max_len);
> /* prec_out may be NULL if caller is not interested in return value */
> extern struct sk_buff *bcm_pktq_peek_tail(struct pktq *pq, int *prec_out);
> extern void bcm_pktq_flush(struct pktq *pq, bool dir,
> - ifpkt_cb_t fn, int arg);
> + ifpkt_cb_t fn, void *arg);
>
> /* externs */
> /* packet */
> diff --git a/drivers/staging/brcm80211/util/bcmutils.c b/drivers/staging/brcm80211/util/bcmutils.c
> index e185e28..43e5bb3 100644
> --- a/drivers/staging/brcm80211/util/bcmutils.c
> +++ b/drivers/staging/brcm80211/util/bcmutils.c
> @@ -231,7 +231,7 @@ EXPORT_SYMBOL(bcm_pktq_pdeq_tail);
>
> void
> bcm_pktq_pflush(struct pktq *pq, int prec, bool dir,
> - ifpkt_cb_t fn, int arg)
> + ifpkt_cb_t fn, void *arg)
> {
> struct pktq_prec *q;
> struct sk_buff *p, *prev = NULL;
> @@ -263,7 +263,7 @@ bcm_pktq_pflush(struct pktq *pq, int prec, bool dir,
> EXPORT_SYMBOL(bcm_pktq_pflush);
>
> void bcm_pktq_flush(struct pktq *pq, bool dir,
> - ifpkt_cb_t fn, int arg)
> + ifpkt_cb_t fn, void *arg)
> {
> int prec;
> for (prec = 0; prec< pq->num_prec; prec++)
next parent reply other threads:[~2011-05-16 11:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1305492330-19575-1-git-send-email-cnoss@gmx.de>
2011-05-16 11:09 ` Roland Vossen [this message]
2011-05-16 20:33 ` [PATCH] staging: brcm80211: fix cast to pointer from integer Greg KH
2011-05-17 10:53 ` Roland Vossen
2011-05-15 17:04 Clemens Noss
2011-05-15 18:10 ` Hauke Mehrtens
2011-05-15 19:54 ` Arend van Spriel
2011-05-15 19:59 ` Arend van Spriel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DD105FE.9040500@broadcom.com \
--to=rvossen@broadcom.com \
--cc=cnoss@gmx.de \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@suse.de \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.