iser-target: Use single CQ for TX and RX

Using TX and RX CQs attached to the same vector might
create a throttling effect coming from the serial processing
of a work-queue. Use one CQ instead, it will do better in interrupt
processing and it provides a simpler code. Also, We get rid of
redundant isert_rx_wq.

Next we can remove the atomic post_send_buf_count from the IO path.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
diff --git a/drivers/infiniband/ulp/isert/ib_isert.h b/drivers/infiniband/ulp/isert/ib_isert.h
index 3f93cb0..5c1a31e 100644
--- a/drivers/infiniband/ulp/isert/ib_isert.h
+++ b/drivers/infiniband/ulp/isert/ib_isert.h
@@ -163,20 +163,16 @@
  * struct isert_comp - iSER completion context
  *
  * @device:     pointer to device handle
- * @rx_cq:      RX completion queue
- * @tx_cq:      TX completion queue
+ * @cq:         completion queue
  * @active_qps: Number of active QPs attached
  *              to completion context
- * @rx_work:    RX work handle
- * @tx_work:    TX work handle
+ * @work:       completion work handle
  */
 struct isert_comp {
-	struct isert_device      *device;
-	struct ib_cq		*rx_cq;
-	struct ib_cq		*tx_cq;
+	struct isert_device     *device;
+	struct ib_cq		*cq;
 	int                      active_qps;
-	struct work_struct	 rx_work;
-	struct work_struct	 tx_work;
+	struct work_struct	 work;
 };
 
 struct isert_device {