linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: One Thousand Gnomes <gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
To: "Westerberg,
	Mika" <mika.westerberg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: "Du, Wenkai" <wenkai.du-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] i2c-designware: Mask interrupts during i2c controller enable
Date: Sun, 6 Apr 2014 18:58:18 +0100	[thread overview]
Message-ID: <20140406185818.3aaca03d@alan.etchedpixels.co.uk> (raw)
In-Reply-To: <20140405061316.GF19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

On Sat, 5 Apr 2014 09:13:16 +0300
"Westerberg, Mika" <mika.westerberg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:

> On Sat, Apr 05, 2014 at 12:54:33AM +0300, Du, Wenkai wrote:
> > >Interrupt masking is done already after each transaction.
> > 
> > At end of transfer, the code uses __i2c_dw_enable(dev, false) to disable
> > adapter. This function doesn't mask interrupts. There is another function
> > i2c_dw_disable that masks and clears interrupts. This could be used, but
> > that means we need to fix in 2 places: 
> 
> Please check i2c_dw_isr() and tell me in which code path interrupts are not
> getting masked. Or am I missing something fundamental here?
> 
> In case of abort, we mask interrupts. Also whenever the transaction
> completes we mask interrupts (in i2c_dw_xfer_msg()).

Well actually you mask the IRQ at some point after the function returns
if the bus allows the write to be posted. As i2c_dw_isr can then exit the
IRQ handler before the write completes I suspect you have a race ?

Alan

  parent reply	other threads:[~2014-04-06 17:58 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-04 17:05 [PATCH] i2c-designware: Mask interrupts during i2c controller enable Du, Wenkai
     [not found] ` <7286EAF50D3F4E4AADE7FEECEBF8B5A537A70E1F-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-04-04 18:16   ` Westerberg, Mika
     [not found]     ` <20140404181613.GB19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-04 18:20       ` Du, Wenkai
     [not found]         ` <7286EAF50D3F4E4AADE7FEECEBF8B5A537A70F8B-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-04-04 18:42           ` Westerberg, Mika
     [not found]             ` <20140404184232.GC19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-04 21:54               ` Du, Wenkai
     [not found]                 ` <7286EAF50D3F4E4AADE7FEECEBF8B5A537A71351-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-04-05  6:13                   ` Westerberg, Mika
     [not found]                     ` <20140405061316.GF19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-06 17:58                       ` One Thousand Gnomes [this message]
     [not found]                         ` <20140406185818.3aaca03d-mUKnrFFms3BCCTY1wZZT65JpZx93mCW/@public.gmane.org>
2014-04-07  9:04                           ` Westerberg, Mika
     [not found]                             ` <20140407090403.GG19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-07 14:42                               ` One Thousand Gnomes
2014-04-07 15:11                                 ` Westerberg, Mika
     [not found]                                   ` <20140407151107.GL19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-07 16:48                                     ` Du, Wenkai
2014-04-08 10:30                                       ` Westerberg, Mika
2014-04-09 23:45                                         ` Du, Wenkai
2014-04-10  9:08                                           ` Westerberg, Mika
     [not found]                                             ` <20140410090826.GW19349-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-10 23:06                                               ` Du, Wenkai

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=20140406185818.3aaca03d@alan.etchedpixels.co.uk \
    --to=gnomes-qbu/x9rampvanceybjwyrvxrex20p6io@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mika.westerberg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=wenkai.du-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=wsa-z923LK4zBo2bacvFa/9K2g@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 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).