From 1b6d99a4a7c2ff1f25dd8cde0bb8e4a290c8fec6 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Fri, 24 Aug 2012 10:27:54 +0000 Subject: [PATCH] --- yaml --- r: 328575 b: refs/heads/master c: 9b796d06d5d1b1e85ae2316a283ea11dd739ef96 h: refs/heads/master i: 328573: b3aa56ebf501dad837324fe11032a03379ff543b 328571: 66d33ff018f4b55f055f9bdab442ee38f073d2c3 328567: 476f7600cd348a9be57f8c0b8969bb6caced9cf6 328559: b72c62b4c70c86a1259a13f6e11a5675cf3e9ab6 328543: 060aa9f9200943648ea25f2e5341fe859466b0f2 328511: 8ddfb18879f756777999b54ccd6ce69c8c18722d 328447: b003e5e59922d0e9458ebf4af7243454989672f3 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/qib/qib_common.h | 14 +------------- trunk/drivers/infiniband/hw/qib/qib_driver.c | 3 +-- trunk/drivers/infiniband/hw/qib/qib_keys.c | 5 ++--- trunk/drivers/infiniband/hw/qib/qib_verbs.c | 2 +- trunk/drivers/infiniband/ulp/srp/ib_srp.c | 2 +- 6 files changed, 7 insertions(+), 21 deletions(-) diff --git a/[refs] b/[refs] index 38d01020565c..55865c61968d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c00aaa1a0221a22153071fcb2f320e2ebaecc2fd +refs/heads/master: 9b796d06d5d1b1e85ae2316a283ea11dd739ef96 diff --git a/trunk/drivers/infiniband/hw/qib/qib_common.h b/trunk/drivers/infiniband/hw/qib/qib_common.h index d39e0183ff82..145da4040883 100644 --- a/trunk/drivers/infiniband/hw/qib/qib_common.h +++ b/trunk/drivers/infiniband/hw/qib/qib_common.h @@ -285,6 +285,7 @@ struct qib_base_info { #ifndef QIB_KERN_TYPE #define QIB_KERN_TYPE 0 +#define QIB_IDSTR "QLogic kernel.org driver" #endif /* @@ -300,19 +301,6 @@ struct qib_base_info { */ #define QIB_KERN_SWVERSION ((QIB_KERN_TYPE << 31) | QIB_USER_SWVERSION) -/* - * Define the driver version number. This is something that refers only - * to the driver itself, not the software interfaces it supports. - */ -#define QIB_DRIVER_VERSION_BASE "1.11" - -/* create the final driver version string */ -#ifdef QIB_IDSTR -#define QIB_DRIVER_VERSION QIB_DRIVER_VERSION_BASE " " QIB_IDSTR -#else -#define QIB_DRIVER_VERSION QIB_DRIVER_VERSION_BASE -#endif - /* * If the unit is specified via open, HCA choice is fixed. If port is * specified, it's also fixed. Otherwise we try to spread contexts diff --git a/trunk/drivers/infiniband/hw/qib/qib_driver.c b/trunk/drivers/infiniband/hw/qib/qib_driver.c index 5423edcab51f..e41e7f7fc763 100644 --- a/trunk/drivers/infiniband/hw/qib/qib_driver.c +++ b/trunk/drivers/infiniband/hw/qib/qib_driver.c @@ -46,7 +46,7 @@ * The size has to be longer than this string, so we can append * board/chip information to it in the init code. */ -const char ib_qib_version[] = QIB_DRIVER_VERSION "\n"; +const char ib_qib_version[] = QIB_IDSTR "\n"; DEFINE_SPINLOCK(qib_devs_lock); LIST_HEAD(qib_dev_list); @@ -65,7 +65,6 @@ MODULE_PARM_DESC(compat_ddr_negotiate, MODULE_LICENSE("Dual BSD/GPL"); MODULE_AUTHOR("QLogic "); MODULE_DESCRIPTION("QLogic IB driver"); -MODULE_VERSION(QIB_DRIVER_VERSION); /* * QIB_PIO_MAXIBHDR is the max IB header size allowed for in our diff --git a/trunk/drivers/infiniband/hw/qib/qib_keys.c b/trunk/drivers/infiniband/hw/qib/qib_keys.c index 81c7b73695d2..e9486c74c226 100644 --- a/trunk/drivers/infiniband/hw/qib/qib_keys.c +++ b/trunk/drivers/infiniband/hw/qib/qib_keys.c @@ -186,9 +186,8 @@ int qib_lkey_ok(struct qib_lkey_table *rkt, struct qib_pd *pd, goto bail; off = sge->addr - mr->user_base; - if (unlikely(sge->addr < mr->user_base || - off + sge->length > mr->length || - (mr->access_flags & acc) != acc)) + if (unlikely(sge->addr < mr->iova || off + sge->length > mr->length || + (mr->access_flags & acc) == 0)) goto bail; if (unlikely(!atomic_inc_not_zero(&mr->refcount))) goto bail; diff --git a/trunk/drivers/infiniband/hw/qib/qib_verbs.c b/trunk/drivers/infiniband/hw/qib/qib_verbs.c index ba51a4715a1d..fc9b205c2412 100644 --- a/trunk/drivers/infiniband/hw/qib/qib_verbs.c +++ b/trunk/drivers/infiniband/hw/qib/qib_verbs.c @@ -2224,7 +2224,7 @@ int qib_register_ib_device(struct qib_devdata *dd) ibdev->dma_ops = &qib_dma_mapping_ops; snprintf(ibdev->node_desc, sizeof(ibdev->node_desc), - "QLogic Infiniband HCA %s", init_utsname()->nodename); + QIB_IDSTR " %s", init_utsname()->nodename); ret = ib_register_device(ibdev, qib_create_port_files); if (ret) diff --git a/trunk/drivers/infiniband/ulp/srp/ib_srp.c b/trunk/drivers/infiniband/ulp/srp/ib_srp.c index 1b5b0c730054..ac66e6b43ee2 100644 --- a/trunk/drivers/infiniband/ulp/srp/ib_srp.c +++ b/trunk/drivers/infiniband/ulp/srp/ib_srp.c @@ -638,9 +638,9 @@ static void srp_reset_req(struct srp_target_port *target, struct srp_request *re struct scsi_cmnd *scmnd = srp_claim_req(target, req, NULL); if (scmnd) { + srp_free_req(target, req, scmnd, 0); scmnd->result = DID_RESET << 16; scmnd->scsi_done(scmnd); - srp_free_req(target, req, scmnd, 0); } }