Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1505927 > unrolled thread
| Started by | Jarkko Nikula <jarkko.nikula@linux.intel.com> |
|---|---|
| First post | 2016-10-21 15:20 +0200 |
| Last post | 2016-10-21 16:10 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
Regression with 0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors") Jarkko Nikula <jarkko.nikula@linux.intel.com> - 2016-10-21 15:20 +0200
Re: Regression with 0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors") Christoph Hellwig <hch@lst.de> - 2016-10-21 15:30 +0200
Re: Regression with 0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors") Jarkko Nikula <jarkko.nikula@linux.intel.com> - 2016-10-21 16:10 +0200
| From | Jarkko Nikula <jarkko.nikula@linux.intel.com> |
|---|---|
| Date | 2016-10-21 15:20 +0200 |
| Subject | Regression with 0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors") |
| Message-ID | <suHTQ-60l-37@gated-at.bofh.it> |
Hi
SATA stopped working on Intel SoCs that have single SATA port after
v4.9-rc1:
[ 8.705008] ata1.00: qc timeout (cmd 0x27)
[ 8.709164] ata1.00: failed to read native max address (err_mask=0x4)
[ 8.715557] ata1.00: HPA support seems broken, skipping HPA handling
[ 9.029754] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 14.337028] ata1.00: qc timeout (cmd 0xef)
[ 14.341185] ata1.00: failed to enable AA (error_mask=0x4)
[ 14.346557] ata1: limiting SATA link speed to 3.0 Gbps
[ 14.666922] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[ 14.684359] ata1.00: ATA-9: INTEL SSDSC2BW240A4, DC32, max UDMA/133
[ 14.690650] ata1.00: 468862128 sectors, multi 16: LBA48 NCQ (depth 31/32)
[ 19.969116] ata1.00: qc timeout (cmd 0x47)
[ 19.973307] ata1.00: READ LOG DMA EXT failed, trying unqueued
[ 19.979026] ata1.00: failed to set xfermode (err_mask=0x40)
[ 19.984559] ata1.00: disabled
[ 19.987527] ata1: hard resetting link
[ 20.306943] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[ 20.313163] ata1: EH complete
I bisected this into commit 0b9e2988ab22 ("ahci: use
pci_alloc_irq_vectors").
I did some debugging on a few machines (Skylake, Broxton, Kaby Lake and
Bay Trail based) in our lab.
Before 0b9e2988ab22:
- All of those machines are using MSI for AHCI
- Number of SATA ports 1-4
- pci_msi_vec_count() returns 1 for all machines
After 0b9e2988ab22:
- SATA stopped working on machines with single port:
* pci_alloc_irq_vectors() returns 1
* Allocates the same MSI irq number as before but handler name
is (null)
- With >1 ports AHCI defaults now to IO-APIC but continues working
* pci_alloc_irq_vectors() returns -EINVAL from
__pci_enable_msi_range() due if (nvec < minvec) test.
--
Jarkko
[toc] | [next] | [standalone]
| From | Christoph Hellwig <hch@lst.de> |
|---|---|
| Date | 2016-10-21 15:30 +0200 |
| Subject | Re: Regression with 0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors") |
| Message-ID | <suI3w-63W-49@gated-at.bofh.it> |
| In reply to | #1505927 |
Hi Jarkko, please try the two fixes queue up in the libata tree for this: https://git.kernel.org/cgit/linux/kernel/git/tj/libata.git/log/?h=for-4.9-fixes
[toc] | [prev] | [next] | [standalone]
| From | Jarkko Nikula <jarkko.nikula@linux.intel.com> |
|---|---|
| Date | 2016-10-21 16:10 +0200 |
| Message-ID | <suIGj-6Bt-263@gated-at.bofh.it> |
| In reply to | #1505945 |
On 10/21/2016 04:27 PM, Christoph Hellwig wrote:
> Hi Jarkko,
>
> please try the two fixes queue up in the libata tree for this:
>
> https://git.kernel.org/cgit/linux/kernel/git/tj/libata.git/log/?h=for-4.9-fixes
>
Great! Commit 17a51f12cfbd ("ahci: only try to use multi-MSI mode if
there is more than 1 port") fixed the non-working SATA on a machine with
single port and it continues using MSI.
Another machine with more ports still uses IO-APIC (was using MSI before
0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors")). Then I applied
a478b097474c ("ahci: fix nvec check") but didn't see changes.
--
Jarkko
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web