Message ID | 20150512163233.26836.98544.stgit@phlsvslse11.ph.intel.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
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@intel.com> > --- > 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; >
PiBUaGlzIHN0YW56YSBoYXMgbm8gbWVhbmluZy4gIHJldCB3YXMgYWxyZWFkeSAwIG9yIHdlIHdv dWxkbid0IGJlIGluIHRoaXMgc2VjdGlvbiwNCj4gc2V0dGluZyBpdCBhZ2FpbiBzZXJ2ZXMgbm8g cHVycG9zZS4gIEp1c3Qga2VlcCB0aGUgb3JpZ2luYWwgY29kZSwgYnV0IHJlcGxhY2UgLQ0KPiBF SU5WQUwgd2l0aCBkZC0+d2NfY29va2llLg0KPiANCg0KRHVoLg0KDQpWMyB3aWxsIGZpeC4NCg0K TWlrZQ0K -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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;
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@intel.com> --- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/qib/qib_wc_x86_64.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html