From: Tejun Heo <tj@kernel.org>
To: Yu Liu <liuyu.ac@gmail.com>
Cc: linux-ide@vger.kernel.org, Shane Huang <shane.huang@amd.com>
Subject: Re: AHCI bug: a lockup in ahci_interrupt with fbs enabled pmp
Date: Thu, 6 Jun 2013 14:47:48 -0700 [thread overview]
Message-ID: <20130606214748.GL5045@htj.dyndns.org> (raw)
In-Reply-To: <CAASYz_TkwEvVeKhcSedAfdxdGmRLnONnSrmhnHNAE2nfy3AABg@mail.gmail.com>
Cc'ing Shane.
On Thu, Jun 06, 2013 at 02:33:20PM +0800, Yu Liu wrote:
> Hi all,
>
> I met a lockup while I was running IO test on disks connected
> with an fbs enabled pmp board and an ahci host.
>
> looks like the reason for the lockup is as below:
> ahci_interrert()
> | spin_lock(&host->lock); // get host->lock
> | ahci_port_intr()
> | ahci_error_intr() // status & PORT_IRQ_ERROR
> | ata_link_online() // if fbs_enabled
> | sata_scr_read()
> | sata_pmp_scr_read() // using pmp
> | ata_exec_internal()
> | ata_exec_internal_sg()
> | spin_lock_irqsave(ap->lock, flags);
> since ap->lock == &host->lock,
> these two spin_lock get conflict
>
> Can someone confirm the issue? Did I miss anything?
Yeah, it's a bug. ata_link_online() can't be called from interrupt
handlers. Shane? Can you please look into it? What's the purpose of
ata_link_online() in ahci_error_intr()?
Thanks.
--
tejun
next prev parent reply other threads:[~2013-06-06 21:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 6:33 AHCI bug: a lockup in ahci_interrupt with fbs enabled pmp Yu Liu
2013-06-06 21:47 ` Tejun Heo [this message]
2013-06-07 4:29 ` Huang, Shane
2013-06-07 22:56 ` Tejun Heo
2013-06-08 5:59 ` Huang, Shane
2013-06-08 6:01 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2013-06-06 6:31 AHCI bug?: " Yu Liu
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=20130606214748.GL5045@htj.dyndns.org \
--to=tj@kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=liuyu.ac@gmail.com \
--cc=shane.huang@amd.com \
/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).