From mboxrd@z Thu Jan 1 00:00:00 1970 From: mb@lightnvm.io (=?UTF-8?Q?Matias_Bj=c3=b8rling?=) Date: Thu, 22 Feb 2018 08:48:28 +0100 Subject: [PATCH 11/20] lightnvm: pblk: check for supported version In-Reply-To: <1519205218-26994-12-git-send-email-javier@cnexlabs.com> References: <1519205218-26994-1-git-send-email-javier@cnexlabs.com> <1519205218-26994-12-git-send-email-javier@cnexlabs.com> Message-ID: <4b1cc74a-5f7a-2f43-e1ff-5f31445ad709@lightnvm.io> On 02/21/2018 10:26 AM, Javier Gonz?lez wrote: > At this point, only 1.2 spec is supported, thus check for it. Also, > since device-side L2P is only supported in the 1.2 spec, make sure to > only check its value under 1.2. > > Signed-off-by: Javier Gonz?lez > --- > drivers/lightnvm/pblk-init.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c > index 56b4afc27add..ec39800eea42 100644 > --- a/drivers/lightnvm/pblk-init.c > +++ b/drivers/lightnvm/pblk-init.c > @@ -990,9 +990,15 @@ static void *pblk_init(struct nvm_tgt_dev *dev, struct gendisk *tdisk, > struct pblk *pblk; > int ret; > > - if (dev->geo.c.dom & NVM_RSP_L2P) { > + if (geo->c.version != NVM_OCSSD_SPEC_12) { > + pr_err("pblk: OCSSD version not supported (%u)\n", > + geo->c.version); > + return ERR_PTR(-EINVAL); > + } > + > + if (geo->c.version == NVM_OCSSD_SPEC_12 && geo->c.dom & NVM_RSP_L2P) { > pr_err("pblk: host-side L2P table not supported. (%x)\n", > - dev->geo.c.dom); > + geo->c.dom); > return ERR_PTR(-EINVAL); > } > > Looks good to me. I'll pick up when rebased.