From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Jarod Wilson <jarod@redhat.com>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH] [media] imon: rate-limit send_packet spew
Date: Thu, 14 Jul 2011 13:12:20 -0300 [thread overview]
Message-ID: <4E1F1564.9060502@redhat.com> (raw)
In-Reply-To: <1310594321-12921-1-git-send-email-jarod@redhat.com>
Em 13-07-2011 18:58, Jarod Wilson escreveu:
> There are folks with flaky imon hardware out there that doesn't always
> respond to requests to write to their displays for some reason, which
> can flood logs quickly when something like lcdproc is trying to
> constantly update the display, so lets rate-limit all that error spew.
This patch caused a compilation error here:
drivers/media/rc/imon.c: In function ‘send_packet’:
drivers/media/rc/imon.c:519: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:519: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:519: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:519: error: implicit declaration of function ‘__ratelimit’
drivers/media/rc/imon.c:519: error: ‘_rs’ undeclared (first use in this function)
drivers/media/rc/imon.c:519: error: (Each undeclared identifier is reported only once
drivers/media/rc/imon.c:519: error: for each function it appears in.)
drivers/media/rc/imon.c:526: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:526: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:526: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:531: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:531: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:531: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c: In function ‘vfd_write’:
drivers/media/rc/imon.c:833: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:833: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:833: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:833: error: ‘_rs’ undeclared (first use in this function)
drivers/media/rc/imon.c:840: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:840: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:840: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:846: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:846: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:846: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:872: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:872: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:872: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:886: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:886: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:886: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c: In function ‘lcd_write’:
drivers/media/rc/imon.c:915: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:915: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:915: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:915: error: ‘_rs’ undeclared (first use in this function)
drivers/media/rc/imon.c:922: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:922: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:922: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:928: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:928: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:928: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:941: warning: type defaults to ‘int’ in declaration of ‘DEFINE_RATELIMIT_STATE’
drivers/media/rc/imon.c:941: warning: parameter names (without types) in function declaration
drivers/media/rc/imon.c:941: error: invalid storage class for function ‘DEFINE_RATELIMIT_STATE’
>
> Signed-off-by: Jarod Wilson <jarod@redhat.com>
> ---
> drivers/media/rc/imon.c | 25 +++++++++++++------------
> 1 files changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c
> index 6bc35ee..ba48c1e 100644
> --- a/drivers/media/rc/imon.c
> +++ b/drivers/media/rc/imon.c
> @@ -516,19 +516,19 @@ static int send_packet(struct imon_context *ictx)
> if (retval) {
> ictx->tx.busy = false;
> smp_rmb(); /* ensure later readers know we're not busy */
> - pr_err("error submitting urb(%d)\n", retval);
> + pr_err_ratelimited("error submitting urb(%d)\n", retval);
> } else {
> /* Wait for transmission to complete (or abort) */
> mutex_unlock(&ictx->lock);
> retval = wait_for_completion_interruptible(
> &ictx->tx.finished);
> if (retval)
> - pr_err("task interrupted\n");
> + pr_err_ratelimited("task interrupted\n");
> mutex_lock(&ictx->lock);
>
> retval = ictx->tx.status;
> if (retval)
> - pr_err("packet tx failed (%d)\n", retval);
> + pr_err_ratelimited("packet tx failed (%d)\n", retval);
> }
>
> kfree(control_req);
> @@ -830,20 +830,20 @@ static ssize_t vfd_write(struct file *file, const char *buf,
>
> ictx = file->private_data;
> if (!ictx) {
> - pr_err("no context for device\n");
> + pr_err_ratelimited("no context for device\n");
> return -ENODEV;
> }
>
> mutex_lock(&ictx->lock);
>
> if (!ictx->dev_present_intf0) {
> - pr_err("no iMON device present\n");
> + pr_err_ratelimited("no iMON device present\n");
> retval = -ENODEV;
> goto exit;
> }
>
> if (n_bytes <= 0 || n_bytes > 32) {
> - pr_err("invalid payload size\n");
> + pr_err_ratelimited("invalid payload size\n");
> retval = -EINVAL;
> goto exit;
> }
> @@ -869,7 +869,7 @@ static ssize_t vfd_write(struct file *file, const char *buf,
>
> retval = send_packet(ictx);
> if (retval) {
> - pr_err("send packet failed for packet #%d\n", seq / 2);
> + pr_err_ratelimited("send packet #%d failed\n", seq / 2);
> goto exit;
> } else {
> seq += 2;
> @@ -883,7 +883,7 @@ static ssize_t vfd_write(struct file *file, const char *buf,
> ictx->usb_tx_buf[7] = (unsigned char) seq;
> retval = send_packet(ictx);
> if (retval)
> - pr_err("send packet failed for packet #%d\n", seq / 2);
> + pr_err_ratelimited("send packet #%d failed\n", seq / 2);
>
> exit:
> mutex_unlock(&ictx->lock);
> @@ -912,20 +912,21 @@ static ssize_t lcd_write(struct file *file, const char *buf,
>
> ictx = file->private_data;
> if (!ictx) {
> - pr_err("no context for device\n");
> + pr_err_ratelimited("no context for device\n");
> return -ENODEV;
> }
>
> mutex_lock(&ictx->lock);
>
> if (!ictx->display_supported) {
> - pr_err("no iMON display present\n");
> + pr_err_ratelimited("no iMON display present\n");
> retval = -ENODEV;
> goto exit;
> }
>
> if (n_bytes != 8) {
> - pr_err("invalid payload size: %d (expected 8)\n", (int)n_bytes);
> + pr_err_ratelimited("invalid payload size: %d (expected 8)\n",
> + (int)n_bytes);
> retval = -EINVAL;
> goto exit;
> }
> @@ -937,7 +938,7 @@ static ssize_t lcd_write(struct file *file, const char *buf,
>
> retval = send_packet(ictx);
> if (retval) {
> - pr_err("send packet failed!\n");
> + pr_err_ratelimited("send packet failed!\n");
> goto exit;
> } else {
> dev_dbg(ictx->dev, "%s: write %d bytes to LCD\n",
next prev parent reply other threads:[~2011-07-14 16:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-13 21:58 [PATCH] [media] imon: rate-limit send_packet spew Jarod Wilson
2011-07-14 16:12 ` Mauro Carvalho Chehab [this message]
2011-07-14 16:17 ` Jarod Wilson
2011-07-14 17:20 ` [PATCH v2] " Jarod Wilson
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=4E1F1564.9060502@redhat.com \
--to=mchehab@redhat.com \
--cc=jarod@redhat.com \
--cc=linux-media@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox