summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFaisal Latif <faisal.latif@intel.com>2011-09-26 05:33:44 +0400
committerRoland Dreier <roland@purestorage.com>2011-10-10 21:51:21 +0400
commit6224c7eeff586e9dbf51b872d7e0bae291fa00ed (patch)
treeacdc9b15f77f440e53c4fcbc1aed592667857e8a
parentbab3a9f43f211554626e189519b91ab9ef952f2d (diff)
downloadlinux-6224c7eeff586e9dbf51b872d7e0bae291fa00ed.tar.xz
RDMA/nes: Print IP address for critcal errors
Print the IP address of the remote host when a critical asynchronous event is received. Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: Faisal Latif <Faisal.Latif@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/hw/nes/nes_hw.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
index 43bebe805d2e..f85ccbad8fa2 100644
--- a/drivers/infiniband/hw/nes/nes_hw.c
+++ b/drivers/infiniband/hw/nes/nes_hw.c
@@ -110,6 +110,14 @@ static unsigned char *nes_tcp_state_str[] = {
};
#endif
+static inline void print_ip(struct nes_cm_node *cm_node)
+{
+ unsigned char *rem_addr;
+ if (cm_node) {
+ rem_addr = (unsigned char *)&cm_node->rem_addr;
+ printk(KERN_ERR PFX "Remote IP addr: %pI4\n", rem_addr);
+ }
+}
/**
* nes_nic_init_timer_defaults
@@ -3694,6 +3702,7 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
case NES_AEQE_AEID_ROE_INVALID_RDMA_WRITE_OR_READ_RESP:
printk(KERN_ERR PFX "QP[%u] async_event_id=0x%04X IB_EVENT_QP_FATAL\n",
nesqp->hwqp.qp_id, async_event_id);
+ print_ip(nesqp->cm_node);
if (!atomic_read(&nesqp->close_timer_started))
nes_terminate_connection(nesdev, nesqp, aeqe, IB_EVENT_QP_FATAL);
break;