From 5d831ad1fcf56d664580de7ca7eef879ed91448f Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Tue, 1 Feb 2011 16:18:08 -0500 Subject: [PATCH] --- yaml --- r: 286233 b: refs/heads/master c: 51814232ecae90f888c902e252306df8d017f0dd h: refs/heads/master i: 286231: 9329473155fac21342c6d1b5a14a1d556d855365 v: v3 --- [refs] | 2 +- trunk/drivers/block/nvme.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 207edfb6b43a..7e2d7fc2e200 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a53295b6998f62d961c29e54051c1cf1d738c2b3 +refs/heads/master: 51814232ecae90f888c902e252306df8d017f0dd diff --git a/trunk/drivers/block/nvme.c b/trunk/drivers/block/nvme.c index 40fb2e1bdfe4..12e37c1cf057 100644 --- a/trunk/drivers/block/nvme.c +++ b/trunk/drivers/block/nvme.c @@ -58,6 +58,9 @@ struct nvme_dev { struct msix_entry *entry; struct nvme_bar __iomem *bar; struct list_head namespaces; + char serial[20]; + char model[40]; + char firmware_rev[8]; }; /* @@ -979,6 +982,7 @@ static int __devinit nvme_dev_add(struct nvme_dev *dev) { int res, nn, i; struct nvme_ns *ns, *next; + struct nvme_id_ctrl *ctrl; void *id; dma_addr_t dma_addr; struct nvme_command cid, crt; @@ -1003,7 +1007,11 @@ static int __devinit nvme_dev_add(struct nvme_dev *dev) goto out_free; } - nn = le32_to_cpup(&((struct nvme_id_ctrl *)id)->nn); + ctrl = id; + nn = le32_to_cpup(&ctrl->nn); + memcpy(dev->serial, ctrl->sn, sizeof(ctrl->sn)); + memcpy(dev->model, ctrl->mn, sizeof(ctrl->mn)); + memcpy(dev->firmware_rev, ctrl->fr, sizeof(ctrl->fr)); cid.identify.cns = 0; memset(&crt, 0, sizeof(crt));