]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: dvb-usb-v2: Report error on all error paths
authorStefan Brüns <stefan.bruens@rwth-aachen.de>
Sun, 19 May 2019 11:18:29 +0000 (07:18 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Wed, 22 May 2019 19:29:41 +0000 (15:29 -0400)
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).

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c

index 5bafeb6486beb3c7da3459e63a74ca0de6994957..6d43cf496458e8d0c7128ec6349ecff5bbda5836 100644 (file)
@@ -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