lkml.org 
[lkml]   [2022]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6.0 829/862] nvme: copy firmware_rev on each init
    Date
    From: Keith Busch <kbusch@kernel.org>

    [ Upstream commit a8eb6c1ba48bddea82e8d74cbe6e119f006be97d ]

    The firmware revision can change on after a reset so copy the most
    recent info each time instead of just the first time, otherwise the
    sysfs firmware_rev entry may contain stale data.

    Reported-by: Jeff Lien <jeff.lien@wdc.com>
    Signed-off-by: Keith Busch <kbusch@kernel.org>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Reviewed-by: Chao Leng <lengchao@huawei.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/nvme/host/core.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
    index 7991d28e6a6a..59e4b188fc71 100644
    --- a/drivers/nvme/host/core.c
    +++ b/drivers/nvme/host/core.c
    @@ -2889,7 +2889,6 @@ static int nvme_init_subsystem(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id)
    nvme_init_subnqn(subsys, ctrl, id);
    memcpy(subsys->serial, id->sn, sizeof(subsys->serial));
    memcpy(subsys->model, id->mn, sizeof(subsys->model));
    - memcpy(subsys->firmware_rev, id->fr, sizeof(subsys->firmware_rev));
    subsys->vendor_id = le16_to_cpu(id->vid);
    subsys->cmic = id->cmic;

    @@ -3108,6 +3107,8 @@ static int nvme_init_identify(struct nvme_ctrl *ctrl)
    ctrl->quirks |= core_quirks[i].quirks;
    }
    }
    + memcpy(ctrl->subsys->firmware_rev, id->fr,
    + sizeof(ctrl->subsys->firmware_rev));

    if (force_apst && (ctrl->quirks & NVME_QUIRK_NO_DEEPEST_PS)) {
    dev_warn(ctrl->device, "forcibly allowing all power states due to nvme_core.force_apst -- use at your own risk\n");
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-10-19 11:43    [W:4.037 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site