linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bruce Stenning <b.stenning@indigovision.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Mark Lord <kernel@teksavvy.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>
Subject: RE: sata_mv port lockup on hotplug (kernel 2.6.38.2)
Date: Tue, 26 Apr 2011 14:13:22 +0100	[thread overview]
Message-ID: <C1438B59050E1B4C9482FF3266AD6BA32C77554BDC@gretna.indigovision.com> (raw)
In-Reply-To: <20110425162242.GB30828@mtj.dyndns.org>

Tejun wrote:
> ata4 is reporting link down and the device is detached and port
> disabled afterwards.  Doesn't seem to have much to do with
> freezing/thawing?

After all processing of a normal unplug event has completed, the port is left
thawed (and the irq enabled) to allow future hotplug events on this port to be
actioned.  In the case of the port lockups that I have seen the port appears
to be left frozen, with the irq disabled, and I am hypothesising that this is
due to a race between the freeze and the thaw.

Below is some additional tracing leading up to a port lockup, with some more
DPRINTK statements added.  The port freeze appears to be happening after the
port thaw.  The irq mask writes that are output by mv_set_main_irq_mask seem
to show the irqs left masked off.

...
__ata_port_freeze: ata4 port frozen
ata_port_schedule_eh: port EH scheduled
mv_set_main_irq_mask: skipped write in mv_set_main_irq_mask: 00040015, 00040015
__ata_port_freeze: ata4 port frozen
ata4: hard resetting link
sata_link_hardreset: ENTER
sata_link_hardreset: EXIT, rc=0
ata_sff_softreset: ENTER
ata_sff_softreset: about to softreset, devmask=1
ata_bus_softreset: ata4: bus reset via SRST
ata_dev_classify: found ATA device by sig
ata_sff_softreset: EXIT, classes[0]=1 [1]=0
mv_eh_thaw: ENTER
00040055
mv_eh_thaw: EXIT
ata_eh_thaw_port: ata4 port thawed
ata_std_postreset: ENTER
00040015
__ata_port_freeze: ata4 port frozen
ata_port_schedule_eh: port EH scheduled
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata_std_postreset: EXIT
ata_eh_revalidate_and_attach: ENTER
ata_eh_revalidate_and_attach: EXIT rc=-5
ata4.00: disabled
ata_eh_revalidate_and_attach: ENTER
ata_eh_recover: EXIT, rc=0
ata4: EH complete
ata_scsi_error: EXIT
ata_scsi_hotplug: ENTER
ata4.00: detaching (SCSI 3:0:0:0)
ata_scsi_hotplug: EXIT

The port is unresponsive at this point.


And another lockup, with tracing showing entering and leaving mv_eh_freeze:

...
ata_sff_tf_load: hob: feat 0x0 nsect 0x0, lba 0x0 0x0 0x0
ata_sff_tf_load: feat 0x0 nsect 0x0 lba 0x0 0x0 0x0
ata_sff_tf_load: device 0xE0
ata_sff_exec_command: ata4: cmd 0x27
mv_eh_freeze: ENTER
00040015
mv_eh_freeze: EXIT
__ata_port_freeze: ata4 port frozen
ata_sff_flush_pio_task: ENTER
ata4.00: failed to read native max address (err_mask=0x1)
ata4.00: HPA support seems broken, skipping HPA handling
ata4.00: revalidation failed (errno=-5)
ata4.00: disabled
mv_eh_freeze: ENTER
mv_set_main_irq_mask: skipped write in mv_set_main_irq_mask: 00040015, 00040015
mv_eh_freeze: EXIT
__ata_port_freeze: ata4 port frozen
ata4: hard resetting link
sata_link_hardreset: ENTER
sata_link_hardreset: EXIT, rc=0
ata_sff_softreset: ENTER
ata_sff_softreset: about to softreset, devmask=1
ata_bus_softreset: ata4: bus reset via SRST
ata_dev_classify: found ATA device by sig
ata_sff_softreset: EXIT, classes[0]=1 [1]=0
mv_eh_thaw: ENTER
00040055
mv_eh_thaw: EXIT
mv_eh_freeze: ENTER
00040015
mv_eh_freeze: EXIT
__ata_port_freeze: ata4 port frozen
ata_port_schedule_eh: port EH scheduled
ata_eh_thaw_port: ata4 port thawed
ata_std_postreset: ENTER
ata4: SATA link down (SStatus 0 SControl 310)
ata_std_postreset: EXIT
ata_eh_revalidate_and_attach: ENTER
ata_eh_recover: EXIT, rc=0
ata4: EH complete
ata_scsi_error: EXIT
ata_scsi_hotplug: ENTER
ata4.00: detaching (SCSI 3:0:0:0)
ata_scsi_hotplug: EXIT

The port is unresponsive at this point.

The output shows "ata_eh_thaw_port: ata4 port thawed" after the
"__ata_port_freeze: ata4 port frozen", but the tracing suggests that the actual
work enabling the irqs has been carried out before the irqs are subsequently
disabled.


Bruce.


Latest News at: http://www.indigovision.com/index.php/en/news.html

  reply	other threads:[~2011-04-26 13:13 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <C1438B59050E1B4C9482FF3266AD6BA32C7493557A@gretna.indigovision.com>
     [not found] ` <C1438B59050E1B4C9482FF3266AD6BA32C7493559F@gretna.indigovision.com>
2011-04-06 21:00   ` sata_mv port lockup on hotplug (kernel 2.6.38.2) Alejandro Riveira Fernández
     [not found]   ` <4D9CD275.9000002@teksavvy.com>
2011-04-08 12:43     ` Bruce Stenning
2011-04-09  0:48       ` Mark Lord
2011-04-12 10:30         ` Bruce Stenning
2011-04-12 14:07           ` Mark Lord
2011-04-12 14:55             ` Mark Lord
2011-04-23  0:56               ` Tejun Heo
2011-04-25 11:07                 ` Bruce Stenning
2011-04-25 11:30                   ` Tejun Heo
2011-04-26 18:27                     ` Mark Lord
2011-04-25 14:54                 ` Bruce Stenning
2011-04-25 16:22                   ` Tejun Heo
2011-04-26 13:13                     ` Bruce Stenning [this message]
2011-04-26 13:50                       ` Tejun Heo
2011-04-26 15:41                         ` Bruce Stenning
2011-04-26 15:52                           ` Tejun Heo
2011-04-26 16:05                             ` Bruce Stenning
2011-04-30 14:01                               ` Tejun Heo
2011-05-17 15:30                                 ` Bruce Stenning
2011-05-25  9:41                                   ` Tejun Heo
2011-05-25 13:36                                     ` Bruce Stenning
2011-05-25 22:27                                       ` Mark Lord
2011-05-30 13:07                                         ` Bruce Stenning
2011-05-31  2:04                                           ` Mark Lord
2011-06-10 12:28                                     ` Mark Lord
2011-06-10 14:01                                       ` Tejun Heo
2011-06-10 17:32                                         ` Mark Lord
2011-06-10 17:39                                           ` Jeff Garzik
2011-06-10 20:49                                             ` Mark Lord
2011-06-10 21:20                                               ` Jeff Garzik
2011-06-11 12:19                                           ` Tejun Heo
2011-06-12 17:10                                             ` Mark Lord
2011-06-13 10:48                                               ` Tejun Heo
2011-08-29 15:49                                                 ` Bruce Stenning
2011-09-02  1:13                                                   ` Tejun Heo
2011-09-02 16:22                                                     ` Bruce Stenning
2011-09-06  3:45                                                       ` Tejun Heo
2011-09-06 12:19                                                         ` Bruce Stenning
2011-09-06 16:33                                                           ` Tejun Heo
2011-09-06 16:42                                                             ` Tejun Heo
2011-09-07 12:09                                                               ` Bruce Stenning
2011-09-08  1:16                                                                 ` Tejun Heo
2011-09-06 12:26                                                         ` Bruce Stenning
2011-09-06 14:40                                                         ` Bruce Stenning
2011-09-06 15:22                                                         ` Bruce Stenning
2011-04-26 18:37                           ` Mark Lord
2011-04-13 15:10           ` Mark Lord
2011-04-13 16:13             ` Bruce Stenning
2011-04-14 16:50             ` Bruce Stenning
2011-04-15  0:28               ` Mark Lord
2011-04-15 13:21                 ` Bruce Stenning
2011-04-15 15:36                   ` Mark Lord
2011-04-18 10:30                     ` Bruce Stenning
2011-04-23  0:56                     ` Tejun Heo
2011-04-15  3:15       ` Mikael Abrahamsson
2011-04-15  3:32         ` Mark Lord
2011-04-15  7:43           ` Mikael Abrahamsson
2011-04-15 12:35             ` Mark Lord
2011-04-15 14:04               ` Mikael Abrahamsson
2011-04-15 15:30                 ` Mark Lord

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=C1438B59050E1B4C9482FF3266AD6BA32C77554BDC@gretna.indigovision.com \
    --to=b.stenning@indigovision.com \
    --cc=htejun@gmail.com \
    --cc=kernel@teksavvy.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.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 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).