lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 19 May 2010 12:34:48 +0200
From:	Wolfram Sang <w.sang@...gutronix.de>
To:	Daniel Mack <daniel@...aq.de>
Cc:	linux-kernel@...r.kernel.org,
	Mauro Carvalho Chehab <mchehab@...radead.org>,
	Jiri Slaby <jslaby@...e.cz>, Dmitry Torokhov <dtor@...l.ru>,
	Devin Heitmueller <dheitmueller@...nellabs.com>,
	linux-media@...r.kernel.org
Subject: Re: [PATCH] drivers/media/dvb/dvb-usb/dib0700: fix return values

On Wed, May 19, 2010 at 12:26:12PM +0200, Daniel Mack wrote:
> Propagte correct error values instead of returning -1 which just means
> -EPERM ("Permission denied")
> 
> While at it, also fix some coding style violations.
> 
> Signed-off-by: Daniel Mack <daniel@...aq.de>

Just minor nits. You decide if it is worth a resend ;)

> Cc: Mauro Carvalho Chehab <mchehab@...radead.org>
> Cc: Jiri Slaby <jslaby@...e.cz>
> Cc: Dmitry Torokhov <dtor@...l.ru>
> Cc: Devin Heitmueller <dheitmueller@...nellabs.com>
> Cc: linux-media@...r.kernel.org
> ---
>  drivers/media/dvb/dvb-usb/dib0700_core.c |   47 ++++++++++++++---------------
>  1 files changed, 23 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c
> index d5e2c23..c73da6b 100644
> --- a/drivers/media/dvb/dvb-usb/dib0700_core.c
> +++ b/drivers/media/dvb/dvb-usb/dib0700_core.c
> @@ -111,23 +111,24 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_
>  
>  static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets)
>  {
> -    struct dib0700_state *st = d->priv;
> -    u8 b[3];
> -    int ret;
> -
> -    if (st->fw_version >= 0x10201) {
> -	b[0] = REQUEST_SET_USB_XFER_LEN;
> -	b[1] = (nb_ts_packets >> 8)&0xff;
> -	b[2] = nb_ts_packets & 0xff;
> -
> -	deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets);
> -
> -	ret = dib0700_ctrl_wr(d, b, 3);
> -    } else {
> -	deb_info("this firmware does not allow to change the USB xfer len\n");
> -	ret = -EIO;
> -    }
> -    return ret;
> +	struct dib0700_state *st = d->priv;
> +	u8 b[3];
> +	int ret;
> +
> +	if (st->fw_version >= 0x10201) {
> +		b[0] = REQUEST_SET_USB_XFER_LEN;
> +		b[1] = (nb_ts_packets >> 8)&0xff;

Spaces around operators?

> +		b[2] = nb_ts_packets & 0xff;
> +
> +		deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets);
> +
> +		ret = dib0700_ctrl_wr(d, b, 3);
> +	} else {
> +		deb_info("this firmware does not allow to change the USB xfer len\n");
> +		ret = -EIO;
> +	}
> +
> +	return ret;
>  }
>  
>  /*
> @@ -642,7 +643,7 @@ int dib0700_rc_setup(struct dvb_usb_device *d)
>  	i = dib0700_ctrl_wr(d, rc_setup, 3);
>  	if (i<0) {

Spaces around operators?

>  		err("ir protocol setup failed");
> -		return -1;
> +		return i;
>  	}
>  
>  	if (st->fw_version < 0x10200)
> @@ -652,7 +653,7 @@ int dib0700_rc_setup(struct dvb_usb_device *d)
>  	purb = usb_alloc_urb(0, GFP_KERNEL);
>  	if (purb == NULL) {
>  		err("rc usb alloc urb failed\n");
> -		return -1;
> +		return -ENOMEM;
>  	}
>  
>  	purb->transfer_buffer = usb_buffer_alloc(d->udev, RC_MSG_SIZE_V1_20,
> @@ -661,7 +662,7 @@ int dib0700_rc_setup(struct dvb_usb_device *d)
>  	if (purb->transfer_buffer == NULL) {
>  		err("rc usb_buffer_alloc() failed\n");
>  		usb_free_urb(purb);
> -		return -1;
> +		return -ENOMEM;
>  	}
>  
>  	purb->status = -EINPROGRESS;
> @@ -670,12 +671,10 @@ int dib0700_rc_setup(struct dvb_usb_device *d)
>  			  dib0700_rc_urb_completion, d);
>  
>  	ret = usb_submit_urb(purb, GFP_ATOMIC);
> -	if (ret != 0) {
> +	if (ret != 0)

if (ret)

>  		err("rc submit urb failed\n");
> -		return -1;
> -	}
>  
> -	return 0;
> +	return ret;
>  }
>  
>  static int dib0700_probe(struct usb_interface *intf,
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

Download attachment "signature.asc" of type "application/pgp-signature" (198 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ