* [PATCH 1/3] media: dvb-usb-v2: Report error on all error paths
[not found] <20190412011300.5468-1-stefan.bruens@rwth-aachen.de>
@ 2019-04-12 1:12 ` Stefan Brüns
2019-05-19 10:17 ` Sean Young
2019-04-12 1:12 ` [PATCH 2/3] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw Stefan Brüns
2019-04-12 1:13 ` [PATCH 3/3] media: af9035: " Stefan Brüns
2 siblings, 1 reply; 4+ messages in thread
From: Stefan Brüns @ 2019-04-12 1:12 UTC (permalink / raw)
To: linux-media
Cc: linux-kernel, Mauro Carvalho Chehab, Antti Palosaari, Stefan Brüns
actual_length != wlen is the only error path which does not generate an
error message. Adding an error message here allows to report a more
specific error and to remove the error reporting from the call sites.
Also clean up the error paths - in case of an error, the remaining
code is skipped, and ret is returned. Skip setting ret and return
immediately (no cleanup necessary).
---
drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c b/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c
index 5bafeb6486be..5b32d159f968 100644
--- a/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c
+++ b/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c
@@ -37,14 +37,19 @@ static int dvb_usb_v2_generic_io(struct dvb_usb_device *d,
ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
d->props->generic_bulk_ctrl_endpoint), wbuf, wlen,
&actual_length, 2000);
- if (ret < 0)
+ if (ret) {
dev_err(&d->udev->dev, "%s: usb_bulk_msg() failed=%d\n",
KBUILD_MODNAME, ret);
- else
- ret = actual_length != wlen ? -EIO : 0;
+ return ret;
+ }
+ if (actual_length != wlen) {
+ dev_err(&d->udev->dev, "%s: usb_bulk_msg() write length=%d, actual=%d\n",
+ KBUILD_MODNAME, wlen, actual_length);
+ return -EIO;
+ }
- /* an answer is expected, and no error before */
- if (!ret && rbuf && rlen) {
+ /* an answer is expected */
+ if (rbuf && rlen) {
if (d->props->generic_bulk_ctrl_delay)
usleep_range(d->props->generic_bulk_ctrl_delay,
d->props->generic_bulk_ctrl_delay
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw
[not found] <20190412011300.5468-1-stefan.bruens@rwth-aachen.de>
2019-04-12 1:12 ` [PATCH 1/3] media: dvb-usb-v2: Report error on all error paths Stefan Brüns
@ 2019-04-12 1:12 ` Stefan Brüns
2019-04-12 1:13 ` [PATCH 3/3] media: af9035: " Stefan Brüns
2 siblings, 0 replies; 4+ messages in thread
From: Stefan Brüns @ 2019-04-12 1:12 UTC (permalink / raw)
To: linux-media
Cc: linux-kernel, Mauro Carvalho Chehab, Antti Palosaari, Stefan Brüns
Errors are already reported by the common code in dvb_usb_v2_generic_io
(which dvbsky_usb_generic_rw is a wrapper of), so there is no reason
report the error again.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
---
drivers/media/usb/dvb-usb-v2/dvbsky.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/drivers/media/usb/dvb-usb-v2/dvbsky.c b/drivers/media/usb/dvb-usb-v2/dvbsky.c
index e28bd8836751..dffcadd8c834 100644
--- a/drivers/media/usb/dvb-usb-v2/dvbsky.c
+++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c
@@ -100,8 +100,6 @@ static int dvbsky_gpio_ctrl(struct dvb_usb_device *d, u8 gport, u8 value)
obuf[1] = gport;
obuf[2] = value;
ret = dvbsky_usb_generic_rw(d, obuf, 3, ibuf, 1);
- if (ret)
- dev_err(&d->udev->dev, "failed=%d\n", ret);
return ret;
}
@@ -139,8 +137,6 @@ static int dvbsky_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[],
obuf[3] = msg[0].addr;
ret = dvbsky_usb_generic_rw(d, obuf, 4,
ibuf, msg[0].len + 1);
- if (ret)
- dev_err(&d->udev->dev, "failed=%d\n", ret);
if (!ret)
memcpy(msg[0].buf, &ibuf[1], msg[0].len);
} else {
@@ -151,8 +147,6 @@ static int dvbsky_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[],
memcpy(&obuf[3], msg[0].buf, msg[0].len);
ret = dvbsky_usb_generic_rw(d, obuf,
msg[0].len + 3, ibuf, 1);
- if (ret)
- dev_err(&d->udev->dev, "failed=%d\n", ret);
}
} else {
if ((msg[0].len > 60) || (msg[1].len > 60)) {
@@ -170,9 +164,6 @@ static int dvbsky_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[],
memcpy(&obuf[4], msg[0].buf, msg[0].len);
ret = dvbsky_usb_generic_rw(d, obuf,
msg[0].len + 4, ibuf, msg[1].len + 1);
- if (ret)
- dev_err(&d->udev->dev, "failed=%d\n", ret);
-
if (!ret)
memcpy(msg[1].buf, &ibuf[1], msg[1].len);
}
@@ -201,8 +192,6 @@ static int dvbsky_rc_query(struct dvb_usb_device *d)
obuf[0] = 0x10;
ret = dvbsky_usb_generic_rw(d, obuf, 1, ibuf, 2);
- if (ret)
- dev_err(&d->udev->dev, "failed=%d\n", ret);
if (ret == 0)
code = (ibuf[0] << 8) | ibuf[1];
if (code != 0xffff) {
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] media: af9035: Remove duplicate error reporting for dvbsky_usb_generic_rw
[not found] <20190412011300.5468-1-stefan.bruens@rwth-aachen.de>
2019-04-12 1:12 ` [PATCH 1/3] media: dvb-usb-v2: Report error on all error paths Stefan Brüns
2019-04-12 1:12 ` [PATCH 2/3] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw Stefan Brüns
@ 2019-04-12 1:13 ` Stefan Brüns
2 siblings, 0 replies; 4+ messages in thread
From: Stefan Brüns @ 2019-04-12 1:13 UTC (permalink / raw)
To: linux-media
Cc: linux-kernel, Mauro Carvalho Chehab, Antti Palosaari, Stefan Brüns
All error cases inside the function already report errors via dev_err(),
and dvb_usb_v2_generic_rw also reports all error cases, so there is
no silent code path when an error has occured.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
---
drivers/media/usb/dvb-usb-v2/af9035.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
index 80d3bd3a0f24..920596f78460 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -120,8 +120,6 @@ static int af9035_ctrl_msg(struct dvb_usb_device *d, struct usb_req *req)
memcpy(req->rbuf, &state->buf[ACK_HDR_LEN], req->rlen);
exit:
mutex_unlock(&d->usb_mutex);
- if (ret < 0)
- dev_dbg(&intf->dev, "failed=%d\n", ret);
return ret;
}
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/3] media: dvb-usb-v2: Report error on all error paths
2019-04-12 1:12 ` [PATCH 1/3] media: dvb-usb-v2: Report error on all error paths Stefan Brüns
@ 2019-05-19 10:17 ` Sean Young
0 siblings, 0 replies; 4+ messages in thread
From: Sean Young @ 2019-05-19 10:17 UTC (permalink / raw)
To: Stefan Brüns
Cc: linux-media, linux-kernel, Mauro Carvalho Chehab, Antti Palosaari
Hi Stefan,
On Fri, Apr 12, 2019 at 03:12:58AM +0200, Stefan Brüns wrote:
> actual_length != wlen is the only error path which does not generate an
> error message. Adding an error message here allows to report a more
> specific error and to remove the error reporting from the call sites.
>
> Also clean up the error paths - in case of an error, the remaining
> code is skipped, and ret is returned. Skip setting ret and return
> immediately (no cleanup necessary).
There is no Signed-off-by: line:
https://www.kernel.org/doc/html/latest/process/submitting-patches.html?highlight=signed%20off#sign-your-work-the-developer-s-certificate-of-origin
This is needed for merging.
Sean
> ---
> drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c b/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c
> index 5bafeb6486be..5b32d159f968 100644
> --- a/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c
> +++ b/drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c
> @@ -37,14 +37,19 @@ static int dvb_usb_v2_generic_io(struct dvb_usb_device *d,
> ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
> d->props->generic_bulk_ctrl_endpoint), wbuf, wlen,
> &actual_length, 2000);
> - if (ret < 0)
> + if (ret) {
> dev_err(&d->udev->dev, "%s: usb_bulk_msg() failed=%d\n",
> KBUILD_MODNAME, ret);
> - else
> - ret = actual_length != wlen ? -EIO : 0;
> + return ret;
> + }
> + if (actual_length != wlen) {
> + dev_err(&d->udev->dev, "%s: usb_bulk_msg() write length=%d, actual=%d\n",
> + KBUILD_MODNAME, wlen, actual_length);
> + return -EIO;
> + }
>
> - /* an answer is expected, and no error before */
> - if (!ret && rbuf && rlen) {
> + /* an answer is expected */
> + if (rbuf && rlen) {
> if (d->props->generic_bulk_ctrl_delay)
> usleep_range(d->props->generic_bulk_ctrl_delay,
> d->props->generic_bulk_ctrl_delay
> --
> 2.21.0
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-05-19 17:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20190412011300.5468-1-stefan.bruens@rwth-aachen.de>
2019-04-12 1:12 ` [PATCH 1/3] media: dvb-usb-v2: Report error on all error paths Stefan Brüns
2019-05-19 10:17 ` Sean Young
2019-04-12 1:12 ` [PATCH 2/3] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw Stefan Brüns
2019-04-12 1:13 ` [PATCH 3/3] media: af9035: " Stefan Brüns
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).