public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [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¾™Ú³9˜uÀ¦æå‰È&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