mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-21 15:12:04 +00:00
sata: ahsata: Fix wrong operand for checking SERR DIAG_X
Fix coverity issue CID 3261683: Wrong operator used (CONSTANT_EXPRESSION_RESULT) operator_confusion: ({...; __v;}) | 67108864 is always 1/true regardless of the values of its operand. This occurs as the logical operand of ! When DIAG_X is set, the PHY COMINIT signal is detected, so should use '&' to check whether it is set. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
bf38cbf9a2
commit
87e2cb530f
1 changed files with 1 additions and 1 deletions
|
@ -223,7 +223,7 @@ static int ahci_host_init(struct ahci_uc_priv *uc_priv)
|
|||
|
||||
/* Wait for COMINIT bit 26 (DIAG_X) in SERR */
|
||||
timeout = 1000;
|
||||
while (!(readl(&port_mmio->serr) | SATA_PORT_SERR_DIAG_X)
|
||||
while (!(readl(&port_mmio->serr) & SATA_PORT_SERR_DIAG_X)
|
||||
&& --timeout)
|
||||
;
|
||||
if (timeout <= 0) {
|
||||
|
|
Loading…
Reference in a new issue