All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarod Wilson <jwilson@redhat.com>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: linux1394-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	"Kristian Høgsberg" <krh@redhat.com>,
	"Nick Piggin" <nickpiggin@yahoo.com.au>
Subject: Re: [PATCH 4/4] firewire: fw-core: react on bus resets while the config ROM is being fetched
Date: Thu, 24 Jan 2008 11:11:38 -0500	[thread overview]
Message-ID: <4798B8BA.9090203@redhat.com> (raw)
In-Reply-To: <tkrat.9c7056f105b7d6a9@s5r6.in-berlin.de>

Stefan Richter wrote:
> read_rom() obtained a fresh new fw_device.generation for each read
> transaction.  Hence it was able to continue reading in the middle of the
> ROM even if a bus reset happened.  However the device may have modified
> the ROM during the reset.  We would end up with a corrupt fetched ROM
> image then.
> 
> Although all of this is quite unlikely, it is not impossible.
> Therefore we now restart reading the ROM if the bus generation changed.
> 
> Side note:  The barrier in read_rom(), inserted by patch "firewire:
> enforce access order between generation and node ID" is not necessary
> anymore because the sequence of calls
> 	fw_device_init() ->
> 		read_bus_info_block() ->
> 			read_rom()
> 			read_rom()
> 			read_rom()
> 			...
> will take care that generation is read before node_id, won't it?
> 
> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>

Based on a quick read through the code path, coupled with empirical evidence,
yes, it appears safe to remove the barrier in read_rom().

Signed-off-by: Jarod Wilson <jwilson@redhat.com>

-- 
Jarod Wilson
jwilson@redhat.com


  reply	other threads:[~2008-01-24 16:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-01  1:49 [PATCH] firewire: fw-core: enforce write order when updating fw_device.generation Stefan Richter
2007-11-01  1:50 ` [PATCH] firewire: fw-core: react on bus resets while the config ROM is being fetched Stefan Richter
2007-11-01  1:51   ` [PATCH] firewire: fw-sbp2: enforce read order of device generation and node ID Stefan Richter
2007-11-01  3:53 ` [PATCH] firewire: fw-core: enforce write order when updating fw_device.generation Nick Piggin
2007-11-01  9:51   ` dealing with barriers (was Re: [PATCH] firewire: fw-core: enforce write order when updating fw_device.generation) Stefan Richter
2007-11-01 11:32     ` Nick Piggin
2008-01-24  0:52     ` [PATCH 0/4] firewire: order of memory accesses (bus generation vs. node ID) Stefan Richter
2008-01-24  0:53       ` [PATCH 1/4] firewire: fw-sbp2: use device generation, not card generation Stefan Richter
2008-01-24 16:04         ` Jarod Wilson
2008-01-24  0:53       ` [PATCH 2/4] firewire: fw-cdev: " Stefan Richter
2008-01-24 16:05         ` Jarod Wilson
2008-01-24  0:54       ` [PATCH 3/4] firewire: enforce access order between generation and node ID Stefan Richter
2008-01-24  4:55         ` Nick Piggin
2008-01-24 16:06         ` Jarod Wilson
2008-01-25 16:35           ` Stefan Richter
2008-01-25 17:57             ` Stefan Richter
     [not found]               ` <59ad55d30801251024j6ff43953tb86aaa52fdea5ec9@mail.gmail.com>
2008-01-25 22:25                 ` Stefan Richter
2008-01-24  0:55       ` [PATCH 4/4] firewire: fw-core: react on bus resets while the config ROM is being fetched Stefan Richter
2008-01-24 16:11         ` Jarod Wilson [this message]
2008-01-24 19:26           ` Jarod Wilson
2008-01-25 16:53             ` [PATCH 4/4 update] " Stefan Richter
2008-01-25 17:16               ` Jarod Wilson
2008-01-25 17:21                 ` Stefan Richter

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=4798B8BA.9090203@redhat.com \
    --to=jwilson@redhat.com \
    --cc=krh@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=nickpiggin@yahoo.com.au \
    --cc=stefanr@s5r6.in-berlin.de \
    /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.