Commit | Line | Data |
---|---|---|
1efd54ea AP |
1 | /* |
2 | * u_f.c -- USB function utilities for Gadget stack | |
3 | * | |
4 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. | |
5 | * http://www.samsung.com | |
6 | * | |
7 | * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com> | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU General Public License version 2 as | |
11 | * published by the Free Software Foundation. | |
12 | */ | |
13 | ||
1efd54ea AP |
14 | #include "u_f.h" |
15 | ||
16 | struct usb_request *alloc_ep_req(struct usb_ep *ep, int len, int default_len) | |
17 | { | |
18 | struct usb_request *req; | |
19 | ||
20 | req = usb_ep_alloc_request(ep, GFP_ATOMIC); | |
21 | if (req) { | |
22 | req->length = len ?: default_len; | |
23 | req->buf = kmalloc(req->length, GFP_ATOMIC); | |
24 | if (!req->buf) { | |
25 | usb_ep_free_request(ep, req); | |
26 | req = NULL; | |
27 | } | |
28 | } | |
29 | return req; | |
30 | } | |
0700faaf | 31 | EXPORT_SYMBOL_GPL(alloc_ep_req); |