All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Sultan Alsawaf <sultan@kerneltoast.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Aaron Ma <aaron.ma@canonical.com>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	Hans de Goede <hdegoede@redhat.com>,
	HungNien Chen <hn.chen@weidahitech.com>,
	Jarkko Nikula <jarkko.nikula@linux.intel.com>,
	Jiri Kosina <jikos@kernel.org>,
	Kai-Heng Feng <kai.heng.feng@canonical.com>,
	linux-i2c <linux-i2c@vger.kernel.org>,
	linux-input <linux-input@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Pavel Balan <admin@kryma.net>, Tin Huynh <tnhuynh@apm.com>,
	Wolfram Sang <wsa@kernel.org>,
	You-Sheng Yang <vicamo.yang@canonical.com>
Subject: Re: [PATCH 1/2] i2c: designware: Only check the first byte for SMBus block read length
Date: Mon, 15 Jun 2020 19:07:42 +0300	[thread overview]
Message-ID: <CAHp75Ve1TgRrKF0_d-7dY6EZU36QszwQ1ezwE03RERKywCxGYg@mail.gmail.com> (raw)
In-Reply-To: <20200615160320.GA1949@sultan-book.localdomain>

On Mon, Jun 15, 2020 at 7:06 PM Sultan Alsawaf <sultan@kerneltoast.com> wrote:
> On Mon, Jun 15, 2020 at 12:40:19PM +0300, Andy Shevchenko wrote:
> > On Sun, Jun 14, 2020 at 02:02:54PM -0700, Sultan Alsawaf wrote:
> > > From: Sultan Alsawaf <sultan@kerneltoast.com>
> > >
> > > SMBus block reads can be broken because the read function will just skip
> > > over bytes it doesn't like until reaching a byte that conforms to the
> > > length restrictions for block reads. This is problematic when it isn't
> > > known if the incoming payload is indeed a conforming block read.
> > >
> > > According to the SMBus specification, block reads will only send the
> > > payload length in the first byte, so we can fix this by only considering
> > > the first byte in a sequence for block read length purposes.
> >
> > I'm wondering if this overlaps with [1]. AFAIU that one is also makes sure that
> > the length is not a garbage.
> >
> > [1]: https://lore.kernel.org/linux-i2c/20200613104109.2989-1-mans@mansr.com/T/#u
>
> No overlap.

Thanks for clarifying.

> That looks like a similar bug for a different driver. In my case,
> the adapter provides native SMBus support, so emulation is never used. This is
> clear to see by looking at i2c_transfer_buffer_flags(), which only uses the
> master_xfer functions provided by the adapter; it doesn't call the emulation
> path at all.

But do we get an advantage if this can be done in the i2c core instead
(once for all)?

-- 
With Best Regards,
Andy Shevchenko

  reply	other threads:[~2020-06-15 16:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-14 21:02 [PATCH 0/2] i2c-hid: Save power by reducing i2c xfers with block reads Sultan Alsawaf
2020-06-14 21:02 ` [PATCH 1/2] i2c: designware: Only check the first byte for SMBus block read length Sultan Alsawaf
2020-06-15  9:40   ` Andy Shevchenko
2020-06-15 16:03     ` Sultan Alsawaf
2020-06-15 16:07       ` Andy Shevchenko [this message]
2020-06-15 17:15         ` Sultan Alsawaf
2020-06-16 13:22   ` Jarkko Nikula
2020-06-16 15:43     ` [PATCH v2] " Sultan Alsawaf
2020-06-17 11:08       ` Jarkko Nikula
2020-06-14 21:02 ` [PATCH 2/2] HID: i2c-hid: Use block reads when possible to save power Sultan Alsawaf
2020-06-16 13:43   ` Jarkko Nikula
2020-06-16 15:49     ` [PATCH v2] " Sultan Alsawaf
2020-06-16 16:41       ` Andy Shevchenko
2020-06-16 17:18         ` Andi Shyti
2020-06-16 17:32           ` Sultan Alsawaf
2020-06-16 18:02             ` Andi Shyti
2020-06-16 18:17               ` Sultan Alsawaf
2020-06-17 11:17       ` Jarkko Nikula
2020-06-29 17:43         ` Sultan Alsawaf
2020-07-01  8:04           ` Jarkko Nikula
2020-07-01 15:00             ` Sultan Alsawaf
2020-07-03 11:18               ` Jarkko Nikula
2020-09-14  0:15                 ` [PATCH v3] i2c: Squash of SMBus block read patchset " Sultan Alsawaf
     [not found]                   ` <bcf9cd02-13d1-8f87-8ef9-2f05f0b54808@linux.intel.com>
2020-09-15 17:48                     ` Sultan Alsawaf
2020-09-16 14:09                       ` Jarkko Nikula
2020-09-15 20:44                   ` Jiri Kosina
2020-06-22  0:58   ` [HID] 0b987151f0: kmsg.i2c_designware_i2c_designware.#: controller_timed_out kernel test robot
2020-06-22  0:58     ` kernel test robot

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=CAHp75Ve1TgRrKF0_d-7dY6EZU36QszwQ1ezwE03RERKywCxGYg@mail.gmail.com \
    --to=andy.shevchenko@gmail.com \
    --cc=aaron.ma@canonical.com \
    --cc=admin@kryma.net \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=hdegoede@redhat.com \
    --cc=hn.chen@weidahitech.com \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=jikos@kernel.org \
    --cc=kai.heng.feng@canonical.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=sultan@kerneltoast.com \
    --cc=tnhuynh@apm.com \
    --cc=vicamo.yang@canonical.com \
    --cc=wsa@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.