|
@@ -719,7 +719,7 @@ static struct srpt_ioctx **srpt_alloc_ioctx_ring(struct srpt_device *sdev,
|
|
|
WARN_ON(ioctx_size != sizeof(struct srpt_recv_ioctx)
|
|
|
&& ioctx_size != sizeof(struct srpt_send_ioctx));
|
|
|
|
|
|
- ring = kmalloc_array(ring_size, sizeof(ring[0]), GFP_KERNEL);
|
|
|
+ ring = kvmalloc_array(ring_size, sizeof(ring[0]), GFP_KERNEL);
|
|
|
if (!ring)
|
|
|
goto out;
|
|
|
for (i = 0; i < ring_size; ++i) {
|
|
@@ -733,7 +733,7 @@ static struct srpt_ioctx **srpt_alloc_ioctx_ring(struct srpt_device *sdev,
|
|
|
err:
|
|
|
while (--i >= 0)
|
|
|
srpt_free_ioctx(sdev, ring[i], dma_size, dir);
|
|
|
- kfree(ring);
|
|
|
+ kvfree(ring);
|
|
|
ring = NULL;
|
|
|
out:
|
|
|
return ring;
|
|
@@ -758,7 +758,7 @@ static void srpt_free_ioctx_ring(struct srpt_ioctx **ioctx_ring,
|
|
|
|
|
|
for (i = 0; i < ring_size; ++i)
|
|
|
srpt_free_ioctx(sdev, ioctx_ring[i], dma_size, dir);
|
|
|
- kfree(ioctx_ring);
|
|
|
+ kvfree(ioctx_ring);
|
|
|
}
|
|
|
|
|
|
/**
|