* [PATCH V2] IB/qib: fix test of unsigned variable
@ 2015-05-12 16:32 Mike Marciniszyn
[not found] ` <20150512163233.26836.98544.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Mike Marciniszyn @ 2015-05-12 16:32 UTC (permalink / raw)
To: roland-BHEL68pLQRGGvPXPguhicg
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford
Commit d4988623cc60 ("IB/qib: use arch_phys_wc_add()")
adjusted mtrr inititialization to use the new interface.
Unfortunately, the new interface returns a signed
value and the patch tested the unsigned wc_cookie.
Fix the issue by changing the type of wc_cookie to int. For
the success case the ret is changed to zero to avoid
a warning from the caller. For failure wc_cookie
is used as the ret.
Signed-off-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/qib/qib.h | 2 +-
drivers/infiniband/hw/qib/qib_wc_x86_64.c | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h
index ba5173e2..7df16f7 100644
--- a/drivers/infiniband/hw/qib/qib.h
+++ b/drivers/infiniband/hw/qib/qib.h
@@ -903,7 +903,7 @@ struct qib_devdata {
/* PCI Device ID (here for NodeInfo) */
u16 deviceid;
/* for write combining settings */
- unsigned long wc_cookie;
+ int wc_cookie;
unsigned long wc_base;
unsigned long wc_len;
diff --git a/drivers/infiniband/hw/qib/qib_wc_x86_64.c b/drivers/infiniband/hw/qib/qib_wc_x86_64.c
index 6d61ef9..2f2e15a 100644
--- a/drivers/infiniband/hw/qib/qib_wc_x86_64.c
+++ b/drivers/infiniband/hw/qib/qib_wc_x86_64.c
@@ -117,8 +117,12 @@ int qib_enable_wc(struct qib_devdata *dd)
if (!ret) {
dd->wc_cookie = arch_phys_wc_add(pioaddr, piolen);
- if (dd->wc_cookie < 0)
- ret = -EINVAL;
+ if (dd->wc_cookie >= 0)
+ /* insure no warning on success */
+ ret = 0;
+ else
+ /* use error from routine */
+ ret = dd->wc_cookie;
}
return ret;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 3+ messages in thread[parent not found: <20150512163233.26836.98544.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>]
* Re: [PATCH V2] IB/qib: fix test of unsigned variable [not found] ` <20150512163233.26836.98544.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org> @ 2015-05-12 16:45 ` Doug Ledford [not found] ` <1431449114.43876.57.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Doug Ledford @ 2015-05-12 16:45 UTC (permalink / raw) To: Mike Marciniszyn Cc: roland-BHEL68pLQRGGvPXPguhicg, linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 2160 bytes --] On Tue, 2015-05-12 at 12:32 -0400, Mike Marciniszyn wrote: > Commit d4988623cc60 ("IB/qib: use arch_phys_wc_add()") > adjusted mtrr inititialization to use the new interface. > > Unfortunately, the new interface returns a signed > value and the patch tested the unsigned wc_cookie. > > Fix the issue by changing the type of wc_cookie to int. For > the success case the ret is changed to zero to avoid > a warning from the caller. For failure wc_cookie > is used as the ret. > > Signed-off-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > --- > drivers/infiniband/hw/qib/qib.h | 2 +- > drivers/infiniband/hw/qib/qib_wc_x86_64.c | 8 ++++++-- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h > index ba5173e2..7df16f7 100644 > --- a/drivers/infiniband/hw/qib/qib.h > +++ b/drivers/infiniband/hw/qib/qib.h > @@ -903,7 +903,7 @@ struct qib_devdata { > /* PCI Device ID (here for NodeInfo) */ > u16 deviceid; > /* for write combining settings */ > - unsigned long wc_cookie; > + int wc_cookie; > unsigned long wc_base; > unsigned long wc_len; > > diff --git a/drivers/infiniband/hw/qib/qib_wc_x86_64.c b/drivers/infiniband/hw/qib/qib_wc_x86_64.c > index 6d61ef9..2f2e15a 100644 > --- a/drivers/infiniband/hw/qib/qib_wc_x86_64.c > +++ b/drivers/infiniband/hw/qib/qib_wc_x86_64.c > @@ -117,8 +117,12 @@ int qib_enable_wc(struct qib_devdata *dd) > > if (!ret) { > dd->wc_cookie = arch_phys_wc_add(pioaddr, piolen); > - if (dd->wc_cookie < 0) > - ret = -EINVAL; > + if (dd->wc_cookie >= 0) > + /* insure no warning on success */ > + ret = 0; This stanza has no meaning. ret was already 0 or we wouldn't be in this section, setting it again serves no purpose. Just keep the original code, but replace -EINVAL with dd->wc_cookie. > + else > + /* use error from routine */ > + ret = dd->wc_cookie; > } > > return ret; > -- Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> GPG KeyID: 0E572FDD [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <1431449114.43876.57.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* RE: [PATCH V2] IB/qib: fix test of unsigned variable [not found] ` <1431449114.43876.57.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2015-05-12 17:38 ` Marciniszyn, Mike 0 siblings, 0 replies; 3+ messages in thread From: Marciniszyn, Mike @ 2015-05-12 17:38 UTC (permalink / raw) To: Doug Ledford Cc: roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="utf-8", Size: 367 bytes --] > This stanza has no meaning. ret was already 0 or we wouldn't be in this section, > setting it again serves no purpose. Just keep the original code, but replace - > EINVAL with dd->wc_cookie. > Duh. V3 will fix. Mike N§²æìr¸yúèØb²X¬¶Ç§vØ^)Þº{.nÇ+·¥{±Ù{ayº\x1dÊÚë,j\a¢f£¢·h»öì\x17/oSc¾Ú³9uÀ¦æåÈ&jw¨®\x03(éÝ¢j"ú\x1a¶^[m§ÿïêäz¹Þàþf£¢·h§~m ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-05-12 17:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-12 16:32 [PATCH V2] IB/qib: fix test of unsigned variable Mike Marciniszyn
[not found] ` <20150512163233.26836.98544.stgit-K+u1se/DcYrLESAwzcoQNrvm/XP+8Wra@public.gmane.org>
2015-05-12 16:45 ` Doug Ledford
[not found] ` <1431449114.43876.57.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-12 17:38 ` Marciniszyn, Mike
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox