lkml.org 
[lkml]   [2017]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.12 09/84] liquidio: fix bug in soft reset failure detection
    Date
    4.12-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Derek Chickles <derek.chickles@cavium.com>


    [ 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 | 2 +-
    drivers/net/ethernet/cavium/liquidio/cn66xx_device.c | 2 +-
    2 files changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
    +++ b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
    @@ -221,7 +221,7 @@ static int cn23xx_pf_soft_reset(struct o
    /* 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;
    --- a/drivers/net/ethernet/cavium/liquidio/cn66xx_device.c
    +++ b/drivers/net/ethernet/cavium/liquidio/cn66xx_device.c
    @@ -44,7 +44,7 @@ int lio_cn6xxx_soft_reset(struct octeon_
    /* 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;
    }

    \
     
     \ /
      Last update: 2017-07-19 12:05    [W:4.914 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site