]> git.hungrycats.org Git - linux/commitdiff
liquidio: fix bug in soft reset failure detection
authorDerek Chickles <derek.chickles@cavium.com>
Wed, 5 Jul 2017 18:59:27 +0000 (11:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Jul 2017 05:00:07 +0000 (07:00 +0200)
[ Upstream commit 05a6b4cae8c0cc1680c9dd33a97a49a13c0f01bc ]

The code that detects a failed soft reset of Octeon is comparing the wrong
value against the reset value of the Octeon SLI_SCRATCH_1 register,
resulting in an inability to detect a soft reset failure.  Fix it by using
the correct value in the comparison, which is any non-zero value.

Fixes: f21fb3ed364b ("Add support of Cavium Liquidio ethernet adapters")
Fixes: c0eab5b3580a ("liquidio: CN23XX firmware download")
Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Satanand Burla <satananda.burla@cavium.com>
Signed-off-by: Raghu Vatsavayi <raghu.vatsavayi@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
drivers/net/ethernet/cavium/liquidio/cn66xx_device.c

index 962dcbcef8b5a05d93c42960532923daf22dfe93..0dcda0b9b0cc88bf3a2df105c67fa05d4e78f09d 100644 (file)
@@ -221,7 +221,7 @@ static int cn23xx_pf_soft_reset(struct octeon_device *oct)
        /* Wait for 100ms as Octeon resets. */
        mdelay(100);
 
-       if (octeon_read_csr64(oct, CN23XX_SLI_SCRATCH1) == 0x1234ULL) {
+       if (octeon_read_csr64(oct, CN23XX_SLI_SCRATCH1)) {
                dev_err(&oct->pci_dev->dev, "OCTEON[%d]: Soft reset failed\n",
                        oct->octeon_id);
                return 1;
index bdec051107a6bff92d3c4b1a0b708cb8f7c44116..d62a5096768e9f48a3746ff4c558b13aa816935d 100644 (file)
@@ -44,7 +44,7 @@ int lio_cn6xxx_soft_reset(struct octeon_device *oct)
        /* Wait for 10ms as Octeon resets. */
        mdelay(100);
 
-       if (octeon_read_csr64(oct, CN6XXX_SLI_SCRATCH1) == 0x1234ULL) {
+       if (octeon_read_csr64(oct, CN6XXX_SLI_SCRATCH1)) {
                dev_err(&oct->pci_dev->dev, "Soft reset failed\n");
                return 1;
        }