All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Pavel Machek <pavel@ucw.cz>,
	Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Cc: sakari.ailus@iki.fi, sre@kernel.org, pali.rohar@gmail.com,
	linux-media@vger.kernel.org
Subject: Re: [PATCH] [media]: Driver for Toshiba et8ek8 5MP sensor
Date: Mon, 06 Jun 2016 11:04:37 +0200	[thread overview]
Message-ID: <57553CA5.40908@samsung.com> (raw)
In-Reply-To: <20160524111901.GB18307@amd>

On 05/24/2016 01:19 PM, Pavel Machek wrote:
>> +/*
>> > + * Write a list of registers to i2c device.
>> > + *
>> > + * The list of registers is terminated by ET8EK8_REG_TERM.
>> > + * Returns zero if successful, or non-zero otherwise.
>> > + */
>> > +static int et8ek8_i2c_write_regs(struct i2c_client *client,
>> > +				 const struct et8ek8_reg reglist[])
>> > +{
>> > +	int r, cnt = 0;
>> > +	const struct et8ek8_reg *next, *wnext;
>> > +
>> > +	if (!client->adapter)
>> > +		return -ENODEV;
>> > +
>> > +	if (reglist == NULL)
>
> (!reglist) ? :-). Actually, you can keep your preffered style there,
> but maybe ammount of if (something that can not happen) return
> ... should be reduced. Noone should ever call this without valid
> reglist or client->adapter, right?
> 
>> > +		return -EINVAL;
>> > +
>> > +	/* Initialize list pointers to the start of the list */
>> > +	next = wnext = reglist;
>> > +
>> > +	do {
>> > +		/*
>> > +		 * We have to go through the list to figure out how
>> > +		 * many regular writes we have in a row
>> > +		 */
>> > +		while (next->type != ET8EK8_REG_TERM
>> > +		       && next->type != ET8EK8_REG_DELAY) {
>> > +			/*
>> > +			 * Here we check that the actual length fields
>> > +			 * are valid
>> > +			 */
>> > +			if (next->type != ET8EK8_REG_8BIT
>> > +			    &&  next->type != ET8EK8_REG_16BIT) {
> Extra space after &&
> 
>> > +				dev_err(&client->dev,
>> > +					"Invalid value on entry %d 0x%x\n",
>> > +					cnt, next->type);
>> > +				return -EINVAL;
>> > +			}
>
> And maybe this could be just BUG_ON(). 

It definitively doesn't look like a BUG_ON() would be appropriate here,
it's just an unexpected condition in some I2C write function of a rather
not critical device from the whole system operation stability point
of view. Perhaps you just meant WARN_ON()?

BUG_ON() should be used with care, when the condition is not recoverable,
otherwise we are just making debugging unnecessarily harder.

http://lkml.iu.edu/hypermail/linux/kernel/1506.1/00062.html
http://yarchive.net/comp/linux/BUG.html

-- 
Thanks,
Sylwester

  parent reply	other threads:[~2016-06-06  9:04 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20160420081427.GZ32125@valkosipuli.retiisi.org.uk>
2016-04-24 21:08 ` [RFC PATCH 00/24] Make Nokia N900 cameras working Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 01/24] V4L fixes Ivaylo Dimitrov
2016-04-24 22:05     ` Pavel Machek
2016-04-25  7:29     ` Hans Verkuil
2016-04-25 13:25     ` Sakari Ailus
2016-04-25 16:32       ` Ivaylo Dimitrov
2016-04-29  7:41         ` Sakari Ailus
2016-04-24 21:08   ` [RFC PATCH 02/24] smiaregs: Generic i2c register writing Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 03/24] et8ek8: Toshiba 5MP sensor driver Ivaylo Dimitrov
2016-05-01 10:44     ` Sakari Ailus
2016-05-01 12:31       ` Ivaylo Dimitrov
2016-05-01 12:32         ` Ivaylo Dimitrov
2016-05-01 12:50       ` Ivaylo Dimitrov
2016-05-01 13:41         ` Sakari Ailus
2016-05-03 14:50           ` [PATCH] [media]: Driver for Toshiba et8ek8 5MP sensor Ivaylo Dimitrov
2016-05-22 10:07             ` Ivaylo Dimitrov
2016-05-24 11:19             ` Pavel Machek
2016-06-04 19:16               ` Ivaylo Dimitrov
2016-06-06  9:04               ` Sylwester Nawrocki [this message]
2016-05-25 21:45             ` Sakari Ailus
2016-06-04 19:54               ` Ivaylo Dimitrov
2016-06-09 23:13                 ` Sakari Ailus
2016-04-24 21:08   ` [RFC PATCH 04/24] smiapp-pll: Take existing divisor into account in minimum divisor check Ivaylo Dimitrov
2016-05-01 10:45     ` Sakari Ailus
2016-05-03 18:25       ` Ivaylo Dimitrov
2016-05-24  9:09       ` Pali Rohár
2016-05-24 10:17     ` Pavel Machek
2016-04-24 21:08   ` [RFC PATCH 05/24] smiapp: Add smiapp_has_quirk() to tell whether a quirk is implemented Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 06/24] smiapp: Add quirk control support Ivaylo Dimitrov
2016-05-01 10:46     ` Sakari Ailus
2016-05-03 18:32       ` Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 07/24] v4l: of: Call CSI2 bus csi2, not csi Ivaylo Dimitrov
2016-04-29 13:22     ` Pavel Machek
2016-04-24 21:08   ` [RFC PATCH 08/24] v4l: of: Obtain data bus type from bus-type property Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 09/24] v4l: Add CSI1 and CCP2 bus type to enum v4l2_mbus_type Ivaylo Dimitrov
2016-04-29 13:27     ` Pavel Machek
2016-04-24 21:08   ` [RFC PATCH 10/24] v4l: of: Separate lane parsing from CSI-2 bus parameter parsing Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 11/24] dt: bindings: v4l: Add bus-type video interface property Ivaylo Dimitrov
2016-04-29 13:28     ` Pavel Machek
2016-04-24 21:08   ` [RFC PATCH 12/24] dt: bindings: Add CSI1/CCP2 related properties to video-interfaces.txt Ivaylo Dimitrov
2016-04-29 13:39     ` Pavel Machek
2016-04-24 21:08   ` [RFC PATCH 13/24] v4l: of: Support CSI-1 and CCP2 busses Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 14/24] media: et8ek8: add device tree binding document Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 15/24] media: add subdev type for bus switch Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 16/24] media: video-bus-switch: new driver Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 17/24] smiapp: add CCP2 support Ivaylo Dimitrov
2016-05-01 10:57     ` Sakari Ailus
2016-04-24 21:08   ` [RFC PATCH 18/24] v4l2-async: per notifier locking Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 19/24] v4l2_device_register_subdev_nodes: allow calling multiple times Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 20/24] ARM: dts: omap3-n900: enable cameras Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 21/24] omap3isp: dt: Add support for CSI1/CCP2 busses Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 22/24] [media] omap3isp: Correctly set IO_OUT_SEL and VP_CLK_POL for CCP2 mode Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 23/24] [media] omap3isp: Make sure CSI1 interface is enabled in CPP2 mode Ivaylo Dimitrov
2016-04-24 21:08   ` [RFC PATCH 24/24] ARM: dts: omap3-n900: enable cameras - remove invalid entry Ivaylo Dimitrov
2016-04-24 21:55   ` [RFC PATCH 00/24] Make Nokia N900 cameras working Pavel Machek
2016-04-25  6:33     ` Ivaylo Dimitrov
2016-04-25 17:09       ` Pavel Machek
2016-04-25 17:21         ` Ivaylo Dimitrov
2016-04-27 21:07           ` Pavel Machek
2016-04-25 10:40   ` Pali Rohár
2016-04-25 14:06     ` Pavel Machek
2016-04-25 14:09       ` Hans Verkuil
2016-04-27 21:09         ` Pavel Machek
2016-04-25 14:14       ` Pali Rohár
2016-04-25 17:14         ` Pali Rohár
2016-04-25 16:58   ` Pavel Machek
2016-04-25 17:17     ` Ivaylo Dimitrov
2016-04-25 18:40       ` Pavel Machek
2016-04-25 19:17         ` Ivaylo Dimitrov
2016-04-25 20:41           ` Pavel Machek
2016-04-25 20:53             ` Ivaylo Dimitrov
2016-04-25 22:07               ` Pavel Machek
2016-04-26  4:21                 ` Ivaylo Dimitrov
2016-04-27  8:30                   ` Pavel Machek
2016-04-27  3:08   ` Sebastian Reichel
2016-04-27  5:05     ` Ivaylo Dimitrov
2016-04-27  6:57       ` Ivaylo Dimitrov
2016-04-27 16:42         ` Sebastian Reichel
2016-04-27 16:45           ` Pavel Machek
2016-04-27 16:59             ` Sebastian Reichel
2016-05-02  7:06               ` Pavel Machek
2016-04-27 17:12           ` Ивайло Димитров
2016-04-27 19:05             ` Pavel Machek
2016-04-29  0:05             ` Sebastian Reichel
2016-04-29 17:45               ` Sebastian Reichel
2016-04-29 18:44                 ` Ivaylo Dimitrov
2016-05-01 10:37                   ` Sakari Ailus
2016-05-01  9:03                 ` Pavel Machek
2016-04-27 20:30           ` Pavel Machek
2016-06-17 16:42     ` Nokia N900 cameras -- pipeline setup in python (was Re: [RFC PATCH 00/24] Make Nokia N900 cameras working) Pavel Machek
2016-06-17 17:12       ` Pavel Machek
2016-06-20 17:00         ` Pavel Machek
2016-06-20 20:59         ` Sakari Ailus
2016-06-21 18:05           ` Pavel Machek
2016-06-22  7:22             ` Sakari Ailus
2016-06-22 11:18           ` Pavel Machek
2016-07-01  7:31           ` square-only image on Nokia N900 camera " Pavel Machek
2016-07-01  8:50             ` Pavel Machek
2016-07-01 11:01               ` Pavel Machek
2016-07-01 19:40                 ` Pavel Machek
2016-06-24 16:21   ` [RFC PATCH 00/24] Make Nokia N900 cameras working Pavel Machek
2016-08-27 13:48   ` fcam-dev support for new kernels -- " Pavel Machek

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=57553CA5.40908@samsung.com \
    --to=s.nawrocki@samsung.com \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=sakari.ailus@iki.fi \
    --cc=sre@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.