projects
/
platform
/
kernel
/
u-boot.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8c64347
)
drivers: ata: ahci: update max id if it is more than available ports
author
Suneel Garapati
<sgarapati@marvell.com>
Fri, 26 Mar 2021 00:07:36 +0000
(17:07 -0700)
committer
Tom Rini
<trini@konsulko.com>
Tue, 20 Apr 2021 11:31:12 +0000
(07:31 -0400)
After check for maximum between max id and available ports, also check
if available port count is less than max id and update.
In the case of the CN8030 OcteonTX SoC max_id needs to be reduced to
the number of ports found otherwise the following occurs on a scan:
GW6404-B> scsi scan
scanning bus for devices...
Target spinup took 0 ms.
AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode
flags: 64bit ncq ilck stag pm led clo only pmp fbss pio slum part ccc
apst
Device 0: (0:0) Vendor: ATA Prod.: SanDisk SD8SFAT0 Rev: Z233
Type: Hard Disk
Capacity: 61057.3 MB = 59.6 GB (
125045424
x 512)
"Synchronous Abort" handler, esr 0x96000006
elr:
000000000052f824
lr :
000000000052fa10
(reloc)
elr:
000000007fee9824
lr :
000000007fee9a10
x0 :
0000000000000001
x1 :
0000000000000001
x2 :
000000007bea3528
x3 :
000000007bea3580
x4 :
0000000000000200
x5 :
0000000000000000
x6 :
0000000000000002
x7 :
000000007bea3540
x8 :
00000000fffffff8
x9 :
0000000000000008
x10:
00000000000186a0
x11:
000000000000000d
x12:
0000000000000006
x13:
000000000001869f
x14:
0000000000000007
x15:
00000000ffffffff
x16:
000000007ff439a5
x17:
000000007ff5730c
x18:
000000007bea9de0
x19:
000000007ff7a580
x20:
000000007bec79f8
x21:
0000000000000000
x22:
000000007bea3580
x23:
0000000000000000
x24:
0000000000000000
x25:
000000007bec7a00
x26:
00000000ffffffc0
x27:
000000007bec79d0
x28:
000000007beb51c0
x29:
000000007bea3480
Code:
91246800
940130c2
12800000
1400004f
(
b9402ae0
)
Resetting CPU ...
Signed-off-by: Suneel Garapati <sgarapati@marvell.com>
Reviewed-by: Stefan Roese <sr@denx.de>
drivers/ata/ahci.c
patch
|
blob
|
history
diff --git
a/drivers/ata/ahci.c
b/drivers/ata/ahci.c
index
2ef21ec
..
98b2882
100644
(file)
--- a/
drivers/ata/ahci.c
+++ b/
drivers/ata/ahci.c
@@
-1190,6
+1190,9
@@
int ahci_probe_scsi(struct udevice *ahci_dev, ulong base)
*/
uc_plat->max_id = max_t(unsigned long, uc_priv->n_ports,
uc_plat->max_id);
+ /* If port count is less than max_id, update max_id */
+ if (uc_priv->n_ports < uc_plat->max_id)
+ uc_plat->max_id = uc_priv->n_ports;
return 0;
}