All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
To: Hans Verkuil <hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
Cc: linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"Sekhar Nori" <nsekhar-l0cyMroinI0@public.gmane.org>,
	"Axel Haslam" <ahaslam-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
	"Bartosz Gołaszewski"
	<bgolaszewski-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
	"Alexandre Bailon"
	<abailon-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
	"David Lechner" <david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
Subject: Re: [PATCH 2/4] [media] davinci: vpif_capture: don't lock over s_stream
Date: Mon, 21 Nov 2016 16:10:19 -0800	[thread overview]
Message-ID: <m237ik1ij8.fsf@baylibre.com> (raw)
In-Reply-To: <f385c65b-1f73-a5b1-b498-43916d5bdfb6-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org> (Hans Verkuil's message of "Mon, 21 Nov 2016 15:37:20 +0100")

Hans Verkuil <hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org> writes:

> On 19/11/16 01:32, Kevin Hilman wrote:
>> Video capture subdevs may be over I2C and may sleep during xfer, so we
>> cannot do IRQ-disabled locking when calling the subdev.
>>
>> Signed-off-by: Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
>> ---
>>  drivers/media/platform/davinci/vpif_capture.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
>> index 79cef74e164f..becc3e63b472 100644
>> --- a/drivers/media/platform/davinci/vpif_capture.c
>> +++ b/drivers/media/platform/davinci/vpif_capture.c
>> @@ -193,12 +193,16 @@ static int vpif_start_streaming(struct vb2_queue *vq, unsigned int count)
>>  		}
>>  	}
>>
>> +	spin_unlock_irqrestore(&common->irqlock, flags);
>> +
>>  	ret = v4l2_subdev_call(ch->sd, video, s_stream, 1);
>>  	if (ret && ret != -ENOIOCTLCMD && ret != -ENODEV) {
>>  		vpif_dbg(1, debug, "stream on failed in subdev\n");
>>  		goto err;
>>  	}
>>
>> +	spin_lock_irqsave(&common->irqlock, flags);
>
> This needs to be moved to right after the v4l2_subdev_call, otherwise the
> goto err above will not have the spinlock.

Yes indeed.  Will respin.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	"Sekhar Nori" <nsekhar@ti.com>,
	"Axel Haslam" <ahaslam@baylibre.com>,
	"Bartosz Gołaszewski" <bgolaszewski@baylibre.com>,
	"Alexandre Bailon" <abailon@baylibre.com>,
	"David Lechner" <david@lechnology.com>
Subject: Re: [PATCH 2/4] [media] davinci: vpif_capture: don't lock over s_stream
Date: Mon, 21 Nov 2016 16:10:19 -0800	[thread overview]
Message-ID: <m237ik1ij8.fsf@baylibre.com> (raw)
In-Reply-To: <f385c65b-1f73-a5b1-b498-43916d5bdfb6@xs4all.nl> (Hans Verkuil's message of "Mon, 21 Nov 2016 15:37:20 +0100")

Hans Verkuil <hverkuil@xs4all.nl> writes:

> On 19/11/16 01:32, Kevin Hilman wrote:
>> Video capture subdevs may be over I2C and may sleep during xfer, so we
>> cannot do IRQ-disabled locking when calling the subdev.
>>
>> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
>> ---
>>  drivers/media/platform/davinci/vpif_capture.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
>> index 79cef74e164f..becc3e63b472 100644
>> --- a/drivers/media/platform/davinci/vpif_capture.c
>> +++ b/drivers/media/platform/davinci/vpif_capture.c
>> @@ -193,12 +193,16 @@ static int vpif_start_streaming(struct vb2_queue *vq, unsigned int count)
>>  		}
>>  	}
>>
>> +	spin_unlock_irqrestore(&common->irqlock, flags);
>> +
>>  	ret = v4l2_subdev_call(ch->sd, video, s_stream, 1);
>>  	if (ret && ret != -ENOIOCTLCMD && ret != -ENODEV) {
>>  		vpif_dbg(1, debug, "stream on failed in subdev\n");
>>  		goto err;
>>  	}
>>
>> +	spin_lock_irqsave(&common->irqlock, flags);
>
> This needs to be moved to right after the v4l2_subdev_call, otherwise the
> goto err above will not have the spinlock.

Yes indeed.  Will respin.

Kevin

  parent reply	other threads:[~2016-11-22  0:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-19  0:32 [PATCH 1/4] [media] davinci: add support for DT init Kevin Hilman
2016-11-19  0:32 ` [PATCH 2/4] [media] davinci: vpif_capture: don't lock over s_stream Kevin Hilman
2016-11-21 14:37   ` Hans Verkuil
     [not found]     ` <f385c65b-1f73-a5b1-b498-43916d5bdfb6-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2016-11-22  0:10       ` Kevin Hilman [this message]
2016-11-22  0:10         ` Kevin Hilman
     [not found] ` <20161119003208.10550-1-khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-11-19  0:32   ` [PATCH 3/4] [media] davinci: vpif_capture: get subdevs from DT Kevin Hilman
2016-11-19  0:32     ` Kevin Hilman
2016-11-19  0:32   ` [PATCH 4/4] [media] dt-bindings: add TI VPIF documentation Kevin Hilman
2016-11-19  0:32     ` Kevin Hilman
2016-11-21 14:15     ` Arnd Bergmann
2016-11-22  0:09       ` Kevin Hilman
     [not found]     ` <20161119003208.10550-4-khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-11-24  0:04       ` Kevin Hilman
2016-11-24  0:04         ` Kevin Hilman

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=m237ik1ij8.fsf@baylibre.com \
    --to=khilman-rdvid1duhrbwk0htik3j/w@public.gmane.org \
    --cc=abailon-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=ahaslam-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=bgolaszewski-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org \
    --cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nsekhar-l0cyMroinI0@public.gmane.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.