Hi, I'm trying to debug an infiniband problem and so I add several printk's to the code to trace it. Now I have the problem that those printk's cause a general protection fault. I only need to know the address of qp->s_cur_sge->sge.vaddr. Any idea how a printk could cause this error and how to workaround it? Thanks in advance for any help, Bernd static int ipath_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, struct ib_send_wr **bad_wr) { struct ipath_qp *qp = to_iqp(ibqp); int err = 0; /* Check that state is OK to post send. */ if (!(ib_ipath_state_ops[qp->state] & IPATH_POST_SEND_OK)) { *bad_wr = wr; err = -EINVAL; goto bail; } printk ("%s():%d: addr = %p\n", __func__, __LINE__, (u32 *) qp->s_cur_sge->sge.vaddr); Starting Infiniband initialization: [ 96.731281] general protection fault: 0000 [1] SMP Entering kdb (current=0xffff81007c17b140, pid 2421) on processor 0 Oops: <NULL> due to oops @ 0xffffffff88073c70 r15 = 0xffff81007ddd5cf8 r14 = 0xffff810078223b50 r13 = 0x0000000000000000 r12 = 0xffff810119c3b238 rbp = 0xffff810078223b30 rbx = 0xffff81007d674bd0 r11 = 0x0000000000000006 r10 = 0x0000000000000000 r9 = 0x0000000000000000 r8 = 0x0000000000000000 rax = 0x5a5a5a5a5a5a5a5a rcx = 0x0000000000000001 rdx = 0x00000000000000fa rsi = 0xffffffff8807aac0 rdi = 0xffffffff88080eab orig_rax = 0xffffffffffffffff rip = 0xffffffff88073c70 cs = 0x0000000000000010 eflags = 0x0000000000010002 rsp = 0xffff810078223b00 ss = 0x0000000000000018 ®s = 0xffff810078223a68 [0]kdb> bt Stack traceback for pid 2421 0xffff81007c17b140 2421 19 1 0 R 0xffff81007c17b400 *ipoib rsp rip Function (args) 0xffff810078223ae8 0xffffffff88073c70 [ib_ipath]ipath_post_send+0x53 0xffff810078223b38 0xffffffff880efa4b [ib_mad]ib_send_mad+0x10c -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ