RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC
authorDon Wood <donald.e.wood@intel.com>
Sun, 6 Sep 2009 03:36:37 +0000 (20:36 -0700)
committerRoland Dreier <rolandd@cisco.com>
Sun, 6 Sep 2009 03:36:37 +0000 (20:36 -0700)
The routine to allocate a cqp request is not called from process
context code.  Since it is not OK to sleep, it needs to use GFP_ATOMIC
not GFP_KERNEL.

Signed-off-by: Don Wood <donald.e.wood@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/nes/nes_utils.c

index a282031d15c7088726c2d1834de8f5fd43775973..b34072b04377316932bc83c66edc1e15730563db 100644 (file)
@@ -548,7 +548,7 @@ struct nes_cqp_request *nes_get_cqp_request(struct nes_device *nesdev)
                spin_unlock_irqrestore(&nesdev->cqp.lock, flags);
        }
        if (cqp_request == NULL) {
-               cqp_request = kzalloc(sizeof(struct nes_cqp_request), GFP_KERNEL);
+               cqp_request = kzalloc(sizeof(struct nes_cqp_request), GFP_ATOMIC);
                if (cqp_request) {
                        cqp_request->dynamic = 1;
                        INIT_LIST_HEAD(&cqp_request->list);