* [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
* 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
* 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