IB/srpt: Fix the RDMA completion handlers
Avoid that the following kernel crash is triggered when processing
an RDMA completion:
BUG: unable to handle kernel paging request at
0000000100000198
IP: [<
ffffffff810a4ea2>] __lock_acquire+0xa2/0x560
Call Trace:
[<
ffffffff810a53c2>] lock_acquire+0x62/0x80
[<
ffffffff8151bd33>] _raw_spin_lock_irqsave+0x43/0x60
[<
ffffffffa04fd437>] srpt_rdma_read_done+0x57/0x120 [ib_srpt]
[<
ffffffffa0144dd3>] __ib_process_cq+0x43/0xc0 [ib_core]
[<
ffffffffa0145115>] ib_cq_poll_work+0x25/0x70 [ib_core]
[<
ffffffff8107184d>] process_one_work+0x1bd/0x460
[<
ffffffff81073148>] worker_thread+0x118/0x420
[<
ffffffff81078454>] kthread+0xe4/0x100
[<
ffffffff8151cbbf>] ret_from_fork+0x3f/0x70
Fixes: commit
59fae4deaad3 ("IB/srpt: chain RDMA READ/WRITE requests").
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>