lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 62/88] net/qla3xxx: fix an error code in ql_adapter_up()
    Date
    From: Dan Carpenter <dan.carpenter@oracle.com>

    commit d17b9737c2bc09b4ac6caf469826e5a7ce3ffab7 upstream.

    The ql_wait_for_drvr_lock() fails and returns false, then this
    function should return an error code instead of returning success.

    The other problem is that the success path prints an error message
    netdev_err(ndev, "Releasing driver lock\n"); Delete that and
    re-order the code a little to make it more clear.

    Fixes: 5a4faa873782 ("[PATCH] qla3xxx NIC driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20211207082416.GA16110@kili
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/qlogic/qla3xxx.c | 19 +++++++++----------
    1 file changed, 9 insertions(+), 10 deletions(-)

    --- a/drivers/net/ethernet/qlogic/qla3xxx.c
    +++ b/drivers/net/ethernet/qlogic/qla3xxx.c
    @@ -3495,20 +3495,19 @@ static int ql_adapter_up(struct ql3_adap

    spin_lock_irqsave(&qdev->hw_lock, hw_flags);

    - err = ql_wait_for_drvr_lock(qdev);
    - if (err) {
    - err = ql_adapter_initialize(qdev);
    - if (err) {
    - netdev_err(ndev, "Unable to initialize adapter\n");
    - goto err_init;
    - }
    - netdev_err(ndev, "Releasing driver lock\n");
    - ql_sem_unlock(qdev, QL_DRVR_SEM_MASK);
    - } else {
    + if (!ql_wait_for_drvr_lock(qdev)) {
    netdev_err(ndev, "Could not acquire driver lock\n");
    + err = -ENODEV;
    goto err_lock;
    }

    + err = ql_adapter_initialize(qdev);
    + if (err) {
    + netdev_err(ndev, "Unable to initialize adapter\n");
    + goto err_init;
    + }
    + ql_sem_unlock(qdev, QL_DRVR_SEM_MASK);
    +
    spin_unlock_irqrestore(&qdev->hw_lock, hw_flags);

    set_bit(QL_ADAPTER_UP, &qdev->flags);

    \
     
     \ /
      Last update: 2021-12-13 10:59    [W:4.155 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site